Commit Graph

  • fb76a024a3 Minor API doc fixes sent off-list from brickviking. drh 2025-06-26 15:41:43 +00:00
  • 981022b7ff Minor API doc fixes sent off-list from brickviking. stephan 2025-06-25 20:42:40 +00:00
  • a67c71224f Similar fix to the previous check-in, but this time for sqlite3_preupdate_new(). drh 2025-06-24 18:27:59 +00:00
  • 66cd200ede Range check the column index on the sqlite3_preupdate_old() interface and return SQLITE_MISUSE if too large. [forum:/forumpost/b617e497287235d0|Forum post b617e49728]. drh 2025-06-24 15:58:32 +00:00
  • 513fff88c4 API doc typo fixes and one rephrasing improvement from brickviking. stephan 2025-06-24 07:38:52 +00:00
  • fe182f74b2 Improve some of the error messages emitted by fts5 when it encounters corruption. dan 2025-06-23 19:38:22 +00:00
  • b1560be826 Fix an SQL typo introduced by the previous check-in. drh 2025-06-23 19:00:30 +00:00
  • 28789029ee Escape the "_" character in LIKE patterns in the CLI. [forum:/forumpost/6a89702f5d|Forum post 6a89702f5d]. drh 2025-06-23 16:51:33 +00:00
  • f453e8d84e Fix a harmless compiler warning injected by [c978aed3b6f82b3d]. drh 2025-06-23 13:42:59 +00:00
  • 4c1c400d64 Improved "statement aborts at ..." log-file messages that identify the trigger that caused the abort. drh 2025-06-23 13:28:13 +00:00
  • 87c807c6dd Add the --disable-rpath configure script flag to address [forum:13cac3b56516f849 | forum post 13cac3b56516f849]. stephan 2025-06-22 22:48:11 +00:00
  • b5aa9593ac API doc typo fixes from brickviking. stephan 2025-06-22 12:04:47 +00:00
  • 5806a922ba Minor JS test cleanups prompted by a linter. stephan 2025-06-21 16:33:05 +00:00
  • 427d2cd57d Remove some duplicated JS tests. stephan 2025-06-21 16:18:23 +00:00
  • db37e6097c Reduce the maximum --size flag for JS kvvfs speedtest1 from 4 to 2, as --size 3 and 4 are overflowing the kvvfs storage limits. stephan 2025-06-21 16:02:20 +00:00
  • 6fcb7f22a1 Give oo1.Stmt.get() similar treatment to [8c187140a60b]. This is an internal change only - the API is unaffected. stephan 2025-06-21 15:58:20 +00:00
  • 2f7f948fa7 Extend the SEE-via-kvvfs tests to include all three key types. stephan 2025-06-21 15:38:59 +00:00
  • 0cdde5b44f Rework how JS's oo1.DB.exec() flags its Stmt objects to make certain Stmt APIs illegal (i.e. throwing) if called while that Stmt is being step()ped by DB.exec() (which can happen via client-provided per-result-row callbacks). This is an internal change only - the API is unaffected. Remove some unrelated dead code. stephan 2025-06-21 14:38:53 +00:00
  • a0c6de56ba Numerous small doc typo from BrickViking. stephan 2025-06-21 06:07:13 +00:00
  • b68d63158a Enhance sqlite3BtreeSetPageSize() so that it detects early if no changes are needed and exists with SQLITE_OK. drh 2025-06-20 13:12:55 +00:00
  • 59de42763f Fix an out-of-order local variable declaration in ext/misc/fileio.c. drh 2025-06-19 20:19:12 +00:00
  • 37794b4ad0 Improve the accuracy of sqlite3BtreeRowCountEst(). drh 2025-06-19 20:00:37 +00:00
  • 397b82cf0f Generalize the indexCellCompare() so that works on any index page, not just the current page that a cursor is pointing to. drh 2025-06-19 19:33:06 +00:00
  • a231b5d192 Cherry-pick of documentation updates from trunk - no code changes. drh 2025-06-19 13:48:37 +00:00
  • 92d1bec584 A slight doc rephrasing for clarity, suggested in the forum. stephan 2025-06-19 12:35:30 +00:00
  • a5c484b432 Doc typo fixes from [forum:0bce273669 | forum post 0bce273669]. stephan 2025-06-19 10:46:39 +00:00
  • 64159096b8 Expose the column metadata APIs to WASM (which does not require a non-default sqlite3.c build, contrary to my prior mistaken claims). This adds only 424 bytes to sqlite3.wasm and 660 bytes to sqlite3.js. stephan 2025-06-19 10:25:50 +00:00
  • ab9c91ae82 Extend the pedantic enforcement of type to VIRTUAL columns. drh 2025-06-18 19:04:28 +00:00
  • bcf25e7129 Enforce judgmental typing on STORED generated columns for STRICT tables. [forum:/forumpost/6caf195248a849e4|Forum post 6caf195248]. drh 2025-06-18 16:17:00 +00:00
  • 2be0a700ff Export the column-metadata APIs to WASM. Doing so requires a non-default build of sqlite3.c, so this is a proof-of-concept branch saved just in case SQLITE_ENABLE_COLUMN_METADATA ever becomes the default for sqlite3.c. wasm-column-metadata stephan 2025-06-18 15:37:04 +00:00
  • 3a26f72e20 Add the --enable-column-metadata flag to the configure script (off by default). It's only available in the canonical build, not the autoconf build, because it changes how sqlite3.c gets generated. stephan 2025-06-18 15:22:50 +00:00
  • d961d49971 Eliminate configure/build discrepancies in how 'make tclextension-...' works vs other makefile-side handling of the extension, conforming to the former. stephan 2025-06-18 14:17:18 +00:00
  • 9a9140ba59 Change the definition of SQLITE_DYNAMIC to a function that has exactly the same type as sqlite3_destructor_type, in an effort to work around possible legacy compiler bugs. drh 2025-06-18 14:14:46 +00:00
  • 12bd8ea09a Add the --tclConfig.sh FILE flag to buildtclext.tcl to eliminate the discrepancy between the configure-time-detected tclConfig.sh and the one auto-detected by the tclextension family of makefile targets. Add the tclextension-all target to run all of the various tclextension-... targets in their natural order to facilitate testing changes like this one. Update the --help text to note that --with-tclsh should only be used if there's a specific need, and that --with-tcl is generall preferred. This is in response to [https://github.com/termux/termux-packages/issues/23268 | Termux ticket 23268]. stephan 2025-06-18 11:11:30 +00:00
  • 1e9baaf743 tea: remove the vsatisfies 8.6- enforcement from the extension because at least one platform with tcl 8.6 is inexplicably failing it. [forum:fde857fb8101a4be | Forum post fde857fb8101a4be] stephan 2025-06-17 20:50:51 +00:00
  • af3f9228a9 Avoid writing frames with no checksums into the wal file if a savepoint is rolled back after dirty pages have already been spilled into the wal file. Also fix a corner case in the previous check-in on this branch. drh 2025-06-17 19:32:23 +00:00
  • df8aa3745a Avoid writing frames with no checksums into the wal file if a savepoint is rolled back after dirty pages have already been spilled into the wal file. drh 2025-06-17 19:10:33 +00:00
  • 110055cd6c Fix a corner-case for [9441fff52cc4e19c]. drh 2025-06-17 18:57:07 +00:00
  • 79a746b1f2 Update walcksum.test so that it works with SQLITE_DEFAULT_AUTOVACUUM=1 builds. forum-b490f726db-fix dan 2025-06-17 18:17:09 +00:00
  • 9ebf9d358b Extend [b5c6cb13cff5] to use a wildcard on darwin* because some OSes report a version number in the suffix. [forum:0c4bbc2962dfb06e | Forum post 0c4bbc2962dfb06e]. stephan 2025-06-17 17:15:12 +00:00
  • e68aa0e44b Minor proj.tcl portability fixes and cleanups suggested in [forum:7b218c3c9f|forum post 7b218c3c9f]. Tested on Linux, Msys, Cygwin, and Haiku. stephan 2025-06-17 14:56:30 +00:00
  • 6e1c2f0483 proj.tcl portability fixes and cleanups suggested in [forum:7b218c3c9f|forum post 7b218c3c9f]. Branching so that it can be tested on msys/cygwin/haiku before committing to it. linux-named-apple stephan 2025-06-17 14:37:31 +00:00
  • 1ea6a53762 Avoid writing frames with no checksums into the wal file if a savepoint is rolled back after dirty pages have already been spilled into the wal file. Possible fix for [forum:/forumpost/b490f726db | forum post b490f726db]. dan 2025-06-17 11:36:39 +00:00
  • 6460f4d474 Fix an issue going back to version 3.39.0 with transitive IS constraints in queries that make use of RIGHT JOIN. drh 2025-06-16 18:04:21 +00:00
  • 86d9c2d9f3 Fix an issue going back to version 3.39.0 with transitive IS constraints in queries that make use of RIGHT JOIN. Problem reported by [forum:/forumpost/68f29a2005|forum post 68f29a2005]. drh 2025-06-16 17:36:11 +00:00
  • d3a13f7d25 Improved debugging output for the transitive constraint optimization. drh 2025-06-16 16:07:14 +00:00
  • 6ed5aa4b9b Make the show-%p-az-zero hack of the previous check-in configurable at run-time using the 0x100000 bit of either .treetrace or .wheretrace. As before, this is all a no-op except for debugging builds. drh 2025-06-16 15:34:26 +00:00
  • 67f708298f Add an "#if 0" that can be changed to "1" to cause all %p output to render as 0, thus making comparisons of .treetrace and .wheretrace output easier. drh 2025-06-16 13:51:09 +00:00
  • 0b8694f96d Generalize the indexCellCompare() so that works on any index page, not just the current page that a cursor is pointing to. flex-search drh 2025-06-14 18:02:12 +00:00
  • 150eebaf2c Fix issues with expression indexes for flex-search queries. drh 2025-06-14 14:46:39 +00:00
  • 305127d10e Add the ability to disable the Flex-Search optimization using SQLITE_TESTCTRL_OPTIMIZATION. drh 2025-06-14 13:18:58 +00:00
  • 64fd6217a3 Generates code to implement either an index search or a table scan, according to the results of the OP_IfUseIndex opcode. But does not always work. And the OP_IfUseIndex opcode is currently an unconditional "yes". drh 2025-06-14 09:54:54 +00:00
  • 67ac07aed4 Further improvements to the EQP text for flex-search. drh 2025-06-13 11:08:30 +00:00
  • 6bf192bf08 Change the flex-search EQP message to be "SEARCH ... OR SCAN" as this seems less disruptive and more readable. drh 2025-06-13 00:50:14 +00:00
  • 16d8db494d Fix test cases on the expert extension. drh 2025-06-13 00:25:01 +00:00
  • 3bd21da146 Preliminary code generation for flex-search. Add a no-op IfUseIndex opcode as a placeholder. drh 2025-06-12 19:02:54 +00:00
  • 306749b8dd Merge latest trunk enhancements and fixes into the experimental flex-search branch. drh 2025-06-12 13:40:29 +00:00
  • 591d201df5 Have sqlite3_setlk_timeout() take the database handle mutex. This fixes an assert() failure that could occur if sqlite3_setlk_timeout() were called on a threadsafe handle. drh 2025-06-12 13:27:10 +00:00
  • 0e7d0e2490 Help ext/wasm 'make snapshot' find the wasm docs dir when it's run from outside of my usual checkout structure. stephan 2025-06-12 10:56:16 +00:00
  • 792d1d1b6d Have sqlite3_setlk_timeout() take the database handle mutex. This fixes an assert() failure that could occur if sqlite3_setlk_timeout() were called on a threadsafe handle. dan 2025-06-12 07:35:38 +00:00
  • a773b16b2f Fix a problem with UPDATEs on fts5 tables that contain blob values. drh 2025-06-11 17:24:46 +00:00
  • 6a5e74cbf0 Fix a problem with UPDATEs on fts5 tables that contain blob values. dan 2025-06-11 15:03:53 +00:00
  • 0810690f29 Increase the version number for this branch to 3.50.2. drh 2025-06-11 00:06:38 +00:00
  • b586004cc8 Fix the concat_ws() SQL function so that it includes empty strings in the concatenation. drh 2025-06-11 00:05:27 +00:00
  • 23e59b34e9 Fix the concat_ws() SQL function so that it includes empty strings in the concatenation. [forum:/forumpost/52503ac21d|Forum post 52503ac21d]. drh 2025-06-11 00:01:42 +00:00
  • 714426f62c Improved selection of the divisor when subdividing nested Bitvec objects. This fixes a potential stack overflow that can occur when the database size is within 60 pages of the maximum allowed by the file format. drh 2025-06-10 20:06:29 +00:00
  • a09a4fbac9 Improved selection of the divisor when subdividing nested Bitvec objects. This fixes a potential stack overflow that can occur when the database size is within 60 pages of the maximum allowed by the file format. drh 2025-06-10 19:52:21 +00:00
  • 6a23ff5a07 Minor corrections to the new Bitvec testing logic. drh 2025-06-10 18:26:09 +00:00
  • 5706b316c3 Enhancements to sqlite3BitvecBuiltinTest() that allow testing code to create very large Bitvec objects that do not use the linear array cross-check. drh 2025-06-10 17:22:53 +00:00
  • cc279d5bd7 Adjustments to ext/misc/fileio.c in an attempt to get it to build using mingw. drh 2025-06-10 16:56:02 +00:00
  • 90ba0d4995 Improved diagnostics for Bitvec: Add the sqlite3ShowBitvec() routine that can be called from a debugger (only available with SQLITE_DEBUG). Add new output opcodes for sqlite3BitvecBuiltinTest(). drh 2025-06-10 16:02:29 +00:00
  • f091f423ad Adjustments to ext/misc/fileio.c in an attempt to get it to build using mingw. drh 2025-06-09 22:38:34 +00:00
  • 59152c471a Initial implementation of sqlite3BtreeEstimatedPosition() with the est_rank() SQL function used for testing. drh 2025-06-09 16:32:26 +00:00
  • 1a6dfd2228 Query planner identifies loops where it might be advantageous to check the number of matching rows and fall back to a full table scan if the number of matching rows is large. drh 2025-06-07 16:45:05 +00:00
  • 4c323ba4be Remove unnecessary whitespace and otherwise improve comments in the wherecode.c module. No coding changes. drh 2025-06-06 23:10:18 +00:00
  • 368c549044 Update the "msort" function in Lemon so that it works with lists of any length, and also so that the sort is stable. This patch was motivated by [forum:/forumpost/63750d717c9ed961|forum post 63750d717c] but was independently developed, then tested by temporarily setting LISTSIZE to 2. drh 2025-06-06 23:02:03 +00:00
  • e7785c3b7d Update the reuse-schema branch to the 3.50.1 patch release. drh 2025-06-06 15:43:39 +00:00
  • 979a07af38 Version 3.50.1 version-3.50.1 drh 2025-06-06 14:52:32 +00:00
  • b1929b7117 Remove the clunky test_windirent.h and test_windirent.c files from src/ and replace them with a much cleaner and more compact ext/misc/windirent.h. drh 2025-06-05 20:12:41 +00:00
  • 6facd9566d Enhance the FSDIR virtual table with a new "level" column. The query planner knows how to optimize to avoid search deeper than the maximum requested level. drh 2025-06-05 18:28:54 +00:00
  • 36350af403 Fix harmless compiler warning introduced by the setlk-snapshot-fix merge. drh 2025-06-05 13:14:46 +00:00
  • d7cb1ea7ba Fixes to ensure SQLITE_ENABLE_SETLK_TIMEOUT builds use a blocking lock and do not call xSleep() when (a) opening a snapshot transaction, and (b) when blocked by another process running recovery. drh 2025-06-05 11:57:20 +00:00
  • 74db1f3235 Merge TEA README updates from [bf7be67e3f]. No code changes. stephan 2025-06-05 08:33:08 +00:00
  • af388ef35f tea build: add an info-exists check after a 'scan' call, as scan does not create its target vars on error. Problem reported at [forum:fde857fb8101a4be | forum post fde857fb8101a4be] and triggers when the 'vsatisfies' test for the host's Tcl version fails (so the build would fail anyway, but will fail more informatively with this fix). stephan 2025-06-04 18:40:03 +00:00
  • 26370358b6 tea build: add an info-exists check after a 'scan' call, as scan does not create its target vars on error. Problem reported at [forum:fde857fb8101a4be | forum post fde857fb8101a4be] and triggers when the 'vsatisfies' test for the host's Tcl version fails (so the build would fail anyway, but will fail more informatively with this fix). stephan 2025-06-04 18:34:20 +00:00
  • d282fbc59c Apply the duplicate 'export default' workaround to the (untested and unsupported) node-specific build rules in mkwasmbuilds.c to resolve a problem reported off-list by Thomas Steiner. stephan 2025-06-03 18:11:27 +00:00
  • a29b138692 Apply the duplicate 'export default' workaround to the (untested and unsupported) node-specific build rules in mkwasmbuilds.c to resolve a problem reported off-list by Thomas Steiner. stephan 2025-06-03 18:10:59 +00:00
  • d95ba2fb03 Relax query flattener constraint (3b) and thereby allow flattening the RHS of a LEFT JOIN even if the RHS contains a virtual table. This is a performance optimization that would not normally be found on a patch branch, but downstream needs it and does not want to wait on the next full release. drh 2025-06-03 17:46:24 +00:00
  • 464a15a92c Merge latest changes from the wal2 branch into this branch. dan 2025-06-03 14:19:49 +00:00
  • efa511f1a8 Merge latest trunk changes into this branch. dan 2025-06-03 14:15:20 +00:00
  • 1d151e6d25 Enhance sqlite3_rsync so that it works even if the replica database is initially malformed. drh 2025-06-03 10:49:51 +00:00
  • 9412d98419 Fix an off-by-one error in sqlite3_rsync. drh 2025-06-03 10:30:31 +00:00
  • df724c893a Fix an off-by-one error in sqlite3_rsync, reported in [forum:/forumpost/b6d78f60fc|forum post b6d78f60fc]. drh 2025-06-03 10:28:47 +00:00
  • 140748f949 Fix harmless compiler warning introduced by the setlk-snapshot-fix merge. drh 2025-06-03 10:18:54 +00:00
  • 1daead7a11 Fix JSONB edit so that when it is trying to reduce the size of an element it understands 0xf0 (8-byte) sizes. drh 2025-06-02 23:41:56 +00:00
  • 2bd9f69d40 Fix JSONB edit so that when it is trying to reduce the size of an element it understands 0xf0 (8-byte) sizes. drh 2025-06-02 23:34:42 +00:00
  • 333b07b18d Increase the version number to 3.51.0 drh 2025-06-02 18:58:42 +00:00
  • 9269b212bf Fixes to ensure SQLITE_ENABLE_SETLK_TIMEOUT builds use a blocking lock and do not call xSleep() when (a) opening a snapshot transaction, and (b) when blocked by another process running recovery. dan 2025-06-02 18:48:36 +00:00
  • 13efb2f676 Improve the accuracy of affinity and collating sequence analysis for NATURAL JOINs to the left of RIGHT JOINs where source tables are views or subqueries. drh 2025-06-02 18:42:49 +00:00
  • 69ce758efa Fix os_win.c so that SQLITE_ENABLE_SETLK_TIMEOUT=2 builds work on windows. setlk-snapshot-fix dan 2025-06-02 18:37:32 +00:00