1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-07-29 08:01:23 +03:00

Commit Graph

  • 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
  • 1b49d3de46 Merge latest trunk changes into this branch. mistake dan 2025-06-03 14:08:40 +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
  • 342ef63e63 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. Initial problem report in [forum:/forumpost/829306db47|forum post 829306db47]. drh 2025-06-02 18:34:17 +00:00
  • cfee69fbe4 Updates to new test cases to run with SQLITE_ENABLE_SETLK_TIMEOUT=2 builds. dan 2025-06-02 18:09:46 +00:00
  • eb9a145711 Merge trunk changes into this branch. dan 2025-06-02 17:44:10 +00:00
  • d84bbac8be Slight modernization of the TEA README.txt. stephan 2025-06-02 15:17:59 +00:00
  • a3fcd7c79e TEA: remove the stale man page and references to the MSC makefiles from the README.txt. Based on discussion at [forum:87e6660191a472c5 | forum post 87e6660191a472c5]. A couple of weeks ago we internally discussed pulling in the MSC makefiles from the 3.49 tree but they are stale and possibly unused, so opted against it for the time being. stephan 2025-06-02 15:10:41 +00:00
  • 8658a8df59 Remove an unnecessary parameter from sqlite3VdbeRecordUnpack(). Improved comments and assert()s on KeyInfo. drh 2025-06-02 13:54:33 +00:00
  • 7590bfd7fc Fix stale comments related to KeyInfo. Add new assert()s associated with memory management of KeyInfo. drh 2025-06-02 09:49:07 +00:00
  • 6510bebf48 Update the version number to 3.50.1 drh 2025-06-01 21:55:17 +00:00
  • 7c1d13bcd8 Fix an off-by-one error in the size computation of a vdbe-sorter. drh 2025-06-01 21:49:45 +00:00
  • d4c224b833 Fix an off-by-one error in the size computation of a vdbe-sorter. [forum:/forumpost/c1cc8b057a|Forum post c1cc8b057a]. Problem introduced by checkin [d4307a0d43f42e96]. drh 2025-06-01 21:38:35 +00:00
  • f18bf8997b Fix VACUUM so that it works even when ATTACH_WRITE is disabled. drh 2025-06-01 16:10:25 +00:00
  • c0190101d1 Enhance "box" and "column" mode formatting in the CLI to better deal with double-wide characters. drh 2025-05-31 20:51:42 +00:00
  • 977b0f8813 Update a few test scripts so that they run on windows. dan 2025-05-31 19:55:07 +00:00
  • ce3887bde4 Cherrypick obscure (fuzzer-generated) RIGHT JOIN bug fixes from trunk. drh 2025-05-31 18:46:44 +00:00
  • 0d3e5ca28e New makefile target "xdevtest" works like "releasetest" except that it omits the "verify-source" dependency so that it can be run with uncommitted changes in the source tree. drh 2025-05-31 18:26:37 +00:00
  • 51e3f855b8 Fix an affinity problem caused by a USING or NATURAL JOIN on the LHS of a FULL JOIN. [forum:/forumpost/5028c785b6|Forum post 5028c785b6]. dan 2025-05-31 18:16:21 +00:00
  • 5248693924 Relax query flattener constraint (3b) and thereby allow flattening the RHS of a LEFT JOIN even if the RHS contains a virtual table. This was previously disallowed by [9dbae1df75219e2a] as a performance optimization. It turns out that the constraint causes performance issues, and we do not have a record of any performance issue that it solves. drh 2025-05-31 16:17:14 +00:00
  • 420233e375 Fix assert() statements in os_unix.c and os_win.c. Allow walsetlk_recover.test to run in non-SQLITE_ENABLE_SNAPSHOT builds. dan 2025-05-31 15:10:41 +00:00
  • 1ff4233f90 Move a mis-located makefile comment block. stephan 2025-05-31 11:08:06 +00:00
  • 10206572b6 tcl extension: UDFs may now 'break' to return an SQL NULL. Add the (eval -asdict) flag to use a dict, instead of an array, for the eval row data. stephan 2025-05-31 11:02:06 +00:00
  • b504aab848 Add some missing UNUSED_PARAMETER() annotations to squelch downstream build warnings when using -Wextra -pedantic. stephan 2025-05-31 09:44:00 +00:00
  • d930d7ef14 Follow-up to the previous: The same optimization suppression needs to happen if the left-hand side is coming from a LEFT JOIN. drh 2025-05-30 22:58:09 +00:00
  • ded1959120 If blocking locks are enabled, avoid using the busy handler when blocked by another process running recovery. dan 2025-05-30 20:52:18 +00:00
  • dd16539e71 When synthesizing an ON constraint from a USING or NATURAL, if the left-hand side is coming from a RIGHT JOIN, be sure to set the EP_CanBeNull flag so that the optimizer knows to check for NULL even if the column has a NOT NULL constraint. Fix for the problem reported by [forum:/forumpost/4fc70203b61c7e12|forum post 4fc70203b61] drh 2025-05-30 19:55:46 +00:00
  • 88ed38ca6d Avoid invoking the busy-handler if a blocking lock times out while attempting to open a snapshot transaction. dan 2025-05-30 18:23:03 +00:00
  • 76473827ed Merge trunk into tcl-cw branch. tcl-cw stephan 2025-05-30 16:22:39 +00:00
  • f42ceb9075 Configure-related fixes and additions, most notably integration of self-tests for proj.tcl's APIs. Teaish make-install fixes based on the discussion in [forum:87e6660191a472c5 | forum thread 87e6660191a472c5]. stephan 2025-05-30 16:08:31 +00:00
  • 7ac10ec8b5 Random typo fixes in JNI docs. stephan 2025-05-30 15:46:52 +00:00