]> git.ipfire.org Git - thirdparty/sqlite.git/log
thirdparty/sqlite.git
8 hours agoPerformance improvement in floating-point conversions.
drh [Mon, 16 Feb 2026 11:14:59 +0000 (11:14 +0000)] 
Performance improvement in floating-point conversions.

FossilOrigin-Name: b5ebbd004183f81902fa79a143222204b33dbe1cacb918194556b8dac67bd567

25 hours agoAvoid the big power-of-ten lookup table. fp-perf
drh [Sun, 15 Feb 2026 18:41:29 +0000 (18:41 +0000)] 
Avoid the big power-of-ten lookup table.

FossilOrigin-Name: 245ac7d9ec61e14fcef13a731e290fc5e8979efef6f4345f875eab9b882b0713

45 hours agoFix to [9d3a12d3926d55ef] to force the static const string literal to
drh [Sat, 14 Feb 2026 22:04:53 +0000 (22:04 +0000)] 
Fix to [9d3a12d3926d55ef] to force the static const string literal to
have two-byte alignment.  Necessary to get that patch to work in Mac-ARM.

FossilOrigin-Name: a80c847169f307a4d2e524b6732ea557bf7f312f1a319d6c6c2e81adb0907596

46 hours agoAdd the "LLU" suffix to 64-bit integer constants, for portability to older
drh [Sat, 14 Feb 2026 21:47:08 +0000 (21:47 +0000)] 
Add the "LLU" suffix to 64-bit integer constants, for portability to older
compilers.

FossilOrigin-Name: 4bf08110662c4b8db9ee90ce34271890a62a469166ea292f7f782b84236531d4

46 hours agoFix to the generic version of the 128-bit multiple subroutine.
drh [Sat, 14 Feb 2026 21:31:31 +0000 (21:31 +0000)] 
Fix to the generic version of the 128-bit multiple subroutine.

FossilOrigin-Name: 9c3d09ee75beb26447161c0bf5ea252520a6ec051774f1a4e9f18204281d504f

47 hours agoAnother minor performance refinement.
drh [Sat, 14 Feb 2026 20:48:58 +0000 (20:48 +0000)] 
Another minor performance refinement.

FossilOrigin-Name: 9d3a12d3926d55efffdc84bff342bd1dbccd08426104aeb2d339b064bf6f02f4

2 days agoMinor corrections.
drh [Sat, 14 Feb 2026 19:42:55 +0000 (19:42 +0000)] 
Minor corrections.

FossilOrigin-Name: 93fdee20021b8cc2a113ea042fedbccd8b53b6aceeeb34c0810e6d3a5f106f07

2 days agoImproved comment. No code changes.
drh [Sat, 14 Feb 2026 19:36:41 +0000 (19:36 +0000)] 
Improved comment.  No code changes.

FossilOrigin-Name: c5a4da1bf7af8f8ec4b3273f88b09c01ce90986c8a5ce3d03319bd094706c411

2 days agoUse a precomputed table of 696 powers of 10 to improve the performance
drh [Sat, 14 Feb 2026 17:58:46 +0000 (17:58 +0000)] 
Use a precomputed table of 696 powers of 10 to improve the performance
of floating-point to decimal and decimal to floating-point conversions.

FossilOrigin-Name: 64d9b7becf2da8927024adda278e837a46837e46af3cff51bd54a183d1716750

3 days agoAdd new assert() statements to demonstrate that the complaint given in
drh [Fri, 13 Feb 2026 16:02:27 +0000 (16:02 +0000)] 
Add new assert() statements to demonstrate that the complaint given in
[forum:/forumpost/56ad8b632c|forum post 56ad8b632c] is not a real bug.

FossilOrigin-Name: d62999907d5f5987fe0030e1a4a7144c898e55595ac116eec966741a5099322b

3 days agoUse only a single bit, rather than a whole byte, to store infrequently
drh [Fri, 13 Feb 2026 12:20:57 +0000 (12:20 +0000)] 
Use only a single bit, rather than a whole byte, to store infrequently
accessed boolean values in the Parse object.

FossilOrigin-Name: e1bcd7e1cf6d6b1add49deac65e1b64bcae52fbbad094e561846bb92959db76a

3 days agoAdd a "const" to avoid a harmless false-positive compiler warning.
drh [Fri, 13 Feb 2026 11:40:28 +0000 (11:40 +0000)] 
Add a "const" to avoid a harmless false-positive compiler warning.

FossilOrigin-Name: d44af6cc093ab6b5a196249a84681148bbae3f624abf4bc8cc42c88f3f7320b2

4 days agoRespect "const" strings in the sqlite3ShadowTableName() function.
drh [Thu, 12 Feb 2026 18:15:26 +0000 (18:15 +0000)] 
Respect "const" strings in the sqlite3ShadowTableName() function.
Patch moved to trunk, where it was intended.

FossilOrigin-Name: 51b5afdfac401cbf74af6383d4559439cb6defe2ce23ebcf7ed9a5b526a07b51

5 days agoMinor performance enhancement to floating-point rendering.
drh [Wed, 11 Feb 2026 19:42:46 +0000 (19:42 +0000)] 
Minor performance enhancement to floating-point rendering.

FossilOrigin-Name: 38d8c0d8a0b0e9990ba7bdcce979f2824ffee22a083cb788a75917628b1eb559

6 days agoCorrection to date/time computations associated with the timestamp-vfs.
drh [Tue, 10 Feb 2026 19:33:11 +0000 (19:33 +0000)] 
Correction to date/time computations associated with the timestamp-vfs.

FossilOrigin-Name: b67889e4f17c3280f839ee7045256cc47d6ce3ed60d880925e3d30f9ebbcf3ff

6 days agoMinor tweaks to the star-query optimization in the query planner.
drh [Tue, 10 Feb 2026 18:28:41 +0000 (18:28 +0000)] 
Minor tweaks to the star-query optimization in the query planner.

FossilOrigin-Name: 5021e114b251467fee6a39749c88ec581ee1f7d50093b02a44dc300db0c0a1c5

6 days agoImmediately reset all pending prepared statements on any call to
drh [Mon, 9 Feb 2026 19:58:04 +0000 (19:58 +0000)] 
Immediately reset all pending prepared statements on any call to
sqlite3_set_authorizer(), even if the authorizer is being disabled.

FossilOrigin-Name: 5c0468acd1a12f7fd01b9974250fb42c5811939dc2319729a1ef93c073dc0071

7 days agoDo not allow table-function argument expressions on the RHS of an OUTER join to refer...
dan [Mon, 9 Feb 2026 14:45:17 +0000 (14:45 +0000)] 
Do not allow table-function argument expressions on the RHS of an OUTER join to refer to FROM clause elements to their right.

FossilOrigin-Name: 021e48e28931afd781e76db6293e60fd2ffb8377cb1051e8b802f2743a10fa5d

8 days agoFix a method name typo in test-only code which could hide the triggering error condition.
stephan [Sun, 8 Feb 2026 12:13:19 +0000 (12:13 +0000)] 
Fix a method name typo in test-only code which could hide the triggering error condition.

FossilOrigin-Name: b2c1a4184c3de5a26524906ba04ce6c9c80b27f8d89c40fde7bbc8f5a9f99e34

8 days agoJS doc touchups.
stephan [Sun, 8 Feb 2026 05:08:30 +0000 (05:08 +0000)] 
JS doc touchups.

FossilOrigin-Name: dcd22fd6d135892852358c8cfb5049dce4a1410dbc0f28cafc8b340f69350165

9 days agoImproved output from calls to sqlite3ShowSrcList() made from a symbolic debugger.
drh [Sat, 7 Feb 2026 13:41:05 +0000 (13:41 +0000)] 
Improved output from calls to sqlite3ShowSrcList() made from a symbolic debugger.

FossilOrigin-Name: 241d23f8d36a0d4d0bcf058c5c1ff6144cfe7dd33460e8d94de5f0daf56aaf50

10 days agoDo a better job of not generating unnecessary Bloom filters associated
drh [Thu, 5 Feb 2026 21:14:34 +0000 (21:14 +0000)] 
Do a better job of not generating unnecessary Bloom filters associated
with IN operators.

FossilOrigin-Name: 3861df5c127f82becea80c48c547de8ed0d01eebcf6a6a9d7f234dde31f50394

11 days agoFix harmless compiler warning when the CLI is compiled with
drh [Thu, 5 Feb 2026 13:03:04 +0000 (13:03 +0000)] 
Fix harmless compiler warning when the CLI is compiled with
SQLITE_OMIT_PROGRESS_CALLBACK.

FossilOrigin-Name: d6150c813ce43e15285a07d24135b10a7c254b3c175dee4f61c3b6a6ce91c29f

11 days agoDisplay scanstatus results in neat columns.
drh [Wed, 4 Feb 2026 20:51:27 +0000 (20:51 +0000)] 
Display scanstatus results in neat columns.

FossilOrigin-Name: c476d956d0bd3065cf894de6f9d393b999ff7d2268a35f01a6d88804789ab58f

12 days agoImproved output for ".scanstatus est" in the CLI.
drh [Wed, 4 Feb 2026 18:10:49 +0000 (18:10 +0000)] 
Improved output for ".scanstatus est" in the CLI.

FossilOrigin-Name: e6902937ecdbeb449986469859b46631272fb0a9e7e1c31adea14cff072b6d67

12 days agoImproved display of scan-status estimates. scanstatus-improvements
drh [Wed, 4 Feb 2026 17:52:50 +0000 (17:52 +0000)] 
Improved display of scan-status estimates.

FossilOrigin-Name: 70ef095740c62081090147bb1900c843cb31864e93a8af518ff48855f1175717

12 days agoRender scan-status values with 3 or 4 significant digits only, for
drh [Wed, 4 Feb 2026 13:35:32 +0000 (13:35 +0000)] 
Render scan-status values with 3 or 4 significant digits only, for
improved readability.

FossilOrigin-Name: d9102ff0c43a496e782b0a3ec86ba7cd45f8118a07f15a4f3d58b399466d6cf2

12 days agoFix scanstatus output in QRF so that it shows the total number of cycles
drh [Wed, 4 Feb 2026 11:51:20 +0000 (11:51 +0000)] 
Fix scanstatus output in QRF so that it shows the total number of cycles
on the "QUERY PLAN" line.

FossilOrigin-Name: 611cef0ec281ae06eac97df8048d617fd445c348c2fc1673202b9cc081a365db

13 days agoImprove the query planner by reducing the estimated number of output rows
drh [Tue, 3 Feb 2026 17:21:59 +0000 (17:21 +0000)] 
Improve the query planner by reducing the estimated number of output rows
for each stage of a join if there are LIKE, GLOB, REGEXP, or MATCH
constraints on the table where the pattern string is a constant.  The
reduction in the output row estimate is proportional to the length of
the pattern string.

FossilOrigin-Name: 6852843e6aa23051de0884593ce64b96a16f16c4d63b222bd324297581f7cf75

13 days agoMinor change to test/dotcmd01.test so that it works with STAT4.
drh [Tue, 3 Feb 2026 17:07:28 +0000 (17:07 +0000)] 
Minor change to test/dotcmd01.test so that it works with STAT4.

FossilOrigin-Name: 8aaf5b6b6c3d71789eebd2b8f440dd2fdaad2ef2adc9c7b2b019f08853d0b195

13 days agoImproved comments on this enhancement. No code changes. prune-by-like-glob
drh [Tue, 3 Feb 2026 16:29:14 +0000 (16:29 +0000)] 
Improved comments on this enhancement.  No code changes.

FossilOrigin-Name: 510a6738e5d186a74a45fa7385f4722f4e090d85562f259b02c49393ca56860b

13 days agoRefactor the implementation of this enhancement to keep all the code inside
drh [Tue, 3 Feb 2026 14:00:28 +0000 (14:00 +0000)] 
Refactor the implementation of this enhancement to keep all the code inside
the query planner, not leaking out into SQL function implementations.
Expand the enhancement to cover MATCH and REGEXP operators and overloads
of LIKE and GLOB.

FossilOrigin-Name: 96f8ce225ee863c6dfe0df2d10da27a35407128d7c4691ddb927401465047a6e

13 days agoWhen reducing the truth probability of a LIKE/GLOB constraint, only consider
drh [Mon, 2 Feb 2026 20:54:28 +0000 (20:54 +0000)] 
When reducing the truth probability of a LIKE/GLOB constraint, only consider
non-wildcard characters in the pattern.

FossilOrigin-Name: 2ba8fc290dbc80d159a217d745d8bd62371c305443d5aed10bfcf34cc98d3985

2 weeks agoDo not reduce the estimated truth probability of LIKE and GLOB operators
drh [Mon, 2 Feb 2026 16:03:24 +0000 (16:03 +0000)] 
Do not reduce the estimated truth probability of LIKE and GLOB operators
by quite so much.  Fix a single test case whose output changed.

FossilOrigin-Name: fdebbedbd9a99165359761106cdc76d327f74043b22806b7bd96402fbed36f14

2 weeks agoMerge the latest trunk enhancements into the prune-by-like-glob branch.
drh [Mon, 2 Feb 2026 14:24:47 +0000 (14:24 +0000)] 
Merge the latest trunk enhancements into the prune-by-like-glob branch.

FossilOrigin-Name: d9d3d3a807710957f35b023ddc89cb80eea529f654ce3aa0f9aafe6c15b3ce88

2 weeks agoUpdate session module test code to correctly use Tcl_Size instead of int.
dan [Mon, 2 Feb 2026 11:42:19 +0000 (11:42 +0000)] 
Update session module test code to correctly use Tcl_Size instead of int.

FossilOrigin-Name: 619060c2267a889089bf5328ba83640806688164a096df8582a5cf91b173741d

2 weeks agoAdd the "--timeout SECONDS" option to the ".progress" command in the CLI.
drh [Sun, 1 Feb 2026 21:10:04 +0000 (21:10 +0000)] 
Add the "--timeout SECONDS" option to the ".progress" command in the CLI.

FossilOrigin-Name: 8eb5c88aeb37279f68f5bb0b268339a8f6fb0b927b1e398ac4c83bf42c281273

2 weeks agoEnhance the ".timer" command in the CLI to accept the "once" argument, and
drh [Sun, 1 Feb 2026 15:58:37 +0000 (15:58 +0000)] 
Enhance the ".timer" command in the CLI to accept the "once" argument, and
so that it leaves its last real-time result in the $TIMER variable.  Also
fix a harmless warning from an earlier check-in.

FossilOrigin-Name: 8ad7dffc261cbb3f7c9b4d38b04282c805c1c047fb431076f85e577c81f21574

2 weeks agoAn experimental query-planner change that reduces the estimated number
drh [Sun, 1 Feb 2026 00:37:04 +0000 (00:37 +0000)] 
An experimental query-planner change that reduces the estimated number
of output rows for FROM clause terms that are restricted by a LIKE or
GLOB operator, based on the number of bytes in the pattern.  The idea is
that longer patterns will match fewer records and hence should reduce the
estimated output count.  The implementation is not workable as it stands
now.  This is just a crazy idea, saved for future reference.

FossilOrigin-Name: 97bcb56a208af0687750a6438981bbfe36a8d516d996178e62551d302ef811ee

2 weeks agoFix a missed optimization opportunity due to a typo in check-in [898bfa1afd8260ea].
drh [Sat, 31 Jan 2026 02:17:55 +0000 (02:17 +0000)] 
Fix a missed optimization opportunity due to a typo in check-in [898bfa1afd8260ea].
Reported by [forum:/forumpost/2026-01-31T00:49:53z|forum post 2026-01-31T00:49:53z].

FossilOrigin-Name: 3a4f9a323da90611d7eda51b90cb058175ddde0a128e1ff00ce58cc83af0f376

2 weeks agoMake CROSS JOIN a join reorder barrier again, as the SQLite documentation says it...
drh [Fri, 30 Jan 2026 17:10:22 +0000 (17:10 +0000)] 
Make CROSS JOIN a join reorder barrier again, as the SQLite documentation says it is.  It
mistakenly stopped being a join barrier with check-in [c1ea064948ba08c4].

FossilOrigin-Name: d294106ecb78d765305ab740007f4a678e28baa13ae403fe57ea9cbfc259620f

2 weeks agoFix the new CLI so that the ".eqp" setting does not affect the output of other dot
drh [Fri, 30 Jan 2026 16:03:22 +0000 (16:03 +0000)] 
Fix the new CLI so that the ".eqp" setting does not affect the output of other dot
commands such as .schema or .tables.

FossilOrigin-Name: a5a1b69b3feedb507ecfe2e9ddc039d7c01e1bb54e3e881df5010481886cdef9

2 weeks agoChange the new escape-character mechanism for CSV import so that there are
drh [Fri, 30 Jan 2026 13:11:20 +0000 (13:11 +0000)] 
Change the new escape-character mechanism for CSV import so that there are
separate options for an escape character for quoted and unquoted fields of
the CSV.

FossilOrigin-Name: 293ec20e29e46d822a98302f8a0ba52ad6f74a7e93f780536d393730c2edbf61

2 weeks agoUndo the previous check-in. In its place, add the --escape option to
drh [Fri, 30 Jan 2026 12:27:13 +0000 (12:27 +0000)] 
Undo the previous check-in.  In its place, add the --escape option to
the ".import" command.

FossilOrigin-Name: f11a05d52a1eb933f394d48c0d4ee0353f07ad725b7378c40afd01632e67f72d

2 weeks agoEnhance the CSV import capability in the CLI so that it understands
drh [Fri, 30 Jan 2026 12:15:25 +0000 (12:15 +0000)] 
Enhance the CSV import capability in the CLI so that it understands
backslash-escaped double-quotes.

FossilOrigin-Name: 7ba0594d3c24531bc014dd029093b0503118a29cfdd13af2a2ebdd456855ce94

2 weeks agokvvfs fix for [https://github.com/sqlite/sqlite-wasm/issues/146|npm ticket #146]...
stephan [Fri, 30 Jan 2026 06:37:34 +0000 (06:37 +0000)] 
kvvfs fix for [https://github.com/sqlite/sqlite-wasm/issues/146|npm ticket #146]: use of a test-mode-only symbol in non-test runs leads to a null deref in xFileControl().

FossilOrigin-Name: 407724c4e80efdf93d885e95b5209a100a3f470fe0298138be57201f65f9817e

2 weeks agoCapture sqlite3_rsync's remote-end result code so the local side can exit with non...
stephan [Wed, 28 Jan 2026 17:25:18 +0000 (17:25 +0000)] 
Capture sqlite3_rsync's remote-end result code so the local side can exit with non-0 if, e.g., the remote sqlite3_rsync binary is found but fails to start. [forum:43eb1cd1c3979817|Confirmation received] that it resolves the motivating problem report.

FossilOrigin-Name: 971d51374e3bf0d0e0b106750dc1e499d1fdbd3233cf8264a534138b27f8d0a1

2 weeks agoImproved (faster) bytecode for the merge algorithm.
drh [Wed, 28 Jan 2026 16:59:34 +0000 (16:59 +0000)] 
Improved (faster) bytecode for the merge algorithm.

FossilOrigin-Name: 0b7f4b97e68f17ae2fec86017cdb170f3b318a71cda34b5c82ec2d9df780564f

2 weeks agoAdd a comment to sqlite3Stat4Value() explaining that it read a few bytes past the...
dan [Wed, 28 Jan 2026 10:52:53 +0000 (10:52 +0000)] 
Add a comment to sqlite3Stat4Value() explaining that it read a few bytes past the end of the specified buffer.

FossilOrigin-Name: b95644eafdd42293096a3760af8b2110f3c7d83feecdeff5ff9f008d9748e874

2 weeks agoAvoid unsigned integer overflow when evaluating an array index in a
drh [Tue, 27 Jan 2026 23:33:42 +0000 (23:33 +0000)] 
Avoid unsigned integer overflow when evaluating an array index in a
JSON path expression.
[forum:/forumpost/2026-01-27T14:18:49z|Forum post 2026-01-27T14:18:49z].

FossilOrigin-Name: 631c8d44cd1624ddc45babd3f0d810908c2a368784744262042c63506ff2e333

2 weeks agoImproved byte-code coverage testing verification in the merge algorithm.
drh [Tue, 27 Jan 2026 22:27:14 +0000 (22:27 +0000)] 
Improved byte-code coverage testing verification in the merge algorithm.

FossilOrigin-Name: e49ec0e24b4765a6a819f3e980b680b9604f6db21aa8112ec4e9b54d82220c00

2 weeks agoThe tmstmpvfs.c extension should not modify the content of pages going into
drh [Tue, 27 Jan 2026 16:18:35 +0000 (16:18 +0000)] 
The tmstmpvfs.c extension should not modify the content of pages going into
the WAL file, as that would corrupt the page checksum used for recovery.
Instead, only insert timestamp information as content is written into the
database file.

FossilOrigin-Name: dabaeeb1dab82eaea2449658b9c4c74af0058e5a64a076dab046902c6efac292

2 weeks agoTeach sqlite3_rsync to increment its error count when a child process fails, based... rsync-child-rc
stephan [Tue, 27 Jan 2026 16:15:22 +0000 (16:15 +0000)] 
Teach sqlite3_rsync to increment its error count when a child process fails, based on [forum:8fe404e547faa42e|forum post 8fe404e547faa42e]. This passes basic sanity tests but requires more testing and needs a review of the final 'else' block in the new code.

FossilOrigin-Name: 8be55d405f4ce424760150a2b59b5f663041fdcb377d1b9893b4f4e8e1940246

2 weeks agoFor CSV import in the CLI, when the table is created automatically
drh [Tue, 27 Jan 2026 14:59:08 +0000 (14:59 +0000)] 
For CSV import in the CLI, when the table is created automatically
because it does not previously exist, make the column types "ANY"
instead of "TEXT" so that they will automatically adjust to different
datatypes in the input text.

FossilOrigin-Name: aff74e71ea734e1ad8fa893652885fd8c6c432fb60e92913a799e6df5e980b47

2 weeks agoAdd the --csv option to the showtmlog utility program.
drh [Tue, 27 Jan 2026 14:27:19 +0000 (14:27 +0000)] 
Add the --csv option to the showtmlog utility program.

FossilOrigin-Name: 2e96e8efa9a331b0f7d928c55e7d85be64e7c60c85032c1e972f77fe790bdec4

2 weeks agoFix trivial buffer overreads in the sessions module that could occur when parsing...
dan [Tue, 27 Jan 2026 14:00:59 +0000 (14:00 +0000)] 
Fix trivial buffer overreads in the sessions module that could occur when parsing changeset blobs.

FossilOrigin-Name: 661878a62870023f7f54e8c591a0823dc457cb89780ab40c1891fb3d5e8f095f

2 weeks agoAdditional usage notes added to the header comment of the tmstmpvfs.c
drh [Tue, 27 Jan 2026 12:50:52 +0000 (12:50 +0000)] 
Additional usage notes added to the header comment of the tmstmpvfs.c
source file.  No code changes.

FossilOrigin-Name: d1b8e7740bee13a8cf199c6477ee20a4f8bcbbd9ec4096bcdc05a996fadf0d56

2 weeks agoEnhanced documentation in the header comment of tmstmpvfs.c.
drh [Tue, 27 Jan 2026 12:02:02 +0000 (12:02 +0000)] 
Enhanced documentation in the header comment of tmstmpvfs.c.

FossilOrigin-Name: 3d37da3cb5943a61f528e3002c4c3ac3d41e871d742d8e603bffcc4bc5bd42fd

2 weeks agoFix frame number computation in the log generated by tmstmpvfs.c.
drh [Tue, 27 Jan 2026 11:19:49 +0000 (11:19 +0000)] 
Fix frame number computation in the log generated by tmstmpvfs.c.

FossilOrigin-Name: 57fda9dd85f0de8c5d4a4d8015e67982d73ab96ad6f1cd590a48d8995dc28140

2 weeks agoEnhancements to tmstmpvfs.c: (1) Use the exact same timestamp on logfile
drh [Mon, 26 Jan 2026 21:20:28 +0000 (21:20 +0000)] 
Enhancements to tmstmpvfs.c:  (1) Use the exact same timestamp on logfile
entries as on the pages that control, where appropriate.  (2) Include the
WAL frame number in ELOG_CKPT_PAGE logfile entries.

FossilOrigin-Name: fcf16297850abf5186b0d414b4f31d4b515925ef5cca5e7d7d84984c26160d00

2 weeks agoAdd test for fts3 compress= and uncompress= options.
dan [Mon, 26 Jan 2026 20:17:10 +0000 (20:17 +0000)] 
Add test for fts3 compress= and uncompress= options.

FossilOrigin-Name: bace9de67db426017d98f31685da1fc6ab10c7755681a41ca978cc97cb2ad5df

3 weeks agoImprove the comments on the generated byte-code for the merge algorithm.
drh [Mon, 26 Jan 2026 19:37:57 +0000 (19:37 +0000)] 
Improve the comments on the generated byte-code for the merge algorithm.

FossilOrigin-Name: 4468c9e1a262d3d7efd8edff19e22e13b64ebed606ce2f18c9cabce93ef257d3

3 weeks agoFix the initialization of the sqlite3Api[] constant to conform
drh [Mon, 26 Jan 2026 13:54:05 +0000 (13:54 +0000)] 
Fix the initialization of the sqlite3Api[] constant to conform
with the previous check-in.

FossilOrigin-Name: 0a31a740843404958f61798aa17f94b5162bcf467c1c863d745346a316160d13

3 weeks agoAdd alternative sqlite3_carray_bind_v2() interface.
drh [Mon, 26 Jan 2026 13:44:42 +0000 (13:44 +0000)] 
Add alternative sqlite3_carray_bind_v2() interface.

FossilOrigin-Name: 925384d7711867428644595c0903682e6e365eb974c57e6680b51d511c980054

3 weeks agoFix speedtest1.wasm build regression introduced with Emscripten 5.0.0.
stephan [Mon, 26 Jan 2026 10:53:24 +0000 (10:53 +0000)] 
Fix speedtest1.wasm build regression introduced with Emscripten 5.0.0.

FossilOrigin-Name: 4733d351ec2376291f093ba8d2ba71d82c6f100c68dc860eee0532986c154e71

3 weeks agoFix a possible problem following OOM in a WITH statement.
drh [Mon, 26 Jan 2026 00:11:01 +0000 (00:11 +0000)] 
Fix a possible problem following OOM in a WITH statement.

FossilOrigin-Name: c38797d400dc4135108a6e303f2c10779ba9adf0daae28f1789f9106a68d21d5

3 weeks agoAlways use the sort-and-merge algorithm for EXCEPT, INTERSECT, and UNION,
drh [Sun, 25 Jan 2026 23:28:42 +0000 (23:28 +0000)] 
Always use the sort-and-merge algorithm for EXCEPT, INTERSECT, and UNION,
even if there is no ORDER BY clause.

FossilOrigin-Name: 132ba781b031972c6ac564ff0d1d6b2dfaeee77fe503ad6e9e8647bb5ba28bd3

3 weeks agoThe Select.addrOpenEphm field is no longer needed. Remove it and union-by-merge
drh [Sun, 25 Jan 2026 20:15:00 +0000 (20:15 +0000)] 
The Select.addrOpenEphm field is no longer needed.  Remove it and
simplify related code.

FossilOrigin-Name: 1fe5a1ca72892987716b71b9419265f25c8c426e52320acf56724fd64b838be6

3 weeks agoRefactor one function name. Comment improvements. No functional changes.
drh [Sun, 25 Jan 2026 18:21:53 +0000 (18:21 +0000)] 
Refactor one function name.  Comment improvements.  No functional changes.

FossilOrigin-Name: 5b4c0a5e8609e16a4b08b7f95d55e513ee4300b22d044ac8f42e60b96cff5be6

3 weeks agoFix the jsonb_group_array() and jsonb_group_object() functions so that they return
drh [Sun, 25 Jan 2026 15:18:31 +0000 (15:18 +0000)] 
Fix the jsonb_group_array() and jsonb_group_object() functions so that they return
JSONB as they should, and not text JSON, when the array or object is empty.
[forum:/forumpost/2026-01-25T00:47:06z|Forum post 2026-01-25T00:47:06z].

FossilOrigin-Name: 8b53b97833afe27c0c3782c5fbc0437976215b571579f73a94c33e28d3fedb41

3 weeks agoAdditional simplifications to achieve 100% MC/DC.
drh [Sun, 25 Jan 2026 13:26:19 +0000 (13:26 +0000)] 
Additional simplifications to achieve 100% MC/DC.

FossilOrigin-Name: 781b7ec0bcaa5d94e8c5fd31b4fe0203393d5209a5f518848f057ec3d2b8d7ac

3 weeks agoFix harmless compiler warnings in FTS5.
drh [Sun, 25 Jan 2026 11:56:25 +0000 (11:56 +0000)] 
Fix harmless compiler warnings in FTS5.

FossilOrigin-Name: 29d9132a768e0460e22e41abb8b6188181ba0fc6c4665161d3d0af28d7583e19

3 weeks agoRemove additional unnecessary code associated with the setup phase of a recursive...
drh [Sun, 25 Jan 2026 11:41:49 +0000 (11:41 +0000)] 
Remove additional unnecessary code associated with the setup phase of a recursive CTE.

FossilOrigin-Name: 82735513762c8adfe7ad4865dcb76c625cbd8f6976bb98f2c342cf98cfdf3b36

3 weeks agoAssert() statements added to sqlite3_result_text64() and
drh [Sat, 24 Jan 2026 17:18:56 +0000 (17:18 +0000)] 
Assert() statements added to sqlite3_result_text64() and
sqlite3_bind_text64() to detect misuse of SQLITE_UTF8_ZT that can
result in undefined behavior.

FossilOrigin-Name: e761fcc6838aee1fa5e098ad167866845a8ee140a3346fb089a1238abb58d998

3 weeks agoExpound upon the meaning of SQLITE_UTF8_ZT, in an attempt to head off
drh [Sat, 24 Jan 2026 12:19:00 +0000 (12:19 +0000)] 
Expound upon the meaning of SQLITE_UTF8_ZT, in an attempt to head off
confusion.

FossilOrigin-Name: 9a74d0c3e78eef9a32775f445ecb3fae76e2f3886b9173a16971d7c7506967fe

3 weeks agoExpose SQLITE_UTF_ZT to WASM for completeness's sake, but the WASM build does not...
stephan [Sat, 24 Jan 2026 01:17:06 +0000 (01:17 +0000)] 
Expose SQLITE_UTF_ZT to WASM for completeness's sake, but the WASM build does not expose sqlite3_bind_text64() or sqlite3_result_text64() because it only supports UTF8 encoding, so ZT does not currently have a genuine use there.

FossilOrigin-Name: d931831ce9d2dea3730f33afc046e159ad886842114831a6bbe56d5b746ab0af

3 weeks agoFix an incorrect assert().
drh [Sat, 24 Jan 2026 00:33:41 +0000 (00:33 +0000)] 
Fix an incorrect assert().

FossilOrigin-Name: b9ce349e1e4166c3d1c97d2f6fb1792b89e3316c8ec182daa032b6655e9c2c17

3 weeks agoIn the cost metrics of the query planner, the estimated number of output rows
drh [Fri, 23 Jan 2026 20:46:54 +0000 (20:46 +0000)] 
In the cost metrics of the query planner, the estimated number of output rows
from an EXISTS-to-JOIN loop should not be more than 1.
[forum:/forumpost/989880d0aa|Forum post 989880d0aa].

FossilOrigin-Name: fc4e93a381dfb99dddfd2ef001bf56b92ab89ee3c7044c7ce13ad32f38b3f418

3 weeks agoMore code simplifications.
drh [Fri, 23 Jan 2026 18:52:45 +0000 (18:52 +0000)] 
More code simplifications.

FossilOrigin-Name: 3d76732a45333f6f3e21667bb018a859d20815243d276fad0dc126d3c667d4aa

3 weeks agoFix a minor EXPLAIN QUERY PLAN formatting problem. Remove a NEVER() that is
drh [Fri, 23 Jan 2026 17:06:54 +0000 (17:06 +0000)] 
Fix a minor EXPLAIN QUERY PLAN formatting problem.  Remove a NEVER() that is
reachable.

FossilOrigin-Name: 423173079ee0911f86a76c9b905d98328f7aae45d43a38a13957c5c510f87670

3 weeks agoRemove code that is no longer used.
drh [Fri, 23 Jan 2026 16:07:51 +0000 (16:07 +0000)] 
Remove code that is no longer used.

FossilOrigin-Name: 8d7f91e07b0c7573f94fddd64f39671e608969764615bd7f5c060e7ee7540bc6

3 weeks agoContinuing work toward using sort-and-merge for UNION.
drh [Fri, 23 Jan 2026 14:37:08 +0000 (14:37 +0000)] 
Continuing work toward using sort-and-merge for UNION.

FossilOrigin-Name: 94bf43634bbb1fd8e67235b8be0d9744cca1e364ab3cceecca4528e7b78780d1

3 weeks agoMerge the latest trunk enhancements into the union-by-merge branch.
drh [Fri, 23 Jan 2026 11:44:40 +0000 (11:44 +0000)] 
Merge the latest trunk enhancements into the union-by-merge branch.

FossilOrigin-Name: bdf4d6a9398266c98a0d4ad3c60b431cd498bfa80add3e81d717c687634c2602

3 weeks agoAdd the SQLITE_UTF8_ZT value which can be the encoding argument to
drh [Fri, 23 Jan 2026 00:55:36 +0000 (00:55 +0000)] 
Add the SQLITE_UTF8_ZT value which can be the encoding argument to
sqlite3_result_text64() or sqlite3_bind_test64() to indicate that the
argument is UTF-8 text that is zero-terminated.

FossilOrigin-Name: cef0eed8054f3f760cf3142a897c7eead20869157da8b2a0ee9443733eecd371

3 weeks agoMerge the latest trunk enhancements into the utf8-zt branch. utf8-zt
drh [Thu, 22 Jan 2026 19:29:34 +0000 (19:29 +0000)] 
Merge the latest trunk enhancements into the utf8-zt branch.

FossilOrigin-Name: 0dd1633d34a0c6a6d56e32ca3b05bc0aa55e47097f600d1fc9f00022a53681b3

3 weeks agoEnhance the [/info/e33da6d5dc964db8|EXISTS-to-JOIN optimization] so that
drh [Thu, 22 Jan 2026 19:02:32 +0000 (19:02 +0000)] 
Enhance the [/info/e33da6d5dc964db8|EXISTS-to-JOIN optimization] so that
the inserted JOIN terms are not required to be on the inner-most loops,
as long as all dependencies for the EXISTS-to-JOIN loops are in outer
loops.  This addresses the performance concern of
[forum:/forumpost/2026-01-21T19:49:04z|forum post 2026-01-21T19:49:04z].
Test cases in TH3.

FossilOrigin-Name: 298d5c8fa6207afb6cdcca3b312a1eeddda0edeb6d840aa5476a7195047a2158

3 weeks agoFor the ".eqp full" show both the QUERY PLAN and the full byte code, just as
drh [Thu, 22 Jan 2026 15:59:45 +0000 (15:59 +0000)] 
For the ".eqp full" show both the QUERY PLAN and the full byte code, just as
it has in the past.

FossilOrigin-Name: 756484fcaa7efed0691814f3affeb2449d3301c5c764530f2ec8e290caea567f

3 weeks agoAdd a new encoding constant SQLITE_UTF8_ZT, which if used with
drh [Wed, 21 Jan 2026 19:24:07 +0000 (19:24 +0000)] 
Add a new encoding constant SQLITE_UTF8_ZT, which if used with
sqlite3_result_text64() or sqlite3_bind_text64() declares that the
string provided is UTF8 and zero-terminated at the length specified.

FossilOrigin-Name: 2d84ce88fed12766272f6b1293927eb4c7ce92da0334b09b4875ed2dfdd00ade

3 weeks agoAdd a new assert().
drh [Wed, 21 Jan 2026 11:29:20 +0000 (11:29 +0000)] 
Add a new assert().

FossilOrigin-Name: bc450aba674a8934d718a88af3c2343555b43c2d8403bd5f6d14e177fce6bc9f

3 weeks agoStrive to use sort-and-merge for compounds in CTEs.
drh [Tue, 20 Jan 2026 20:10:41 +0000 (20:10 +0000)] 
Strive to use sort-and-merge for compounds in CTEs.

FossilOrigin-Name: 73ed1c790bb386a2981bf7076d23d37e09fa9db3966a7a164b8964fdb14fdad2

3 weeks agoUpdate the shell tool to work with SQLITE_OMIT_AUTOINIT builds.
dan [Tue, 20 Jan 2026 18:30:48 +0000 (18:30 +0000)] 
Update the shell tool to work with SQLITE_OMIT_AUTOINIT builds.

FossilOrigin-Name: 2b3b36da9d60c265dceec5964ea51c752d81f41459fb6849c8faea658b253552

3 weeks agoFix another test case to work with union-by-merge.
drh [Tue, 20 Jan 2026 18:20:26 +0000 (18:20 +0000)] 
Fix another test case to work with union-by-merge.

FossilOrigin-Name: 8279c10e2465838010508f6018aa6fdb0e07ca3639f65e727a03a4222573ea57

3 weeks agoTiny JS doc touchup.
stephan [Tue, 20 Jan 2026 18:07:27 +0000 (18:07 +0000)] 
Tiny JS doc touchup.

FossilOrigin-Name: 6d9ec0a21a2b33a7bb3cf9c3677c9ef7a9738d318cd2d8159b33583b2bd4abec

3 weeks agowasm: make pre-js.c-pp.js a no-op in bundler-friendly builds.
stephan [Tue, 20 Jan 2026 18:01:56 +0000 (18:01 +0000)] 
wasm: make pre-js.c-pp.js a no-op in bundler-friendly builds.

FossilOrigin-Name: 982a91abc0c97e7e785d3ba69a4d0516a899f4d6cd462027ebdf7115e577e8c3

3 weeks agowasm: a potential workaround for cases such as [forum:1eec339854c935bd|forum post...
stephan [Tue, 20 Jan 2026 17:10:22 +0000 (17:10 +0000)] 
wasm: a potential workaround for cases such as [forum:1eec339854c935bd|forum post 1eec339854c935bd], where client-local needs require overriding Emscripten config defaults (which we very intentionally do not document or support for reasons explained in that thread). This is untested because it requires a special-needs setup, but it doesn't break anything for run-of-the-mill cases.

FossilOrigin-Name: c8e6be9241e3e17898c451baad109b75dc8a97a91ff1e43c67a6c962b75af8f3

3 weeks agoMinor fixes. Tests are passing now.
drh [Tue, 20 Jan 2026 15:07:28 +0000 (15:07 +0000)] 
Minor fixes.  Tests are passing now.

FossilOrigin-Name: 305ae331f5e791941c12b04b727656ac8d80f7c5cb6343277b979a456eb3b834

3 weeks agoAdd an SQLITE_API_ARMOR check to sqlite3_get_clientdata(), per request in [forum...
stephan [Tue, 20 Jan 2026 10:57:44 +0000 (10:57 +0000)] 
Add an SQLITE_API_ARMOR check to sqlite3_get_clientdata(), per request in [forum:a011a001f4|forum post a011a001f4].

FossilOrigin-Name: 346ad366a8ebed1e7936c59f8a40e9c8e7e31d0153bc4f654a47b2ddc39b18ca

3 weeks agoMinor doc updates in mkwasmbuilds.c.
stephan [Mon, 19 Jan 2026 22:20:12 +0000 (22:20 +0000)] 
Minor doc updates in mkwasmbuilds.c.

FossilOrigin-Name: 81840bd4b2132c1c701bb6fd5a2ac48a4ed33d2b68a3f7a826fa32dc0fc16483

3 weeks agowasm: remove the bundler-friend builds from the 'all' target, as they're only needed...
stephan [Mon, 19 Jan 2026 22:01:10 +0000 (22:01 +0000)] 
wasm: remove the bundler-friend builds from the 'all' target, as they're only needed for the 'npm' target.

FossilOrigin-Name: dfe4b788ca6596ea9f26445c864f56f81c7816798f5fedfc4e89ba1eb097b0aa

3 weeks agoMinor doc touchups in the opfs-sahpool VFS. No functional changes.
stephan [Mon, 19 Jan 2026 21:57:32 +0000 (21:57 +0000)] 
Minor doc touchups in the opfs-sahpool VFS. No functional changes.

FossilOrigin-Name: 67c0d11701842baaa5227ccce02483ead07bec8426b9861f2e2a0465414ae382