]> git.ipfire.org Git - thirdparty/sqlite.git/log
thirdparty/sqlite.git
7 weeks agoFix a bad assert() in the previous check-in. numeric-conversion-perf
drh [Mon, 16 Feb 2026 17:22:17 +0000 (17:22 +0000)] 
Fix a bad assert() in the previous check-in.

FossilOrigin-Name: a4540582b5b704af13b570b3dc609dbacada719302372a038cf74eee3688d5e7

7 weeks agoRefactor the sqlite3AtoF() routine so that it requires a zero-terminated
drh [Mon, 16 Feb 2026 16:56:59 +0000 (16:56 +0000)] 
Refactor the sqlite3AtoF() routine so that it requires a zero-terminated
UTF-8 input.  When the need arises to convert UTF16 or non-terminated
strings, wrapper functions are used.  Together, this makes the code slightly
smaller and faster.

FossilOrigin-Name: 67c7c72e9bdf04c920d77006538a202c923fa74b47c81dc3014c2929dac7277d

7 weeks agoFix a problem with identifying ON clauses attached to RIGHT or FULL JOINs (which...
dan [Mon, 16 Feb 2026 11:59:14 +0000 (11:59 +0000)] 
Fix a problem with identifying ON clauses attached to RIGHT or FULL JOINs (which is an error) if the join appeared in a flattened sub-query.

FossilOrigin-Name: cf2dc6dfad275dad8fef763a57baaaf6301b0d3bf1916be90f22200cbe0115d0

7 weeks 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

7 weeks 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

7 weeks 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

7 weeks 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

7 weeks 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

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

FossilOrigin-Name: 9d3a12d3926d55efffdc84bff342bd1dbccd08426104aeb2d339b064bf6f02f4

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

FossilOrigin-Name: 93fdee20021b8cc2a113ea042fedbccd8b53b6aceeeb34c0810e6d3a5f106f07

7 weeks 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

7 weeks 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

7 weeks 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

7 weeks 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

7 weeks 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

8 weeks 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

8 weeks 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

8 weeks 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

8 weeks 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

8 weeks 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

8 weeks 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

2 months 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

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

FossilOrigin-Name: dcd22fd6d135892852358c8cfb5049dce4a1410dbc0f28cafc8b340f69350165

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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 months 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 months 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 months 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 months 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 months 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 months 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 months 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 months 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 months 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 months 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 months 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 months 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 months 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 months 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 months 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 months 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 months 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 months 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 months 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 months 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 months 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 months 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 months 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 months 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 months 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 months 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 months 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 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

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

FossilOrigin-Name: b9ce349e1e4166c3d1c97d2f6fb1792b89e3316c8ec182daa032b6655e9c2c17

2 months 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

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

FossilOrigin-Name: 3d76732a45333f6f3e21667bb018a859d20815243d276fad0dc126d3c667d4aa

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

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

FossilOrigin-Name: bc450aba674a8934d718a88af3c2343555b43c2d8403bd5f6d14e177fce6bc9f

2 months 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

2 months 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

2 months 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

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

FossilOrigin-Name: 6d9ec0a21a2b33a7bb3cf9c3677c9ef7a9738d318cd2d8159b33583b2bd4abec

2 months 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

2 months 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

2 months 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

2 months 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