dan
c571cec033
Ignore any DISTINCT qualifier on a SELECT statement on the RHS of an IN(...) expression. Forum post [bugs:/info/2026-07-25T08:40:13Z | 2026-07-25T08:40:13Z].
...
FossilOrigin-Name: c54858eab45f71a77249c8ecdc8e107cf631e743b8b883f2b6db60e0bf7e908a
2026-07-25 14:49:40 +00:00
dan
7d3a41d1f8
Fix an incompatibility with Tcl 9 in scanstatus2.test.
...
FossilOrigin-Name: 2f1f4f73535386549c12694dc57cfe555eec689ae6824c6241aaf8d5befcd74d
2026-07-24 16:28:47 +00:00
drh
5694c3bb2a
Fix a bug in the check-in [bbd69ce274620008] causing that bug-fix
...
check-in to fail to completely fix the original bug. This fix is in response
to the follow-up report at
[bugs:/info/2026-07-24T02:52:08Z|Bug 2026-07-24T02:52:08Z].
FossilOrigin-Name: 2cb22877683680c1f89bcc9edb47bd1a4a8755d4a6b846a1a20136a657dacdcc
2026-07-24 14:53:59 +00:00
dan
b047809309
Fix a problem in test1.c causing test script win32lock.test to fail.
...
FossilOrigin-Name: 8f6d25b3f0171a40be8a5cb646739f54e496aaf9d4829c24c243ec4b71e0caa8
2026-07-24 14:10:00 +00:00
drh
2273627228
Fix to the interaction between indexes-on-expressions, subtypes, and
...
the unary "+" operator. This is a continuation of the prior fix from
check-in [d75c08c8416bde3f]. This enhanced fix is prompted by
[bugs:/info/2026-07-24T08:42:47Z|Bug 2026-07-24T08:42:47Z].
FossilOrigin-Name: 5398c6a2b6b218461ce1f6437791c62c1ee125fba195660e0d6d1ad97ed6d14c
2026-07-24 13:36:44 +00:00
dan
5f5fb71834
In test_syscall.c, assume SQLite always calls the 4 (not 5) argument form of mremap(). This fixes a problem with Fil-C and mmap2.test.
...
FossilOrigin-Name: 4d60798b20a560beb945afe7e2998714aa7e5a83a9db078d4431040f0b6e7350
2026-07-24 10:38:27 +00:00
drh
1f2f8741b7
Fix some test cases on Windows.
...
FossilOrigin-Name: d2d6363f31ecbae353a1e80810f42d9e2f0f8db0fe6294c7deadf0c58669b9d0
2026-07-24 00:39:41 +00:00
drh
1a2ed04399
Enhance Bloom-filter support so that it works with blob values and with
...
text values as long as the collating sequence is binary.
FossilOrigin-Name: a67bff640c9e4ffdf2f48c049eaf829b9e43d167a1055bf8780ff29c910bbade
2026-07-23 21:34:16 +00:00
drh
bed078a865
New test cases for Bloom filter use on text keys as long as the
...
collating sequence is binary.
FossilOrigin-Name: 98ced971bfd48aedf862fa0f8674744723e36eeda2ad600e91062fc8b7d9da9e
2026-07-23 20:23:04 +00:00
dan
6f9ef2245e
Change the way pointers are passed between C code and Tcl test scripts. This allows tests to be run with Fil-C builds.
...
FossilOrigin-Name: ba919ea1d4fe84526a4c844b3f901e5e8b1650dcdee647e4d46da2d33ced1710
2026-07-23 20:04:20 +00:00
drh
b4ca411eb6
Improved Bloom-filter invariant checking.
...
FossilOrigin-Name: f38f4167110df11ba54816932126f695dc6e114d4001d0261669807a55ad7966
2026-07-23 18:55:12 +00:00
drh
bc9d2a9515
Fix the new filterHash() function so that it works correctly for zeroblobs.
...
FossilOrigin-Name: 3013d6ab4afd4f63fa63a773778adcf07821cfcb33e3ae42752aea13fd2b6224
2026-07-23 17:41:10 +00:00
drh
83f39c1788
Add the ability for Bloom filters to work on text values, as long as
...
the collating sequence is BINARY.
FossilOrigin-Name: 2577edc796505a0a6dabccbcc1bb6a828457092caa4d074561da5e58a6f065a2
2026-07-23 16:00:10 +00:00
drh
7bc7e25cc7
CLI improvement: New command-line option "--cmdline-edit BOOLEAN" to
...
enable/disable command-line editing. Command-line editing is disabled
by default if either stdin or stdout is not a tty.
FossilOrigin-Name: 675ed9a486fecc734a6aad2e80fd800183c33f72dce1435a193f0e4cf4ede944
2026-07-23 12:12:37 +00:00
stephan
70c687859e
Fix an error handling case in #base64.
...
FossilOrigin-Name: f8c408f66257881937ed18b77e274f71dba2d97dd44546372fa0b0a9629efbd2
2026-07-22 14:16:33 +00:00
stephan
7d1796e488
Add (#base64 -f filename) support to the preprocessor and slightly simplify the wasm embedding with it. Fix a bug in the preprocessor's @token@ call expansion when the length of the configured @ is greater than 1 byte.
...
FossilOrigin-Name: 1e90bedec99054f4856bfb89efc4d676486504db67bd1304c45d14c638ddfc7e
2026-07-22 14:06:41 +00:00
drh
9c20fed370
Do not cache the results of getenv() in the temporary filename generation
...
logic as that might result in a UAF if an environment variable value is
modified using setenv() or similar.
FossilOrigin-Name: cefd5807d8be41f8ff0ce1ce487064dcbcf2f05583b86dbe68a3ae1960b13d9f
2026-07-22 12:55:23 +00:00
drh
33510c5020
Improvements to the unix temporary filename generator so that it continues
...
to work even after SQLITE_TMPDIR or TMPDIR environment variables are
changed by the application. Similar changes are needed for Windows.
FossilOrigin-Name: 82e522ff1429e7eed2ffb0e960badc5757fd015023b7c0679ba32108e44e4abd
2026-07-22 11:24:48 +00:00
drh
a01ed0c10a
Remove an unnecessary munmap() from the unix interface.
...
FossilOrigin-Name: 5fc1ede8b2e559db8a5d783d1065b1f1b2eef73054486552b700706208cbdfd1
2026-07-21 23:54:01 +00:00
stephan
6ad0fcac94
Random makefile doc updates. No functional changes.
...
FossilOrigin-Name: 014ef252c7ea404340a5af52a6615cdddd969a4dbf30712fda538550240bb9fc
2026-07-21 20:56:55 +00:00
stephan
04ba5ef30b
Random minor doc and formatting cleanups in the wasm makefile generator.
...
FossilOrigin-Name: a24064919bcc187d5a4d9fa67cb1810fc4e7b9c92596fd2c8e6b0a66bc37e4b3
2026-07-21 20:18:16 +00:00
stephan
adf52c4401
Restructure an errant goto which only accidentally never broke anything. Add some debug output to mkwasmbuilds.c.
...
FossilOrigin-Name: 0ca4e748e1682046f2e060876bcf7e8d249aa5611d939d32dc1365d3bcf12b48
2026-07-21 19:12:38 +00:00
stephan
ef893b1d66
The base64.wasm=1 flag to ext/wasm/GNUmakefile tells it to embed each resulting WASM file directly in its counterpart JS file base64-encoded. This is roughly 20% larger and saves a network request but is overall less efficient so will not be the new default. It may be interesting for custom builds, in particular for server-side node.js.
...
FossilOrigin-Name: 7a06190b712e0634dfc9ac53ab7632c2f46186cd280afd2da4af35df433bc3ed
2026-07-21 16:58:02 +00:00
stephan
add85ddbb3
Document the origin of the input size limit for #base64. No functional changes.
...
FossilOrigin-Name: 696988aac30797139060eb2718fcfda0363f1fa73df1187ea56956681d577411
2026-07-21 16:43:36 +00:00
stephan
6f1c5685db
Simplify the previous checkin by removing an extraneous local var.
...
FossilOrigin-Name: 6382d8336e2891c556456a340daecff81766980a27071e1d5bda6262ffba6f26
2026-07-21 16:29:34 +00:00
stephan
5b04866b72
Fix the corner case of feeding #base64 empty input.
...
FossilOrigin-Name: 999d20197143d884158341ac36e33bc1eb8e3484228eaf532818add927c30228
2026-07-21 16:23:21 +00:00
stephan
093ca6b1af
Consolidate a duplicated code block and ensure that the new filtering of the final JS files makes them read/write so that rebuilds without a clean between them work.
...
FossilOrigin-Name: 8b013184e42dbd7cd47c07bbb1edbb1f088dfb4efe540bfbc52a2e3c472c7b2d
2026-07-21 16:12:06 +00:00
stephan
1f2bc0ea64
Add support for (make base64.wasm=1), which embeds sqlite3.wasm into its corresponding JS file as base64. A very expensive calculator which was fed the resulting file sizes assures me that the two-file approach is, in the aggregate, more efficient both in terms of overall network bandwidth (+~20% bigger for base64) and client-side memory usage (streaming vs non-streaming wasm compilation), so we'll shelve this as an interesting experiment or maybe for use by custom builds.
...
FossilOrigin-Name: a167aee75198ff08b20b448fecd3267ed4a70af2472c02605318a5613f446fc6
2026-07-21 16:04:10 +00:00
stephan
bee0db8c60
This embeds sqlite3.wasm into sqlite3.js/mjs as base64 but is applied globally - it still needs to be made configurable.
...
FossilOrigin-Name: 0467a0f826b5b7bb65d9c74df80c7443f01824c1cc8184417849a74791f491b7
2026-07-21 13:28:52 +00:00
stephan
379e111bff
An initial attempt at embedding sqlite3.wasm into sqlite3.js using base64. This produces a chicken-egg situation in the build because the input file where the blob belongs is injested by emscripten (which generates the wasm file from which that blob is to be generated), so it does not work as-is but is being set aside for later. We'll need to add a second preprocessing step which uses a different #directive delimiter to keep it hidden inside the first pass, then squeeze the wasm file in through there.
...
FossilOrigin-Name: 538199cf62f07a2fe7ee5775c9f01aff1644d638bc0916cf631d61376462b5cb
2026-07-21 12:57:48 +00:00
stephan
b524d66cd2
Latest upstream ext/wasm/libcmpp.c, primarily to make it filcc-legal (only the final chunk in the diff - the rest is minor changes accumulated since the last update).
...
FossilOrigin-Name: 06f3bbc5bddc2e763042f8b487a3deedf47c54b7fa785ba6fd6abd524b4cbe3a
2026-07-21 10:44:28 +00:00
drh
5970eb49f6
Improve performance and robustness of internal routine jsonBlobExpand().
...
FossilOrigin-Name: 099af17c6f82d0a1357f4d3ec5967fb5c664ec532ddfa674017cb4d8041d45c3
2026-07-20 21:03:27 +00:00
dan
c6017f07c0
Add tests to verify that the problem reported by forum post [forum:/info/2026-07-20T18:27:00Z | 2026-07-20T18:27:00Z] is only a problem on branch-3.53, not on this branch.
...
FossilOrigin-Name: 6384b4b8720e35682c3ec01e7de6f0fcaec58026d5e07dfaf989f5e5851d9810
2026-07-20 20:23:27 +00:00
drh
684763d832
Improved detection and reporting of deliberate misinformation in the
...
sqlite_schema table.
FossilOrigin-Name: 760af4e455e478f8ab72a574eb5f0141bb57e023beee3d16f9a8c02cbd726e45
2026-07-20 20:03:12 +00:00
drh
782a6a42e1
Remove an incorrect ALWAYS() macro from the implementation of the
...
internal exprNodeCanReturnSubtype() routine so that it works with
zero-argument deterministic functions like pi().
FossilOrigin-Name: a2511c6223a08033a2c5c66faee3afa50b992dc18de7a8498c8e3d24ce1376cc
2026-07-20 19:17:30 +00:00
dan
cd4b0a19ec
Ensure that a write with REPLACE conflict resolution on an integer primary key column is handled after any IGNORE or FAIL conflicts, even if there is also an explicit "ON CONFLICT" clause unrelated to the IPK. Forum post [forum:info/2026-07-17T09:30:42Z | 2026-07--17T09:30:42Z]. Also fix a problem whereby a trigger fired by REPLACE conflict resolution might cause a UNIQUE conflict violation to be committed to the database. Forum post [forum:/info/2026-07-18T09:45:24Z | 2026-07-18T09:45:24Z].
...
FossilOrigin-Name: 8f0ad8f33f5e040eb70b0b77d730c2e785827621bb0ad21afd9ce2efe4dad921
2026-07-20 17:53:36 +00:00
drh
86512b11c5
Additional test cases.
...
FossilOrigin-Name: 3ae4f953de5349c7e90ad245a0c21e513d4ef23d636fd786842619aff12c2d27
2026-07-20 16:45:50 +00:00
drh
5179e97d9e
Move the new test cases for this branch into a new *.test file.
...
FossilOrigin-Name: 7bdce4ec3b9995a13536eaa2e6a5702333e792b35fa58e606b2e4fa38b85f524
2026-07-20 14:37:21 +00:00
drh
27a20bafd4
Performance improvement in the sqlite3_initialize() interface.
...
FossilOrigin-Name: 4ad701b085ce1b9ada41441f560e55580f0dd33e8145857afce6c665aa974ad0
2026-07-20 11:50:37 +00:00
drh
73fbc0b152
Fix boundary cases of rowid lookup using very large floating point values -
...
values near the minimum and maximum 64-bit signed integer.
[forum:/info/2026-07-19T07:31:46Z|Forum 2026-07-19T07:31:46Z].
FossilOrigin-Name: 987ba5a3dc5f2a2294b77ef3ec1ea06682f0530a7268777c6b64985dd0e90d40
2026-07-19 19:49:24 +00:00
stephan
a4398ebbc6
Latest upstream jimsh0.c for minor portability improvements and cleanups.
...
FossilOrigin-Name: 436cf63e941b3db936a01d4584c9e3cc9675ce9ef4b6689530218c27252c170d
2026-07-19 12:56:34 +00:00
drh
65a80d9000
Test case fixes due to the previous.
...
FossilOrigin-Name: 923665823276ee9404a9fdb19378b970eeea77a97bc2f4312446c6f6bc5e4405
2026-07-18 19:49:18 +00:00
dan
c1c108fd71
After a DELETE trigger is fired by REPLACE conflict handling, retest all UNIQUE constraints to ensure that the row being inserted or updated does not conflict with one written by the DELETE trigger. Abort the statement if it does. Possible fix for forum post [forum:/info/2026-07-18T03:35:48Z | 2026-07-18T03:35:48Z].
...
FossilOrigin-Name: e2ab286bb713e1358ae9a1d50dc894362d0ea6f1a2e8467c587f42f0e483dd3a
2026-07-18 19:31:56 +00:00
drh
a5e160582f
Disqualify the count-of-view optimization if the view is really
...
a correlated subquery.
[forum:/info/2026-07-18T10:23:43Z|Forum post 2026-07-18T10:23:43Z].
FossilOrigin-Name: bb65c3adcd79581715f90d287807a3f03b375f69957c7d0202d31b23cf627da0
2026-07-18 17:47:25 +00:00
dan
21fb3ccb37
Update tcl test command "optimization_control" to support the "count-of-view" optimization.
...
FossilOrigin-Name: b14c3f8fec5123b1faa6d88dee2740ee4acb10dd522207531567d46f4714e227
2026-07-18 13:34:51 +00:00
drh
7922210925
Enhancements to new test cases, for improved readability.
...
FossilOrigin-Name: 053e0d1f011d9ff4d57a6e33adf8de9a7a5550a3c5f6a6d4c511f75b85a09a99
2026-07-18 09:04:36 +00:00
drh
8498ccfd5f
Add test cases from
...
[forum:/info/2026-07-18T03:35:48Z|Forum Post 2026-07-18T03:35:48Z].
New test cases are currently failing, as new or alternative fixes
are needed for the original problem.
FossilOrigin-Name: 49b67b7da6bceae3ee87153480e676f53a472b0f6e0ed8d1866ed819e8f64fa1
2026-07-18 08:46:36 +00:00
drh
ab3e9fc9e9
Additional test cases
...
FossilOrigin-Name: da16fe363e2b0f8e735405a03fd0cae0796333c37d41cb323863d3803ebfdc45
2026-07-17 23:25:28 +00:00
dan
88b4e34fa9
Ensure that a write with REPLACE conflict resolution on an integer primary key column is handled after any IGNORE or FAIL conflicts, even if there is also an explicit "ON CONFLICT" clause unrelated to the IPK. Forum post [forum:/info/2026-07-17T09:30:42Z | 2026-07-17T09:30:42Z].
...
FossilOrigin-Name: 1875249ab30fb110bc09963b592c8f48d2fb57066d770ad7e1da7e8bc8602977
2026-07-17 16:26:56 +00:00
drh
849be20583
Add the SQLITE_SHELL_EDITION compile-time option, which if set to a
...
date number of the form YYYYMMDD will try to configure the defaults
to be similar to the latest release at or prior to that date.
FossilOrigin-Name: 6924895d2cbc50971d8da1810423ad15c638dabc31b4f1083dd6076e20492ef4
2026-07-16 23:55:15 +00:00