stephan
5e2e34aef8
Re-add the (still) unsupported and (still 100%) untested sqlite3-node.mjs back to the dist bundle, as its removal in 3.51 has [caused some downstream disruption]( https://github.com/sqlite/sqlite-wasm/issues/118 ). This is stashed in a branch for now and may never be merged - we're still negotiating the terms of its re-addition and my eventual capitulation.
...
FossilOrigin-Name: 8611cf643b11335cd490da1856c34b4f10ac8b82856e0857be1192e36da31f17
2025-11-13 08:36:52 +00:00
stephan
f47095a5a0
Teach c-pp to export its argv as a #define list so that we can embed it in the generates files.
...
FossilOrigin-Name: 42f95ea71e5e7e927685de3a6da2ede38abe7cabdd1fc71b9a14bebe9f54a65e
2025-11-13 08:26:11 +00:00
stephan
791b767b26
Doc typo fix reported in [forum:00e49e9aa1|forum post 00e49e9aa1].
...
FossilOrigin-Name: 36cd33f634a45900f6e52ba07aa20242a5f2b29c7cbe19be968c52ffef34fcde
2025-11-13 07:07:28 +00:00
stephan
ce53b80819
Minor doc correction and a JS error message tweak.
...
FossilOrigin-Name: c4ae21c89e5fd40eefd4916df6c6a6c4e27075a434a9d47576d3fcfbc7720588
2025-11-13 06:49:12 +00:00
stephan
b867030b1a
Clarify that 'pikchr' is not a typo.
...
FossilOrigin-Name: d7bb2ee6ec23c266c887fb2aeb77b0b17cd8f1429564d341537f57c5478410e2
2025-11-12 17:25:17 +00:00
drh
7efded5edc
Improved concurrency for "make devtest" by splitting fuzzdata1.db and
...
fuzzdata2.db into slices for asan and ubsan testing.
FossilOrigin-Name: 2c31176607f02a73cf2626cda2dd0711ae74bdf0b4520d4c84ff299c860e419e
2025-11-10 20:01:39 +00:00
dan
f07576429e
Avoid dropping RETURNING triggers when the schema is reset while preparing a statement.
...
FossilOrigin-Name: 45d820ca227eb1ade4dda498b0f94b2c5df4bab3fc5fcdd517ee125a43d16f4d
2025-11-10 19:11:15 +00:00
dan
14fcb8252a
Avoid dropping RETURNING triggers when the schema is reset while preparing a statement.
...
FossilOrigin-Name: e26bcef7522a6f6ee8d55fa30e7fe06419566cf4e8c2df0c33c92a4c89f58c05
2025-11-10 17:37:59 +00:00
drh
a79f685533
Fix a missing va_end() call in the intckMprintf() function of the
...
incremental integrity-check extension.
FossilOrigin-Name: 62ad2350e368dc337ba2d0fb6847d07c40a6f79520dd6414d22b5b54983b0b12
2025-11-10 11:05:36 +00:00
dan
240397bb03
A more compact fix for the problem first fixed by [5f5a736f88].
...
FossilOrigin-Name: 7a644178c8d289ca18631844b2d73b32fddc72afcc80906633dd38c14eba2ca9
2025-11-10 11:00:41 +00:00
dan
4ac766cc05
Have sqlite3_set_errmsg() return SQLITE_MISUSE if a NULL db handle is passed to it, as documented.
...
FossilOrigin-Name: 5f5a736f88bc9bc6c9c83d2cbfd74c0b5357d7417d9993d34a78f0b7317ff796
2025-11-10 10:47:29 +00:00
stephan
73caea1764
Reworking of JS internals to support binding of nested C structs (like sqlite3_index_constraint and friends) and allow some of the automated JS/C conversions to be plugged in at the struct-binding level, simplifying how struct members, in particular function pointers, can be used from JS.
...
FossilOrigin-Name: bb4fd5b789cebf2b224c29023fea3e620a86fb36730c36c0d85d9f35880bf643
2025-11-10 07:41:54 +00:00
drh
998ebf1de7
Fix the ".www" command of the CLI so that it works on unix systems with
...
newer web browsers that do not allow access to files in /tmp.
FossilOrigin-Name: 2f918c14bac28c567cc854b3d41dcdd59191a118bb5fdea9373945fe860161f5
2025-11-10 01:46:06 +00:00
stephan
051e942f5d
Minor doc typo fix reported in [forum:939d5864df|forum post 939d5864df].
...
FossilOrigin-Name: a1f9c977b83fab11c54710070dbedfaea47195050946db74075bdd3ade97a4c8
2025-11-09 07:11:15 +00:00
stephan
4182294987
CLI shell: ensure that .dump propagates its error code on error. Problem reported in [forum:a4f3873b0a8503cc|forum post a4f3873b0a].
...
FossilOrigin-Name: 850b92b6347187d702736bf5a574b9b4a49854a33799875f24fc75c50a6bf908
2025-11-09 06:51:32 +00:00
stephan
c55d8262cf
In sqlite3.wasm.allocFromTypedArray(), swap the order of the allocation and the access to the heap view object to work around an obscure issue when allocating huge blobs. The heap view object could previously become stale via the following allocation if the underlying WebAssembly.Memory object needed to grow. Essentially a realloc()-moves-the-pointer situation but it only comes up with huge allocations under the right circumstances and would trigger a JS exception (as opposed to corrupting the WASM heap). Problem reported in [forum:05b77273be104532|forum post 05b77273be104532].
...
FossilOrigin-Name: 0f712b6b0516dc151d3bcbb63497661c82e11eae368e639bbdf197e1b3467195
2025-11-09 06:32:10 +00:00
stephan
66b37e991b
Add some UNUSED_PARAMATER()s for the sake of -pedantic -DSQLITE_OMIT_WAL.
...
FossilOrigin-Name: 620434a4a276ecaf2ee56d325815ac4e33c95e1190b420a341e376e54ef60278
2025-11-07 11:46:56 +00:00
drh
0aca0ccf2c
Fix a harmless static-analyzer warning.
...
FossilOrigin-Name: 9819fc5aa7706fda9d4ec67835ae87eed64d321672873c9d864788b8cf5d27d8
2025-11-07 11:22:47 +00:00
drh
748c0adb62
Get the sqlite3Hwtime() function working on ARM. Enable scanstatus by
...
default on Windows CLI builds.
FossilOrigin-Name: 305bb022368bac9fafd7c2794762299324796903aaea270923d07f2127d8926c
2025-11-06 13:19:50 +00:00
drh
e77530050e
Improvements to documentation for stmt_scanstatus interfaces.
...
FossilOrigin-Name: 5f3e883d180d6fb7a1909df284713170f5431ea7afcc1a3eb5912c4620df42b2
2025-11-06 12:25:26 +00:00
stephan
366e0ed80c
JNI: doc tweaks. Add missing SQLITE_DBSTATUS_TEMPBUF_SPILL export.
...
FossilOrigin-Name: 2c8938f43f721a2592b0efe36f75ab87aa370654e1a22d646c0a17d58d643295
2025-11-05 10:07:57 +00:00
stephan
201066302e
TEA extension: add --tcl-stubs config flag, defaulting to zero, because there does not seem to be a universally-valid default for that. Addresses [forum:cd6503fce2|forum post cd6503fce2].
...
FossilOrigin-Name: 4954b94763052ed60ad2ae610e4f5c18fdba4475a39eb369408e984c89805e97
2025-11-05 05:59:53 +00:00
drh
29bdac3ee5
Remove stale code from the fileio.c extension.
...
FossilOrigin-Name: d26f115760f16cac1cd28c950d1c0eec199461d2c9a52baafb91ff6b8d5ec151
2025-11-04 23:47:49 +00:00
stephan
53ba0b80f2
Minor wasm build simplifications and extend the JS bindings of sqlite3_column/value_text() such that they include embeded NUL bytes in their result strings rather than truncate them at NUL. Consolidate the shell.c build flags from the canonical and autoconf makefiles into the configure script.
...
FossilOrigin-Name: cee2e2576f5e91911a019bff025ee6071850c0d75941e8746f10d57b56bd830a
2025-11-04 22:01:55 +00:00
drh
c2aa8e3875
Version 3.51.0
...
FossilOrigin-Name: fb2c931ae597f8d00a37574ff67aeed3eced4e5547f9120744ae4bfa8e74527b
2025-11-04 19:38:17 +00:00
stephan
b799156a31
Consolidate the three VFS-specific SEE tests into a shared routine.
...
FossilOrigin-Name: 8ac0bf125ddb6cc86a6825dcfe8895559835eca85ef14b5ad489f7c8159462e4
2025-11-04 01:03:58 +00:00
stephan
23e4ae2121
Move the hard-coded SHELL_OPT makefile values from the two main makefiles into their shared configure script.
...
FossilOrigin-Name: 900885c4fb3071e461bf868e9e68d0d8f3d3e83a1bcbf5c9c68179c701c1fb92
2025-11-04 00:15:51 +00:00
stephan
abc23b5404
Merge trunk into wasm-post-3.51 to for some minor config script work.
...
FossilOrigin-Name: bf55a4220a74022e8be5f8a0cd7f4ca395a36e1666e14113e7e60c4a94cf0b3a
2025-11-04 00:10:10 +00:00
stephan
e977440d79
Add tests demonstrating [d0e803b90344].
...
FossilOrigin-Name: 7d22ee947ddecb0dc6c640e79c9a09c0931f8b04f97d3ac89afdbf1736312bf7
2025-11-03 21:38:34 +00:00
stephan
bb3b269ba9
Add new file missing from [936990cf067a5ebb] (and subsequently deleted by fossil clean -x). Have speedtest1 wasm use the user-provided sqlite3.c, rather than forcing the canonical one, so that the wasm exports don't have to be re-generated for that special case. Remove a harmless duplicate -D... flag.
...
FossilOrigin-Name: 7a592f5cd09699b45051855f6d477def40220b17642cbdb0f35ed74dd32becf1
2025-11-03 21:26:27 +00:00
drh
1bf7eb3d49
Use the same compile-time options for the CLI in the auto-setup tarball
...
as are used in the canonical source tree.
[forum:/forumpost/8975130218|Forum post 8975130218].
FossilOrigin-Name: ccabbe06d4e0650eecc91296d6a3040ed7fef06b47e4d63393a2367c8c8f55cf
2025-11-03 15:34:25 +00:00
dan
f1c37a357e
Add new column "cwd" to the jobs table in testrunner.db. For recording the directory in which the test ran or is running.
...
FossilOrigin-Name: 334305a469a51ef0d768ba8443d8cab217f45394cc9f720748a489b10703193d
2025-11-03 15:29:51 +00:00
drh
d95fffc9af
Adjust the dbstatus2.test module so that it works on 32-bit builds in
...
addition to 64-bit builds.
FossilOrigin-Name: dcaaa71e750d56afde3e905aaf10729ec95e0ede00522e1b12af6b6345e744ac
2025-11-03 12:36:52 +00:00
drh
4733884eae
Update test result output from test/dbstatus2.test module so that it
...
reports the actual value of nTmpSpill when that value is out of range.
FossilOrigin-Name: 382c8440d7a16eae49fa1644513ae045bfceb072d9b4005963f57f1a57fe94b2
2025-11-03 11:35:13 +00:00
drh
0dfa31d279
Fix the test/speedtest.tcl script so that the CC= command-line option works.
...
FossilOrigin-Name: 0de0ba878b9ec572d76d47112a0124df9f234fbb7a69c5f5a76ce8c439b11f6f
2025-11-03 10:40:06 +00:00
drh
15c6d88381
Fix a harmless memory leak in the CLI caused by the --cmd option generating
...
an error message.
FossilOrigin-Name: ab916bad188b150321e420ec0009d909c287e3790b5d6ec683e2df9ed457ff15
2025-11-03 10:14:20 +00:00
drh
eaacb4ac37
Add pedantic OOM detection logic to some disused diagnostic and test code.
...
No changes to any deliverables.
FossilOrigin-Name: abb6945fc62a1855786bda1f473edef0e937a791c453387a0859a6ce0451635a
2025-11-02 22:57:26 +00:00
drh
0c747e1653
Update the test/walthread.test testing script so that it uses a random
...
database name.
FossilOrigin-Name: ce25a758d4cea1741cb3db6384720f17faef61b352d494ab410a83a41f1721d3
2025-11-01 20:14:43 +00:00
stephan
e5c8467a8e
Fix ext/wasm/mkdist.sh to use ./version-info instead of ../../version-info (a recent build change made to ensure that builds with a custom sqlite3.c embed that version info).
...
FossilOrigin-Name: d25a92d88923f880d6477a99f2a35528faea83e7db245f2b07db80613b4aeb8e
2025-11-01 14:49:05 +00:00
drh
b2b8ab6bc8
Updates to the compile-for-windows.md document. No changes to code.
...
FossilOrigin-Name: 652310a9f0ef2a870b5033029278b1fbef28c2ec15405d1b32bf1d51df28266c
2025-10-31 17:45:59 +00:00
dan
7f70085071
Detect some cases of ambiguous column references in USING clauses that can come up with nested joins.
...
FossilOrigin-Name: 38c993c8b7137d6d5623d387292639634297c17da11befec9029f12a16a472f8
2025-10-31 16:07:31 +00:00
drh
a183595edd
Change the name of a file-scope constant array in carray.c so that it does
...
not conflict with other variables names in other files when carray.c is
amalgamated. This is down to resolve a harmless compiler warning.
FossilOrigin-Name: 5afd815ada94d55c9c56efe339235d23ffbf1fb64511a5e460927a2c8deaaaf0
2025-10-31 15:18:29 +00:00
drh
63ab7c625c
Update the main README.md file to use the robot-safe /rchvdwnld page on the
...
server for downloads.
FossilOrigin-Name: c1aa52361b8ede611f64b96f2394174389ce531b1d86b9cfec91d3b03c94f6ea
2025-10-31 13:44:51 +00:00
drh
1c19c06246
Fix the output of ".dump" in the CLI so that the sqlite_sequence table
...
is created using correct syntax.
FossilOrigin-Name: 4b9f2e1d4485ad3baf9285aa09b468469be929b18cb308f19af471d7aac66076
2025-10-31 11:23:44 +00:00
drh
da17de532f
New assert() statements to help out static analyzers.
...
FossilOrigin-Name: ba0c4bf072ed721a507855d68bde7f1c388396a19b69814b6e257b934f8b0fd9
2025-10-30 22:10:41 +00:00
stephan
1ed6441bb1
Add SQLITE_OMIT_WAL checks around some functions to avoid defining unused statics in such builds. Fixes OMIT_WAL builds on msys2 and passes tool/omittest-msvc.tcl.
...
FossilOrigin-Name: f9b89535dc279acf617f274b6edbad0610fc8e5c76d402fc8b5b9dc656e95caa
2025-10-30 21:11:01 +00:00
stephan
c129de05bb
Simplify the EXPORTED_FUNCTIONS lists to use the preprocessor instead of per-list shell commands. (Unrelated) Remove part of the post-compilation JS filtering which breaks with emsdk 4.0.16+, which means the .js files are about 57kb bigger than they really ought to be.
...
FossilOrigin-Name: 936990cf067a5ebb34f7f662fc2d23d468c50f179afafe47fe0d2ed775f5ef74
2025-10-30 20:18:20 +00:00
stephan
6acd8d28fd
Merge trunk into the wasm-post-3.51 branch.
...
FossilOrigin-Name: dda1735716cf1006b2a5d1d8eb29df3039047be38dcc04249c4ce50c77084fac
2025-10-30 19:32:46 +00:00
drh
139ec38ac8
Further improvements the ".dump" command to handle corner cases.
...
FossilOrigin-Name: cd0c77934ff32050380c2143bba7d4e6c07d5f08187cb5d5e8e7602854d1cda8
2025-10-30 18:52:48 +00:00
stephan
41fda52f3c
Another (void), as per [dd6edfc09434].
...
FossilOrigin-Name: 7a822cfd388d7ac5765cffd5bd3d6e5b31abc6a360f9d5e27c0223f83a84237e
2025-10-30 18:48:19 +00:00
stephan
7fb2545905
Add (void) to two places for the sake of SQLITE_OMIT_WAL builds. Why these do not complain on tests in this tree, but do on a downstream tree (same machine, same compiler), is a mystery.
...
FossilOrigin-Name: dd6edfc09434b0d170d5ab462053497043016a4ec6b91a46db565ccf646aee20
2025-10-30 18:46:03 +00:00
stephan
3a61466a2f
wasm: re-add SQLITE_OMIT_WAL to the c-pp-lite build flags.
...
FossilOrigin-Name: 617f8ac40e073c3fdc1144639b78617ad61113f4e873fc20c99399d2b60e1ceb
2025-10-30 18:39:28 +00:00
stephan
916fc1129c
Macro tweaks to get SQLITE_OMIT_WAL building. Remove some nearby stray EOL whitespace.
...
FossilOrigin-Name: c31a944680f18a799c763238dbb0561f8b039905ce442533258905219b33b743
2025-10-30 18:38:14 +00:00
drh
a8a99becb5
Fix a typo and improve wording in README.md
...
FossilOrigin-Name: 34a662ce24930a5e1a142f0b3ce427c4b1b61a306537820dc5e72996f8080d86
2025-10-30 18:33:58 +00:00
drh
f3b396494f
Updates to the tool/warnings.sh script for better compiler warnings.
...
FossilOrigin-Name: c9c64892c76cb9f2efb58428b349d43b075e7595b6a391d4818a7e9fb68b85fd
2025-10-30 18:32:32 +00:00
drh
4ebf49168a
Fix a harmless compiler warning associated with flexarrays.
...
FossilOrigin-Name: f02cdf1d3ea8da8a09d115721845afeff5d6169dd7532ab486d3ed6db69cde2d
2025-10-30 17:23:17 +00:00
drh
c6b86ba2ab
Updates to the main README.md file.
...
FossilOrigin-Name: ab10c4cd9f9314bc62aa310ee796f63c82710c35659debe347e8ebcbf34d9e86
2025-10-30 15:43:57 +00:00
drh
c5ff2aa7cf
Fix the CLI ".dump" command so that it does not make duplicate
...
sqlite_sequence table entries as described in
[forum:/forumpost/b1674b56ad|forum thread b1674b56ad].
FossilOrigin-Name: c833f26a6780f919551e50c67d308e96293cec8481899354411d805617481f24
2025-10-30 11:39:49 +00:00
drh
cb36dc3f3e
Prevent a harmless signed integer overflow in the CLI if the argument
...
to the --skip option of the ".inport" command is -9223372036854775808.
FossilOrigin-Name: 247277d9373cb2614a1bc4c1e08b904315e5e8c0c2a7fbe9c2ac651481601642
2025-10-30 10:36:10 +00:00
stephan
bc5e0be7f8
A experiment addressing the embedded-NUL behavior of sqlite3_colum/value_text() in the JS bindings, as discussed in [forum:d77281aec2df9ada|forum post d77281aec2]. This is an experiment only. It works, in that existing tests do not see the difference, but it has implicications which require careful consideration before deploying.
...
FossilOrigin-Name: d0e803b90344ee972e4b3fb30b77e283599dc4d5c6a3335ce9fea653a1b3f6f0
2025-10-30 02:21:38 +00:00
stephan
7c86a0321e
Remove an OMIT_WAL from the wasm build because it breaks with the current amalgamation (and isn't strictly needed here anyway).
...
FossilOrigin-Name: a7be7d155aa6f02075f939ab6d26cfdfe2d0832b59da39c8bf4a74fc4845bd05
2025-10-30 01:43:30 +00:00
drh
d443f0a95f
Fix a logic error introduced by [cea8bf79e18d55a8] which caused
...
"0 OR 2" to be evaluated as "2" instead of as "1". Problem reported at
[forum:/forumpost/d5f32040c5d50d2d|forum post d5f32040c].
FossilOrigin-Name: 095cc4f22e63c98cbb2acabdbcaf02e59e67ec6d3cc219b5f42a714e3d53a264
2025-10-29 20:47:01 +00:00
stephan
34b1bf16ec
Tiny cosmetic tweak to configure script output. No functional changes.
...
FossilOrigin-Name: e2c20aa5929e5b79aabca8a51fb3e32e0533526d64d7576d3caf1c847fff58b4
2025-10-28 22:09:43 +00:00
stephan
74cd3c53f9
Typo fixes in LICENSE.md from BrickViking.
...
FossilOrigin-Name: 26ddec291696dd99c7f84a21b2dd272ce9bf32598ca38413ac89432d45527f8d
2025-10-28 19:57:15 +00:00
drh
ffbfc27fab
Fix an signed integer overflow problem that can occur when using an oversize
...
value for the SQLITE_MAX_LENGTH compile-time option together with
multi-gigabyte operands to the OP_Concat operator.
FossilOrigin-Name: 724f2299f206cc9e7f830f984c50a8fc4ac1c17210d71d9affe657b45252b060
2025-10-28 13:24:50 +00:00
drh
5a9ada593f
Add enhanced resistance to corruption after posix advisory locks on the
...
database file been unintentionally broken on unix by running
close(open(DBFILE)) from a separate thread.
FossilOrigin-Name: 6385a1962c69c69ca4775888f034a4eb892aa013689c000f3de6422da7c3c695
2025-10-28 10:50:55 +00:00
drh
9c0770537f
Enhance the CLI so that it can handle inputs larger than 2 billion lines.
...
FossilOrigin-Name: 5daebf2d6013e73d89c9feb796e15b67c39577e5a9e9c86fa260995f4118f04b
2025-10-28 10:44:26 +00:00
drh
6cc222c3be
Additional comments explaining what unixIsSharingShmNode() does. No
...
changes to code.
FossilOrigin-Name: 819fc87385fd5be8a847492478f4c4f247f64edf7c7161b641bfbac6b658bec5
2025-10-28 01:28:20 +00:00
drh
db0d47b749
Omit unnecessary branches from the unixIsSharingShmNode() implementation.
...
FossilOrigin-Name: 2d5623bc27073c407ec63e401f095d12f0025dd276a0bdc26d8b94b1f13c9a36
2025-10-27 23:57:57 +00:00
drh
e34f35c833
The unixIsSharingShmNode() function should always return false for the
...
unix-excl VFS.
FossilOrigin-Name: 770f35dae47a98554b18f8a7aa9f6b6e39ae2b3aa8dce8d75b5bed0c6f0f9c21
2025-10-27 15:44:16 +00:00
drh
626351d444
Implement an experimental defensive measure to try to prevent the -wal and
...
-shm files of an active WAL-mode database connection from being deleted out
from under the database connection in the case where the database SHARED
lock has been released by an accidental call to close() in a different
thread, or similar.
FossilOrigin-Name: ed1b9206640f66cb8abff444809ccab8a4a5157b5c90e9aacddc422210e63423
2025-10-27 14:24:02 +00:00
dan
6e27846323
Fix a minor over-allocation of heap memory in wal.c.
...
FossilOrigin-Name: 1803cb9bb6a13fb66956f729066b6eae64c3a1c0715102fb1a9994e395c12ba9
2025-10-27 11:39:07 +00:00
dan
8ce786f173
Fix sanitizer complaints in the regexp extension.
...
FossilOrigin-Name: 6ff9ecb89d769bc2a27f8a57130f28ec7478979d3e35ba765c16017b5bdf775d
2025-10-27 11:20:47 +00:00
stephan
6b9230d2a1
Merge the OPFS/SEE tests into trunk (where they should have been committed).
...
FossilOrigin-Name: f8a4d7abf0d1c9c92fa102165d08aed76fd766d49615e3d347b5547580355574
2025-10-26 21:58:41 +00:00
stephan
241004f8fc
Demonstrate the opfs-sahpool VFS with SEE.
...
FossilOrigin-Name: b4cffc00f3a18906867e8f070fbc49293ac5c038bad58e96ea74948591f31013
2025-10-26 21:45:02 +00:00
stephan
89a9efe840
Add a test which uses SEE via the "opfs" VFS. "opfs-sahpool" is pending.
...
FossilOrigin-Name: 1eb5a7ea394aa5b7e8594d73ce31f4b9bef55f2fa977dc26810c0bfba1cc39f7
2025-10-26 21:30:29 +00:00
stephan
4f177f1d3e
Merge trunk into the wasm-post-3.51 branch.
...
FossilOrigin-Name: be5d2bae508a681628d4f84528e37db4e8a39b16e580b0d6ab4cd844566e973f
2025-10-26 18:43:04 +00:00
stephan
d4ead9b9e4
A better/cleaner fix for [1c80ff88c0ce].
...
FossilOrigin-Name: 6138043bdde09224a764b5d5f18a9e2776c761c424f41b0d69427d92d47ec41c
2025-10-26 18:36:57 +00:00
stephan
f57d368078
c-pp-lite: Fix another newline-related off-by-one which could cause newlines to get lost in @token@ filtering. Problem found in out-of-tree testing.
...
FossilOrigin-Name: 1c80ff88c0ce3d1c168c9bda734cf52114c35efdcf46a6da78f0ed9adc794eb8
2025-10-26 17:59:30 +00:00
stephan
3fceae3b95
Doc typo fix reported in the forum. No code changes.
...
FossilOrigin-Name: 6e065b6aa099f31493cfea22a729f92bb312147d8584f663fb75630a25772e43
2025-10-26 12:34:13 +00:00
drh
38113d392d
Add the SQLITE_FCNTL_FILESTAT file control and the sqlite_filestat() SQL
...
function.
FossilOrigin-Name: 9870afcb2a360dff83e211009710bc85db238d9a6993afcc1eb38ca7699fb4a5
2025-10-25 22:22:58 +00:00
drh
a105989856
Rename the file control to SQLITE_FCNTL_FILESTAT. Rename the SQL function
...
to sqlite_filestat(). Rename the enable macro to SQLITE_ENABLE_FILESTAT.
FossilOrigin-Name: ee797fec4eeace78caa2c5e463108bf1a6568db7c33d94d9fe6624cfc6b0d4fe
2025-10-25 20:46:09 +00:00
drh
ecbeefecd0
Fix a bug in sqlite_file_info() output: It was showing the "pal" for
...
the main file descriptor when traversing other unused file descriptors
for the same inode.
FossilOrigin-Name: 3c4020d76e29c39483f6b92857ea470245afcd514870c63bd3373e0e213cd355
2025-10-25 19:51:16 +00:00
drh
2b24d8957e
New --normal option for the ".open" command in the CLI. Also, when opening
...
the database for deduceDatabaseType(), use the same open-flags that will
be used subsequently for the official open, to avoid creating unusable
file descriptors that need to be held until all database instances close.
FossilOrigin-Name: 5e20a0435b1bd84d90c9a419219afe794fdf8ea73213f4c7ae5612c0375bed55
2025-10-25 19:36:12 +00:00
drh
726e836108
Add additional information about unix file descriptors to the same database file
...
in the sqlite_file_info() output.
FossilOrigin-Name: 64045f0a4d71ef068d64f2f25799cf1ae79c3cdb94039c73f1066290e3dbc943
2025-10-25 19:26:16 +00:00
drh
7be565f0cc
Adjust unixPosixAdvisorLocks() to use redirectable system calls so that
...
it can be tested.
FossilOrigin-Name: eafe88b782875cd839fc27da509830e3e1d95781c686e27242a2844910203a42
2025-10-25 18:40:18 +00:00
drh
c053b57716
Merge the CLI deduceDatabaseType fix from trunk.
...
FossilOrigin-Name: 82f907016ee75ca288d8ac0664d5c147fbfad42c5f8222211acc3220bd0eb609
2025-10-25 18:36:14 +00:00
drh
0d859b4828
Fix the CLI so that it does not try to open what might be an SQLite
...
database using open() in the deduceDatabaseType() routine, as this can
lead to broken posix advisory locks.
FossilOrigin-Name: 2a3a02715fa53673531575fa13aee056711139b409367cccc18654e82720c4e6
2025-10-25 18:35:29 +00:00
drh
ab29c24dc3
Additional information about the unixShm shown.
...
FossilOrigin-Name: 85846c7fbeeaf5fccfcbe11a4b87c4ee49781456ccb4da1d090b7823d7b456d6
2025-10-25 14:06:36 +00:00
drh
dcc07d3ca6
Do not attempt to show posix-advisory-locking status on journal files.
...
FossilOrigin-Name: 7f8baf64bb722d7dfdfca22d4f11a72113d5ed2b36d6cc6020fb0acf8185b3e7
2025-10-25 13:55:49 +00:00
drh
234c6c4bf0
The sqlite_file_info() function should always return JSON, unless there
...
is an OOM.
FossilOrigin-Name: 65aed79c29bf1aac0934475c02b358b916f413b20d2475ec7b631011f21f4e2b
2025-10-25 13:16:41 +00:00
drh
86319b841a
New symbolic representation of posix advisory locking information
...
FossilOrigin-Name: b7d991ae04da1d6731b67fbdca65df996ec1c14a9530880fb7dbeeaef2575d14
2025-10-25 12:53:03 +00:00
drh
f4e66056ac
Merge trunk enhancements into the file-info branch.
...
FossilOrigin-Name: 73e1e081e9f7fc0ece98222669d13abde16197f0befc3343246a9e7da7856f02
2025-10-25 11:47:04 +00:00
drh
76db3a6e66
Stricter assert() statements on unixShmSystemLock().
...
FossilOrigin-Name: ed01ed337c04cce4cdbb6e80628b6f716d537e072b80067bd2bd6c5d18a1454f
2025-10-25 11:37:54 +00:00
drh
003737d1dc
Improvements to the design of the /proc lock analysis.
...
FossilOrigin-Name: f2809dd3b266c0a6a6eb4ed62812a907493fb4006d26f8905df7ff2b1ca01a5e
2025-10-24 23:12:33 +00:00
stephan
02c5f3976f
Random tiny tweaks in internal JS and flesh out the tester1 test selection list to include both 32-/64-bit entries for all tester1XYZ.html combinations. For after the 3.51 release.
...
FossilOrigin-Name: c087a1d23deac84ac46e769332ec167c5b38fc8e525fd90484d3fa0b6d304ffa
2025-10-24 21:01:23 +00:00
stephan
be4d0c2e2f
Make it particularly clear in the wasm build output that unsupported builds are exactly that. Cosmetic tweak only, no functional changes.
...
FossilOrigin-Name: 86f53a2eb37d8ec98bc9d4c6b00253cc00d798e79c7d409e65d608354a556e19
2025-10-24 20:29:12 +00:00
drh
aeb886bc53
Easier to read /proc lock interpretation.
...
FossilOrigin-Name: d7bcc54beb6463501c0559333455bd2a378798b58cb48f35590e9026d07acd2f
2025-10-24 20:26:13 +00:00
drh
2f9311c5cb
Flesh out the sqlite_file_info() function further, and in particular
...
show locks based in /proc/PID/fdinfo/FD, when that information is
available.
FossilOrigin-Name: ce75111cced8a03f05cf47ef809b9f017f2dac3c64c6008d595f28dbfec32057
2025-10-24 20:04:16 +00:00
drh
093b26e8e0
New diagnostic SQL function "sqlite_file_info()" and its associated
...
file-control SQLITE_FCNTL_GET_INFO.
FossilOrigin-Name: 56ab9692583d5b64e1ab727e08a01c0a65b4e318b455c94397663ef8d3d7b6b8
2025-10-24 17:42:03 +00:00
stephan
63ee854264
Fix a duplicate SQLITE_API on sqlite3_carray_bind(), as reported in [forum:7499e8a19edc8908|forum post 7499e8a19e].
...
FossilOrigin-Name: 62917cd4297e734477d3201481548ddb7f79ec977b9da7d9313bc7f1c0091187
2025-10-24 17:16:00 +00:00
stephan
3ba506d9cc
ext/wasm: dependencies fix for parallel builds attempted immediately after a distclean. Add version-info to the distclean rules.
...
FossilOrigin-Name: b99233fe3d901714c4369ba25c510050fb7a8a85c1168780108595e9639a6d15
2025-10-24 16:39:58 +00:00
stephan
67fa337744
ext/wasm/GNUmakefile: (A) When using a custom sqlite3.c, use sqlite3.h from the same directory instead of the top of this tree. (B) Re-add preprocessor flags for SEE which were misplaced during recent build refactoring.
...
FossilOrigin-Name: 1b1e530a9149ce62d3d53f5c558e358d4e6d1b00e0cce8bb04cb6b13d1841538
2025-10-24 16:25:23 +00:00
drh
033dbac510
Fix [4e713558f6c6ea3d] so that it supports separate builds of rtree.
...
FossilOrigin-Name: d030e955d703772e1637ef2c07d29816fc869ead0a15a85ec8b4633e5ca08e0a
2025-10-24 16:01:55 +00:00
stephan
9af334f54a
Document minor discrepancies in how sqlite3_bind_pointer() and sqlite3_carray_bind() react to the SQLITE_TRANSIENT and SQLITE_STATIC finalizers.
...
FossilOrigin-Name: b92478c389a9ff57302c021444ced09aef067ab55394dcda38cde97a3f2628d4
2025-10-24 15:18:13 +00:00
stephan
4bb53ab2e4
Make explicit that sqlite3_bind_pointer() and sqlite3_carray_bind() call the provided destructor even if those routines fail, per [forum:6d81b10952|forum feedback].
...
FossilOrigin-Name: 1fcb0b60798c708fec53d9d69a65cca2e37a9af7a5fa654c7b2bba97056cd461
2025-10-24 14:30:42 +00:00
drh
7adc9a5978
Update the MSVC makefile for the amalgamation distribution.
...
FossilOrigin-Name: 440ce1cff2b7519912fec87f440894592e901d730bf74cf99479e7b1d047bf02
2025-10-24 13:23:43 +00:00
drh
acdda1075d
Enhance the tokenizer so that it is able to deal with individual tokens
...
larger than 2GiB.
FossilOrigin-Name: 4e713558f6c6ea3dfbc97d2eb0a328955ef6ad6f2ad05517efe9ed4a60181440
2025-10-24 13:18:31 +00:00
drh
bc2691d5c1
In the CLI, improved error messages on input errors. Limit the size of a
...
single SQL statement to a little more than 2GB.
FossilOrigin-Name: 0b50e7e10aae3d57f1cbd38d02be50cfbd2d5148ab4a9be712afd8678787b7bd
2025-10-24 12:32:32 +00:00
drh
95c188d557
Limit the size of --hexdb files in the CLI to 2 billion lines, to avoid
...
overflowing the line number counter.
FossilOrigin-Name: 2adfd0f47b028b8378e6cc08dc22abf1606036bbd285a7bc3a0de0eaf6feeb8f
2025-10-24 09:24:56 +00:00
drh
4043096408
Additional defenses against over-sized inputs in the (unused) amatch.c
...
demonstration code.
FossilOrigin-Name: b9f6ae0767ce5d9cbc6fca6d63c929f919473fa669e50a0a460627e5fde2628c
2025-10-23 14:05:58 +00:00
drh
d06a0be514
Fix a faulty error message in the ext/misc/fileio.c extension.
...
FossilOrigin-Name: 1fdef271cd15d0960a7933253a10f288e26771cdcf34b5cd22adbc49d6341bc5
2025-10-23 13:10:34 +00:00
drh
984e446891
Adjust some of the markdown in the LICENSE.md file so that it will hopefully
...
work better on GitHub.
FossilOrigin-Name: 773f9d3dcf1ac7a9ce7f0911f46301f3e0e01d699f73a264cab692299a8d615e
2025-10-22 00:38:28 +00:00
stephan
774ce0ba43
Back out [b144f875d6bddce6] and remove the former check for strchrnul() from the configure script.
...
FossilOrigin-Name: f4e059b2243c6db37b4dd201b03f0c1916baec5e9e1a660815fcd7eeaf530367
2025-10-21 16:15:53 +00:00
drh
d41f5ef7e6
Reduce the maximum size of LIKE and GLOB patterns in the ossfuzz.c test
...
module to avoid false-positive infinite loop reports from OSS-Fuzz based
on long and complex fuzzer-generated LIKE/GLOB patterns that are not actually
infinite loops, but which do take a long time to resolve.
FossilOrigin-Name: 53edea286b0a38f4f9c7017276f3a826037919144d517f8c89ef0f35b65af5f1
2025-10-19 17:30:07 +00:00
drh
efe8ae567c
Use 64-bit memory allocations everywhere in the expert extension.
...
FossilOrigin-Name: 6caf793b8f406f5089e3811591bc69384646df16ee18d63bd63760eaaa95d122
2025-10-18 11:19:02 +00:00
drh
21c57abc53
Increase the range of integer indexes in the the merge() family of
...
SQL functions.
FossilOrigin-Name: 8d3943890ef3b533df35c4784c2a42c52503a4d9c3dbe67241510d8b70669b48
2025-10-18 11:04:03 +00:00
drh
31c86ca0a8
Fix a minor memory leak in the CLI that can occur following an error
...
in the ".output" dot-command.
FossilOrigin-Name: d1044bc0616fd20c63ca3b627ad0a116256870a082a72da26f98fb0f59ca44fd
2025-10-17 10:06:44 +00:00
stephan
9f36870a77
Resolve the MacOS-specific build issue reported in [forum:95edc7a8d7d1de59|forum post 95edc7a8d7d1de59], with help from Bo Lindbergh.
...
FossilOrigin-Name: b144f875d6bddce62e8f2ad42bfe5dfa6c2434f2ef3edb86847fb4c23aa46814
2025-10-16 23:42:39 +00:00
dan
9c3fcd932d
Improve performance of the shell tool ".ar" command when it is given a large number of arguments.
...
FossilOrigin-Name: 8fed9de84bce01e88e0e8237e245c0ff9fe9f46394c603887e360658f5ef1ac1
2025-10-16 14:17:30 +00:00
drh
0a585a64d2
In dbpage.c, disable truncation on any update error, including errors
...
in sqlite3PagerWrite().
FossilOrigin-Name: eee5ba5d8a9d01000345185731c531eb84d3cb8e81bf429506c449d962aad843
2025-10-16 12:43:36 +00:00
stephan
6eaeea0a3b
Fix an off-by-one in c-pp-lite.c which could cause @token@-processed output to get one duplicated byte.
...
FossilOrigin-Name: aa2f4c51604f4d4286c8a1ec7eaa6251892471e32087af695712513ee620ea46
2025-10-16 01:44:03 +00:00
stephan
e826aa8e00
Minor JS doc updates. No code changes.
...
FossilOrigin-Name: fc2a026901b1a12526b92fff36d7acc226e554c9f351e6261c7ffd4887bcc337
2025-10-15 23:28:31 +00:00
stephan
ff5d4c348c
Resolve a valgrind-reported error in ext/wasm/c-pp-lite.c caused by successful exit colliding with the atexit() handler. Add -e SCRIPT support to c-pp-lite to facilitate testing.
...
FossilOrigin-Name: 7801c7225a18ccb2216b01663b30e3eb90a961e3d165af73f964c515b74fe745
2025-10-15 23:13:50 +00:00
dan
f66a0600d8
Improve performance of the shell tool ".ar" command when it is given a large number of arguments.
...
FossilOrigin-Name: 0398897067ca5cdedfef0ce7a034ba6d5a2ce6104605ef4ed1c7549499435b44
2025-10-15 15:54:38 +00:00
drh
34c1e04cbf
Fix memory allocation in the ".table" command of the .cli when the number
...
of tables in the database file approaches 2 billion.
FossilOrigin-Name: 5cbccab499bc3983aac1f57355552db607dee6c7ef4eb00d794dbee89c18db70
2025-10-15 10:52:45 +00:00
drh
f83df5b150
Reestablish APIARMOR for the sqlite3_db_status() interface.
...
FossilOrigin-Name: 1738f0bdf5941a70684c82d2040561e53a272595026a837a9f9bab8508a46480
2025-10-14 19:21:46 +00:00
stephan
d6cb2ccee6
JS/WASM: Expose sqlite3_db_status64(), sqlite3changeset_apply_v3(), sqlite3changeset_apply_v3_strm(), and SQLITE_DBSTATUS_TEMPBUF_SPILL.
...
FossilOrigin-Name: b13eafc9b6820517b450041a7e2be573a896b5b9e88b2b28df9f15e3cb91e23d
2025-10-14 18:23:32 +00:00
drh
e7cf3fe4c8
Add the test/testloadext.c loadable extension to test the ability to use
...
the latest APIs using the loadable extension mechanism.
FossilOrigin-Name: a9bd7ed6f77c5e53f9130eac7eb999c662e9158fb229a462d29f18653284d6d0
2025-10-14 17:50:55 +00:00
drh
efde2f6059
Add the sqlite3_db_status64() interface and the
...
SQLITE_DBSTATUS_TEMPSTORE_SPILL option for use in that interface.
FossilOrigin-Name: 9f8739ddea6ec6d8890d0e8f6a0143773a008e4f96bd02a48d4bfebb3f9b72fe
2025-10-14 17:09:06 +00:00
drh
53a6b7d138
Make the new sqlite3_db_status64() API accessible to extensions.
...
FossilOrigin-Name: 2ebd7330312f3ee4674c343b7a19b703f1f89611a6846a0e2be39867f9895522
2025-10-14 16:57:50 +00:00
stephan
4472c967a6
Fix two links in ext/wasm/README.md.
...
FossilOrigin-Name: 0f96eaeaa8c51c20f8d389bfd6d0d6371e8bb29ff7e8eaf3a0bcb35cb2b73338
2025-10-14 14:07:58 +00:00
drh
abe709be8d
Extra defenses against integer overflow in the decimal extension.
...
FossilOrigin-Name: 1a7414d9b5be7ce18b23c357fd98cd0e96d78ac626abfa6e4e0dee494b6a1efc
2025-10-14 14:03:09 +00:00
stephan
5dbbe50758
Add a section to ext/wasm/README.md about the dependency on wabt/wasm-strip for release builds.
...
FossilOrigin-Name: 0dbb13863b3ff1da1be664967ac05c79cf34f7a78def05fe4f6407c06cb4322a
2025-10-14 13:47:40 +00:00
stephan
9f136fc5ed
Fix a makefile typo which caused a build directory to not get mkdir'd for the fiddle build.
...
FossilOrigin-Name: d98d5abf6d27c5359ff8c797ad57394b96074e47010bc4c24120ba69a967dc3c
2025-10-14 13:25:02 +00:00
drh
898ac77f55
Merge all the latest trunk enhancements into the dbstatus-spill branch.
...
FossilOrigin-Name: 55f2613c1bacddb05902d4d5dac3d2b49b91053e6249dd926bb953c763eafeb0
2025-10-14 11:18:45 +00:00
dan
264bcad69a
Avoid integer overflows (a) when dealing with zeroblob(N) calls when 2*N is larger than 2^31, and (b) in fts5 when a corrupt record is close to 2^31 bytes in size. Both of these require special builds with SQLITE_MAX_LENGTH set to a non-default value.
...
FossilOrigin-Name: 27927519696dcb78ff72e245158ea6d33a1b2c3d4da314d4d0283c47d847c3da
2025-10-13 16:07:28 +00:00
drh
a8bb50ce95
Fix a bug in concat_ws() in which an initial empty string was treated as if
...
it was a NULL value.
FossilOrigin-Name: eb2e4e46171c12f59aa5d571eeb310534360b110c3e7bda6eaf68f0e25546264
2025-10-13 12:36:54 +00:00
drh
c93270ebc7
Enable CLI documentation for .imposter
...
FossilOrigin-Name: c639c7be029f86defe6cb8cef094e1126ec8ab3968e12d4d2bf6e6ab23c39821
2025-10-13 10:35:59 +00:00
drh
94356039d0
Fix broken hyperlinks in the documentation.
...
FossilOrigin-Name: 62e6b120c43cd855349bf1b40ad2fb992e31a6e2567e5b145cf1849445849da7
2025-10-12 19:17:31 +00:00
drh
ee4676b3f7
Fix order of operations in the OP_Concat operator of the byte-code engine
...
to avoid any possibility of an integer overflow.
FossilOrigin-Name: 765e6569824ccc34292d6df16a6cd682e6503f20adebe0a43cd2118d69072a63
2025-10-12 10:31:34 +00:00
drh
e4eaf174a5
Remove an unused variable from the generate_series implementation.
...
FossilOrigin-Name: a523e4adbf8e60ea8c3351f33aff793c6e425c594038e8578d12564bf47aac03
2025-10-11 18:44:54 +00:00
dan
59e1ab5576
Fix an assert() that could fail when reading a blob or text value larger than 1GiB from the database (requires a non-default build configuration). This is an assert() fix only, production builds were functioning correctly.
...
FossilOrigin-Name: 3e5ec5731f0c8c5f7da357c63d315aae5a2aca5c1b3567bc8c9386ccc2a798cf
2025-10-11 16:23:22 +00:00
drh
11878165f6
Improvements to the (rarely used) home-grown varients of seriesCeil()
...
and seriesFloor() based on ideas from
[forum:/forumpost/2025-10-11T12:36:56z|forum post 2025-10-11T12:36:56z].
FossilOrigin-Name: e6b9bfdb6f8f86d4d2891d65fee4274dcbc61c9e998d81f90232153c05788cab
2025-10-11 15:45:47 +00:00
drh
5013fd1f81
Provide alternative implementations of ceil() and floor() to the
...
generate_series() function so that it will build even when SQLite is
compiled using --disable-math.
[forum:/forumpost/91690fa646|Forum post 91690fa646].
FossilOrigin-Name: 97d6fd2c99578adb6a1e9b879ba5ae5ad798a8ef8f0646bf0102747d52148bff
2025-10-10 19:43:03 +00:00
dan
eeb2e03b7b
Back out [8bf26c956e]. It is not required following [8e7da8cf50].
...
FossilOrigin-Name: ea29180797aa4bb25180432e75a372277a6f6e2262906a9e765a3bddf8ca79d7
2025-10-10 16:04:19 +00:00
drh
80f0fcd31d
Fix harmless compiler warnings.
...
FossilOrigin-Name: 4966d7a1ce42af8b1c50fdd40e651e80d0eeb8cb62dd882950cab275f98aba88
2025-10-10 14:31:46 +00:00
drh
8c1670642d
Makefile updates to suppose carray() and percentile(). Add Carray to
...
the CLI and fuzzcheck to support debugging.
FossilOrigin-Name: fe9cf68b513d1e8cfcde90f1982a7f4123f54e3ebb004d961a99bdf6bec03a32
2025-10-10 14:22:05 +00:00
stephan
e33786f09a
Regenerate autoconf/Makefile.msc to squelch a 'make test' warning.
...
FossilOrigin-Name: f7f55dce184c433b7774ab569caaeae5994c63421de01e9ea36aa1dbecb2d579
2025-10-10 14:00:27 +00:00
drh
f9d511319b
Fix the carrayfault.test script so that it works in configurations that
...
do not support virtual tables.
FossilOrigin-Name: 767a667b91caff2e789179231f13a0d260c9837020c0ce1553b86e88cf9aa352
2025-10-10 13:43:53 +00:00
drh
ea0d2cebd9
Avoid (apparently harmless) undefined behavior in CARRAY if the rowid
...
is used as a constraint in the WHERE clause.
FossilOrigin-Name: 200b3c8f6cebf34428b0b41fc05f7361771dfee3592cfcdce512084abcc99713
2025-10-10 10:40:37 +00:00
drh
7b34ca9cc1
Fix the sqlite3_bind_blob() interface so that it sets the encoding of the
...
underlying sqlite3_value object to the database encoding. Fix for the
problem reported by
[forum:/forumpost/2025-10-07T12:47:25z|forum post 2025-10-07T12:47:25z].
FossilOrigin-Name: 8e7da8cf506059dde98000db2731b8c47951344263df680a12b7c95aaece2568
2025-10-10 00:59:28 +00:00
drh
8080411752
Fix the xBestIndex method on carray so that it gives a coherient query plan
...
in a join when some of the arguments to carray() come from other table
in the join.
FossilOrigin-Name: c8417b3261b2c9f20dcc38c482b9fc43acb97d933eb723c2f6698a7435a192eb
2025-10-10 00:26:46 +00:00
drh
97fa2fe414
Fix carrayfault.test so that it works with the new built-in CARRAY.
...
FossilOrigin-Name: 22f694682107036e68b67e48123d606aeff8cd8b7fedc8ab8ed9cc1a9cccd73f
2025-10-09 19:23:01 +00:00
stephan
b4fdfc2f9a
Update c-pp.c and rename it to c-pp-lite.c to match its new upstream name. Adapt the JS files and mkwasmbuilds.c for c-pp syntactic changes.
...
FossilOrigin-Name: bb13e46ddfcd1d3ca73845430d9a91c0ea3913762d39bbd94127783d77e4f63b
2025-10-09 15:28:59 +00:00
dan
40d299ae32
Avoid corrupting the fts5 index if a value that was inserted via sqlite3_bind_blob() in a non-utf8 db is deleted.
...
FossilOrigin-Name: 8bf26c956e199762d55c159392c2e3813a9e12b914d3ca33000bf332cd946cb0
2025-10-09 14:50:27 +00:00
drh
0f5a3f16f3
In the CLI, limit column widths specified by the ".width" command to
...
have an absolute value not more than 30,000.
FossilOrigin-Name: b3741f1101d25eded57a62b4967ec1bcce532dc9937c4b7b74cb689861efb442
2025-10-09 14:01:52 +00:00
drh
3be9a9b984
Move the carray() extension and the percentile extension into the
...
amalgamation. Both are still turned off by default and must be
enable using SQLITE_ENABLE_CARRAY and SQLITE_ENABLE_PERCENTILE compile-time
options, so there is no increase in object code size. However, these
extensions are now more easily available.
FossilOrigin-Name: 2d40dc2173ac394024ae267419bd8d3621f15d4cd2449c9c2f7310acc3b190f0
2025-10-08 19:01:00 +00:00
drh
8f2f5e4963
Add the SQLITE_ prefix to the type constants used by sqlite3_carray_bind().
...
FossilOrigin-Name: e11e9913e56d42d2baa07f1b549f212b873fe7343a06825682d843471c4a3640
2025-10-08 18:51:15 +00:00
stephan
0df9db4921
Make use of the new SQLITE_ENABLE_PERCENTILE in the wasm build.
...
FossilOrigin-Name: 937c084c2d9b20fde2d54e48257cb7018bd8c36d6f00ed6f1659b5ecc2f48ed4
2025-10-08 18:17:19 +00:00
drh
01f5e6e757
Add ENABLE compile-time options to enable carray() and median(). Hence
...
there is no new code and no increase in library size without the ENABLE
macros.
FossilOrigin-Name: 7dec290b413ca1bc67694743d8b771e1634fd85251f1a23d60aaf36c63f0f366
2025-10-08 18:11:37 +00:00
drh
ba5cce9f08
This is how the percentile() family of functions might be integrated into
...
the amalgamation, should we elect to do such a thing.
FossilOrigin-Name: c2cfc9c92e35105e26a4c0887b0401ace15a874fd18046135de4b375ba968795
2025-10-08 16:29:14 +00:00
drh
cdaff852bf
Were we to choose to integrate the carray() table-valued function into the
...
amalgamation, that integration might look something like this.
FossilOrigin-Name: 2b43d5d7dcc5aee14a050c824a5e09b6a38a9c78ddcc25a994eba5d4c5ad9ba2
2025-10-08 15:32:55 +00:00
drh
e15ef5b756
Fix harmless integer overflow in the CLI when arguments to --lookaside are
...
ridiculously large.
FossilOrigin-Name: 8bf337e6e609dd38de6002f2d3d3ebf52dd0462ed98a50e4b002a7c6860d30c5
2025-10-08 12:37:01 +00:00
dan
d3973778a1
Fix an uninitialized variable problem in test1.c.
...
FossilOrigin-Name: 059203f658273712597d45d9b4a9cf1aea20368fe51224b38e28797b045fb6b8
2025-10-08 11:00:04 +00:00
drh
55085a2cc2
The ".dbtotxt" command in the CLI should not fail if the database is
...
uninitialized. It should instead be a no-op.
FossilOrigin-Name: 2818ef64d9233095b065101392768071fbd95729cde060b954f48ea821fc549a
2025-10-08 09:52:52 +00:00
stephan
b8d2ca1513
Function name doc typo fixes for sqlite3_source_id() (sic.).
...
FossilOrigin-Name: 03c3f12853163ce542239a98bdf8e830db2fc7ccf1edb2f9c783fcfdca858879
2025-10-08 02:05:15 +00:00
dan
6147a0f6a1
Add test cases for the carray module.
...
FossilOrigin-Name: dcfc0164a95eddb5e924c606850fe2015e8f2f516d36b380cbb79d6bdfe034fc
2025-10-07 21:02:37 +00:00
drh
308831d1c7
Improve the invariant checker module so that so that it added "+" before
...
"column ISNULL" in queries where the base query contains a GROUP BY, to
prevent the ISNULL term from being pushed down into the subquery, since
that can cause ambiguities if column is UNIQUE.
FossilOrigin-Name: b4ff920fbeef9a8590219596d73c09976da3da53c08a685be56f6b2cd2cdc70c
2025-10-07 18:06:05 +00:00
dan
9b6bc61dbd
Fix some integer overflow warnings in the base64 and base85 extensions.
...
FossilOrigin-Name: 06b4bd2aba22c57f5a5fed606c3bee225dee6fdc13bb16cc58194040ef0d7d85
2025-10-07 15:14:03 +00:00
dan
7aa5271c72
Fix a minor problem with building sqlite3.c without manifest.tags.
...
FossilOrigin-Name: 140f0f9fd389c99dc6ba1fdca7658c43d8dc3f3c128484fbafa7d67c33fe1001
2025-10-06 20:11:18 +00:00
dan
9804ed7021
Avoid attempting to delete a file that is still open in sessionnoop2.test.
...
FossilOrigin-Name: 56f6d6c538fd4e0da8a7c4e4c4d1bd0b8cd83ffd126ae24daaf30fdf808e1a78
2025-10-06 17:52:52 +00:00
dan
75ef68e385
Avoid using randomblob() in walckptnoop.test, as it produces different results for different test permutations.
...
FossilOrigin-Name: 94ceb0f0cfef1da89ea2a7420f508024897d9b7c19ef9be9af88d3e6f48c297c
2025-10-06 17:20:26 +00:00
drh
35299c9076
Change the testrunner.tcl option from "--case" (singular) to "--cases".
...
Allow the argument to be a glob pattern, to pick up multiple cases.
FossilOrigin-Name: e205f87f5cf97b82781af690da1a3fbf3dc75f590783074e5a72c1d7e3bebbad
2025-10-06 16:57:49 +00:00
drh
87f53152ed
Fix typo in the previous check-in that prevented the script from running.
...
FossilOrigin-Name: 797664700701effefbf4d87a791febae3bb68544bac23470351a11bcb3a87651
2025-10-06 16:56:12 +00:00
stephan
6f7c977ed9
Add info from the SQLITE_SCM_... macros to tool/version-info.c's --json output, prompted by [forum:0c513ae3fca7d55c|forum post 0c513ae3fc].
...
FossilOrigin-Name: 951882aa4e1684b7b0f7e10590de81eae1ddb8c5ac21588e3f9b9cd4cb9f0f51
2025-10-06 16:54:45 +00:00
drh
ad7118fa68
Update testrunner.tcl so that the new option is --cases rather than singular
...
--case, and so that it is a glob pattern.
FossilOrigin-Name: 9488b4f00c9278de8c03f4a3cbd4f54e48e71c1eff45de4454f8bd49c080a930
2025-10-06 16:50:37 +00:00
drh
0ab87fc9a7
Fix typo in the "testprefix" for walckptnoop.test
...
FossilOrigin-Name: ff205f29934417e8150b5243245fb70389717b219e35bd8d60791a8485b69b33
2025-10-06 16:23:31 +00:00
drh
0611aeeed4
New testrunner.tcl option "--case DISPLAYLNAME" only runs the single case
...
(and its build dependencies) that exactly matches DISPLAYNAME.
FossilOrigin-Name: 8ea2e097b731514c284f255f12b08e15f63c7f49641a698e61ee7e47cc9d3c45
2025-10-06 15:53:52 +00:00
drh
566348f68b
Fix testrunner.tcl so that --help output goes to stdout, not stderr.
...
FossilOrigin-Name: 441a759c225d4e710a693339402624e7ba52852c08aa64439ed4568c193ad529
2025-10-06 14:30:22 +00:00
drh
d357d9d1cd
Fix a subtle problem with short-circuit evaluation introduced by
...
[cea8bf79e18d55a8] and detected by the dbsqlfuzz fuzzer. Test cases
in TH3.
FossilOrigin-Name: d71cd722c478288601c70df8cec8c242cc623d2147b30f4f68dad57c75b3ee4a
2025-10-06 11:50:35 +00:00
drh
833fb1ef59
Another small performance increase in the text format by using strchr() to
...
search for '%'.
FossilOrigin-Name: 59ad89ba07dd7b127f03f62a647f7328f08dbc0aa1b88b2b4529eb5b4c677775
2025-10-05 22:41:32 +00:00
stephan
34775b696b
Fix a syntax error in the tcl script part of [199b6567bb41cd].
...
FossilOrigin-Name: a7ed85f27066b74263dbd3dfcefe5d378e524cc56cd3abac4032bc23f83b5d21
2025-10-05 19:56:57 +00:00
drh
d310393158
Performance optimization in text formatter by using a hash table to look up
...
the operator character that follows %-subsitutions.
FossilOrigin-Name: 199b6567bb41cd41977e28b3e06e8c26c3300b3873f226a4699ec251a7bf8883
2025-10-05 19:30:05 +00:00
drh
275d08ad62
Minor clarifications to the JSONB format documentation.
...
FossilOrigin-Name: 0fc708b41fe99b315b32e4a6ac8d48d8250195f7de1ab1d9f6eaf50290781286
2025-10-03 18:17:13 +00:00
drh
1d574d3d71
Remove the memvfs.c extension, to prevent it from being misused.
...
See [forum:/forumpost/91811439aa|forum post 91811439aa] for the complaint
that prompted me to take down this demonstration code. I have other things
to do rather than argue about posts such as the foregoing, so it is easier
to just take the code down. If you need this code, you can downloading older
check-ins. The beauty of DAG-based version control systems like Fossil
(and Git) is that nothing is ever lost; it is just stops appearing on
trunk.
FossilOrigin-Name: eb79110dcac80dde3bcca0929d67a8f8f6d2eea5695184b2b7c6788283f06902
2025-10-02 22:48:08 +00:00
drh
e2ebc364cd
Fix typo in the previous check-in. Remove surplus end-of-line whitespace
...
from the ext/misc/fossildelta.c extension.
FossilOrigin-Name: cc87551805dc1fcb05598339e526b304401b64a4eaaa2148a9d837b1423484ce
2025-10-02 19:35:58 +00:00
drh
0d9ec8b2ee
Harden the debugging vtab "delta_parse()" which is part of the
...
ext/misc/fossildelta.c extension against malicious inputs.
[forum:/forumpost/be139437c3|forum post be139437c3].
FossilOrigin-Name: 4be6deee646f2c0f591ba81f902182ca9302050a7fb2729c7f64981307058b8b
2025-10-02 19:19:40 +00:00
drh
4defad2f29
In the ".open" command of the CLI if using the --new option with a URI
...
filename, then decode the URI to extract the actual filename prior to
trying to delete that file.
FossilOrigin-Name: 14ee3c1f03de274e5fa1efb471816a0001762623614253c24d58f41ea6af0628
2025-10-02 18:31:19 +00:00
dan
7d973ac52f
Fix -DSQLITE_OS_OTHER=0 builds.
...
FossilOrigin-Name: 2971d7470110fcd43bdc8ad5d09d1f2f63f5a3bccda41810948a683e310ad908
2025-10-02 14:48:27 +00:00
drh
b9c23fa541
Correction to [ae303dab2f534e2c] to use the right loop over the solver.
...
FossilOrigin-Name: 22b2700ac20bb8e5883d484bfd0aee7a0fbc99b92696d8ca850cd129e2ccbb43
2025-10-02 11:28:27 +00:00
dan
cbc3cd47f0
Fix a buffer overrun in the zipfile extension that could occur while processing zip archives with extremely long file-names and comment fields.
...
FossilOrigin-Name: c284fda848038a61972fd1df5796f608a24ead109170aafe562a5d5787c46488
2025-10-02 11:16:22 +00:00
drh
fa563eff1d
Add the --ifexists option to the CLI and to the ".open" command of the CLI.
...
Also the undocumented and unsupported --exclusive option on the same.
FossilOrigin-Name: 9a1947814d235d270dec265bb85db37e75cc077289e444d3d00f8345016c683e
2025-10-01 20:41:02 +00:00
drh
65ee59bb26
Prevent embedded 0x00 characters in the output strings from confusing
...
the completion extension and causing it to read past the end of an array.
[forum:/forumpost/88a08b3201|Forum post 88a08b3201].
FossilOrigin-Name: 26f6d41f9d3ab656129af333d54a8645c6890314919bcae90351ba0c2240ceef
2025-10-01 19:01:19 +00:00
dan
a9af4102f1
Fix a buffer overread in demo code in ext/misc/memvfs.c.
...
FossilOrigin-Name: 90f7318308ca8372cbd9f183d88ff6cb884446f6df0695294c9a9955c5109f72
2025-10-01 14:28:48 +00:00
drh
4af7048aeb
Enable the CLI to be compiled with SQLITE_OMIT_AUTHORIZATION.
...
FossilOrigin-Name: afb2feb38043fef3c286030f9d1238c132f338e54233f2e4655323b388455c72
2025-09-30 19:11:00 +00:00
drh
0f76b0a4d6
Fix various compiler warnings.
...
FossilOrigin-Name: 24ee6c25b4745c8fd671d845b48b9ab98a787ccb348d560ad70f19d035e7990e
2025-09-30 17:37:18 +00:00
drh
c8e6f627b8
Fix the new generate_series() to correctly deal with an explicit 0 as the step.
...
FossilOrigin-Name: b059413c440d1b831c9a462f7165a350001ba7a8cc77ca2a0a8f2bb73c830aba
2025-09-30 17:12:39 +00:00
dan
d05bf5aedf
Fix another potential buffer overread in the zipfile extension.
...
FossilOrigin-Name: 0819fe670f9ceec79f84eb09c234dc29f6581332f86a53d6a0547697404efff1
2025-09-30 11:17:40 +00:00
drh
5b15123fba
Strengthen the fts5_locale() function against integer overflow attacks,
...
even when SQLite is compiled with oversize values for
SQLITE_MAX_LENGTH.
FossilOrigin-Name: f0dbd9d22f558dd002e2132381de3c82d55a670399b3e527b5962b025141676a
2025-09-30 10:11:44 +00:00
drh
974b8d7df0
Fix a problem with the merge at [cb604efdb40da95a].
...
FossilOrigin-Name: ee6102d4fe35b7b914aa2dc7c7dd37460910efedc9b2d192c2fb8cb0e6a1fd4e
2025-09-29 20:40:50 +00:00
drh
8f6b797a1b
Change the name to SQLITE_DBSTATUS_TEMPBUF_SPILL.
...
FossilOrigin-Name: 4a60a9c63534f5d2f16af2c3c6581abe7ecf7adfdb39f17e557e73997ae03396
2025-09-29 19:57:43 +00:00
dan
3eccaa7915
Fix a buffer overread in the zipfile extension code.
...
FossilOrigin-Name: 70c2c99b6f12a3467c23b44adcaf2d7d780ba8317b72de2f6730b1d892cf0c85
2025-09-29 18:55:05 +00:00
drh
c49ff175ef
Merge the latest trunk enhancements into the dbstatus-spill branch
...
FossilOrigin-Name: cb604efdb40da95a759e2eeb9d73608859a94acde9d9782ca82757d3a1c15303
2025-09-29 18:48:00 +00:00
drh
e6197c0d1d
Improve whereSolver() so that it always finds a unique solution.
...
FossilOrigin-Name: ae303dab2f534e2c5132112b61fa5a097e7010fd8b652badee669fbe9df5cf53
2025-09-29 18:17:19 +00:00
drh
7e38287da4
Fix JSONB logic so that it correctly interprets large JSON5 hexadecimal
...
integer literals as positive numbers.
FossilOrigin-Name: 0ad5d77fc0a9d205cc061ee4923d885f6f28f77c1efef3cc10297036ce164e6d
2025-09-29 14:09:43 +00:00
drh
381df874f0
Large JSON5 hexadecimal integer literals are positive unless preceded by
...
a negative sign.
FossilOrigin-Name: 5a93d9dce2d134ca450955bb272baba43dfc76beb540b643bf4bd31f7eb9e0b9
2025-09-29 13:43:10 +00:00
drh
b7f5885b3e
Back out check-in [9abaa0ac2b304934] as the code removed there is necessary
...
after all.
FossilOrigin-Name: 27ae98629406bbaee2857f75c069b2ccd4757b247f0742e51b9e619e96b6dc45
2025-09-28 23:10:54 +00:00
drh
36ba76010c
Revamp the implementation of generate_series to simplify and improve
...
long-term maintainability.
FossilOrigin-Name: 9041ca8543ff3d2a617ce4df696aa53269a7803716caaf55a8e61e59ee667040
2025-09-28 18:25:59 +00:00
stephan
436c8e5026
Remove the long-defunct wasmfs build of speedtest1 from index.html and re-enable the wasmfs scratchpad app (which still works). Fix the CFLAGS for the wasmfs build and the path to the wasm file for one of the JS.
...
FossilOrigin-Name: acaaf8cce9e780bf937436b4c987ed284aa0bba6f5ca9508d9dbad598af2991d
2025-09-28 18:03:29 +00:00
drh
1bf80f2dce
Minor bug fixes. Many new test cases.
...
FossilOrigin-Name: 86dcc68d1816d970d8d5fb158696c3fe6c5ddcac2c255823110d656372503885
2025-09-28 17:24:42 +00:00
stephan
39bffbcd32
Use new c-pp features to simplify generation of the tester1 family of files.
...
FossilOrigin-Name: f7cab028c97b2c9ac9b561a4c33475aadd3f71cbd48ec4dd6e09c1bb19ec00cb
2025-09-28 12:47:09 +00:00
drh
d3cd2a25b4
All legacy tests are passing. Want to add new test cases before merging.
...
FossilOrigin-Name: adb80761d2319e16b6db2b5e35fedc239fad0ed5d26d629a5ea659c90881f76a
2025-09-28 11:01:05 +00:00
drh
9ffb344ed9
The generate_series rewrite is working better now, but is still not
...
completely correct.
FossilOrigin-Name: 6c41d14707e6890ca6d0460c72178ccb710d7f41dead76f222f1382c5cbd5a9a
2025-09-28 10:36:23 +00:00
drh
5b047a8ec6
Refactor the generate_series extension. Compiles but does not yet work.
...
FossilOrigin-Name: 25e395a82f14513bf23c1e913fe24be77ad74fec1540f524e709f9cdfeb3dc56
2025-09-28 09:25:07 +00:00
drh
c2f7be11bb
Fix harmless typo in a comment.
...
FossilOrigin-Name: 1f6deabfff2fc2fed5fbff48d2637b48245e5a946a442c4bcc9b9ecb7c4848b9
2025-09-28 08:59:16 +00:00
stephan
1d592e0d62
Internal js/wasm tooling doc updates.
...
FossilOrigin-Name: 0d6ed44278a513b062539f32da49fa43952fcdf0bc1bba7b24ef3749bc4525a5
2025-09-28 02:30:25 +00:00
stephan
0b0c8734f3
Improve #if support in, and add #assert to, c-pp. Rename target=... preprocessor symbols to target:... because changes in the semantics for symbols which have an '=' makes some of those #if blocks mutually exclusive (which we won't want in rare cases involving the bundler-friendly builds).
...
FossilOrigin-Name: 54287487793d48f6dde919446ab7476aea0cc0aba3835c80f060a7b84221881a
2025-09-28 00:53:00 +00:00
drh
54f296389c
Rework the bounds calculations on generate_series() in an attempt to
...
avoid signed integer overflow when the bounds are ridiculous values.
FossilOrigin-Name: 3d9148c7d7379a34a0c2a33a1eb2562234868bc0b14c3d16990b33e52fd4ebc5
2025-09-27 15:03:11 +00:00
stephan
41549103ac
ext/wasm/c-pp.c: add #savepoint support. Consolidate how the diverse sqlite3_stmt handles are managed.
...
FossilOrigin-Name: b44650f907e9cb4ec908bb7525488e309946fac9d84cdac4cdde730527a440a9
2025-09-27 13:34:02 +00:00
drh
c090488133
Use sqlite3_malloc64() and sqlite3_realloc64() everywhere in the CLI.
...
FossilOrigin-Name: b05c47009120840f74955114082f3a9c1206a81bd935a503fc359b5bde61c996
2025-09-27 13:00:37 +00:00
drh
943324c80d
Fix a bug in the ".dbtotxt" command of the CLI that causes a NULL pointer
...
dereference if run on an in-memory database.
FossilOrigin-Name: 865352499223c3bdc5cb01a2f984d6e3fe74a028ab6a0cf2d92fec49383633f6
2025-09-27 12:35:25 +00:00
drh
18af487597
Avoid integer overflow in memory allocation for the
...
".import --csv" command in the CLI.
FossilOrigin-Name: a8093d45e0f59fd55ea4cba515e9e2eb3683bb0a4f4c062747cfb4074ae3db73
2025-09-27 12:29:28 +00:00
drh
15e4074084
Additional cleanup and refinement of the regexp.c extension.
...
FossilOrigin-Name: 2b34b750b5528b6dda195bc1a3895dc3fe46e70cbf992a78111316e2726c1ade
2025-09-27 11:54:49 +00:00
stephan
4ac2118c5d
Teach c-pp how to replace configure-script-like @tokens@, giving us a much simpler way to get the proper WASM file name injected into each JS build.
...
FossilOrigin-Name: ffd5c8eaa89250a043b573c3eb66693dfec087a5b5eef184ae6d7bfbcf61235a
2025-09-27 11:38:35 +00:00
stephan
4bdfae9d40
Remove and edit some comments.
...
FossilOrigin-Name: 1fa7e32d264f8329a8c9b0b5b469f1fc7ccadee86696d65e05df7fa3868af158
2025-09-27 00:07:25 +00:00
stephan
5d0d30ae2d
Add wasm.ptr to the module-symbols.html output.
...
FossilOrigin-Name: dced5a7c434b83553ede533f71e3133450795c12fc67acd1a55fdedfa8fed76c
2025-09-27 00:05:13 +00:00
stephan
836e895f9e
Latest upstream c-pp.c for the ability to process multiple inputs and outputs in a single invocation.
...
FossilOrigin-Name: c7633373046ceb94f293b8fbd4f436a1eb281c2744d97334c6e7e3a803d8eac2
2025-09-27 00:04:28 +00:00
stephan
879066a0a2
Delay replacing the wasm file name strings until they're needed. Add target b-all to run all known wasm builds.
...
FossilOrigin-Name: a4edaecc9b0b649df53a99e05d9abfbc5bdb40d45c7c6940a50b24fa30dca158
2025-09-26 19:41:07 +00:00
stephan
e309de27f9
Consolidate some duplicate code in mkwasmbuilds.c.
...
FossilOrigin-Name: 1078aa4f1e5685d45e31eea622865ddd077f367f1cec90fc267e8ba50cbe2ee9
2025-09-26 19:30:34 +00:00
stephan
a34f87d25a
Clean up how the speedtest1 64-bit test/demo files are generated. Make log output very slightly less verbose.
...
FossilOrigin-Name: 64715e92708e4f8c5b82c1f4ed71b75f418bf741f7f05516eab309582fbfad2b
2025-09-26 19:19:35 +00:00
stephan
42f9273da2
Get 64-bit builds of speedtest1.wasm running in order to better compare 32-/64-bit performance (spoiler alert: the latter is consistently roughly 10% slower). Add WASM heap usage info to speedtest1.
...
FossilOrigin-Name: 70b944cc0189309c2265b184381f2f050bced7b83f204d57b912def6e203982a
2025-09-26 18:29:00 +00:00
stephan
96c753ec56
Reinstate the Module.instantiateWasm() override and simplify how the wasm filename gets injected into the JS files.
...
FossilOrigin-Name: e878ffd2eaa87e2978c44fcd03a1eb6114a9ae31e31101898d682f43cf81000f
2025-09-26 17:11:39 +00:00
drh
b62c26d999
Limit the complexity of a REGEXP pattern using SQLITE_LIMIT_LIKE_PATTERN_LENGTH
...
FossilOrigin-Name: 869c968569b09d05a5b7d587d8fddb3b4611daf7467dc157701e5dc6c9608606
2025-09-26 15:38:52 +00:00
drh
80d74f0934
In the regexp extension, limit the maximum value of integers in the
...
"{p,q}" syntax, as performance of the NFA used to do pattern matching
is linear in the maximum such integer. The limit is SQLITE_MAX_REGEXP_REPEAT
which defaults to 999. This helps to prevent DoS attacks in systems that
make use of the regexp extension.
FossilOrigin-Name: 911c745f88c0ee8569e67bbcbbab034264f8c981b505aadac3ce7289486a1a68
2025-09-26 13:14:20 +00:00
stephan
3a94a00768
Get wasmfs build working in the new setup. Disable the custom wasm loader because its generated makefile code is currently broken.
...
FossilOrigin-Name: 36bc2514f70af5608aa20903d9c38b316603e2f78f2cbf4a20c7c79b60c5b8d5
2025-09-26 12:49:41 +00:00
drh
8d2f3a1f82
Fix harmless integer overflows caused by over-sized integer constants in
...
the "{m,n}" syntax of the regexp extension.
FossilOrigin-Name: 8f17e1d869685b51f3368feed03dc06543ec16bc8fd81b8daad2ac2dbf99c5d6
2025-09-26 11:53:54 +00:00
stephan
c839ea5d94
Docs and dead code removal in mkwasmbuilds.c.
...
FossilOrigin-Name: d022ee167b90a7c32049a93d476e869270018017f60551185024409730d77640
2025-09-26 11:47:13 +00:00
dan
6553a5d6a6
Fix some integer overflow problems when handling corrupt hexdb dumps in the shell tool. [forum:/forumpost/82b513b116 | Forum post 82b513b116].
...
FossilOrigin-Name: 730323f95d126162fd2867dbee1e1f1fc1d6e05b8a905a6767c4ab1cb43dacff
2025-09-26 11:45:13 +00:00
drh
c9f1759c94
Add new table-valued functions jsonb_each() and jsonb_tree() that work just
...
like json_each() and json_tree() except that the "value" column is JSONB
instead of JSON text when the "type" is 'object' or 'array'.
FossilOrigin-Name: dfc41cb3aad7fedd834baaaba0d8e3aeb55a249af4f0934397652ea9c59dc9fc
2025-09-26 11:36:10 +00:00
drh
a7a8d7fa87
Fix a harmless compiler warning.
...
FossilOrigin-Name: c50a3c45a20e5b9d48e749818bea06dfa99b729535e0617347c6ece1d277a447
2025-09-26 11:28:01 +00:00
stephan
e040128ecd
In c-pp.c, use (void)x instead of an empty if(x){} to flag unused arguments.
...
FossilOrigin-Name: df9ab8a35517e3a2baf4b19d07d46ce3f8b48043ccdeadef22bffc12e80461c3
2025-09-26 11:14:15 +00:00
drh
92f93556e5
On-demand loading of JSON virtual tables.
...
FossilOrigin-Name: 118f97ddcd8f888715825a623c02d42b92a82737a316f7bee4cd66f570945346
2025-09-26 10:29:07 +00:00
stephan
5ace5e0a38
More build docs. Add a speedtest1 64-bit build but it's not hooked up to any test apps yet. Improve invalid-arg detection in c-pp.
...
FossilOrigin-Name: 69086be8a155d70d9dd7b655b66809250b24fe6d5bcdc6cb5e0275446a43f51d
2025-09-26 02:18:28 +00:00
stephan
c1254430d8
Build cleanups and dead code removal.
...
FossilOrigin-Name: b516109e5accc885b71900402c800ae855407552648861334c895f0e5dea4ee5
2025-09-26 01:38:07 +00:00
drh
3574ec40a6
Add JSON table-valued functions jsonb_each() and jsonb_tree().
...
FossilOrigin-Name: 2f8b461c636ce2c0e7970c00d1e6ea62cdef72273150fea6aabe4e9292724977
2025-09-25 23:32:23 +00:00
dan
51e3a140c9
Include writes to temp files by sort operations in the SQLITE_DBSTATUS_SPILL values.
...
FossilOrigin-Name: 4c1118ba40172af61d9304dec7a9c7344566e6a5963a317880ad232bebb40176
2025-09-25 19:32:29 +00:00
stephan
ae48a2463b
wasm dist: add --snapshot flag, add -64 flag to include 64-bit builds, and add module-symbols.html to the dist.
...
FossilOrigin-Name: e9a6391b377b6964620285192262a4dc9fe1712799f7aa8a8b37c5f718544ed2
2025-09-25 18:53:28 +00:00
stephan
3e7fe489e2
Replace ext/wasm/dist.make with mkdist.sh and get dist working with the new build. Fix the preprocessing flags for tester1-esm.html.
...
FossilOrigin-Name: ab6eb4d3b723107da488770b1849b9f1d1c491348f1eaa544e0e07356b8fac7d
2025-09-25 17:29:12 +00:00
stephan
a4476ea1fa
Overhaul the wasm build to (A) support more coexisting variants, e.g. 32/64-bit of both vanilla and esm, and (B) build each variant to its own subdir so that they can build in parallel. It can, with make -j4, now build all new variants in half the time it previously took for just the 32-bit builds. The new build logging output, though unconventional, serves two purposes: (A) improve my build-time situational awareness and (B) it help demystify some of the build steps and output files.
...
FossilOrigin-Name: 2f4be98614b49def2c2951887796c736269ef3bb7ba5b045cae5f748ae165a83
2025-09-25 15:17:58 +00:00
drh
5ad6e7b0e0
Fix the translation of "\v" in JSON5.
...
[forum:/forumpost/28e21085f9c6a4e7|Forum post 28e21085f9].
FossilOrigin-Name: 2914e8fc7b10e8b42c9a0fbd0e71f495714cee3cae67b8c238d37b1e7ec22359
2025-09-25 15:06:57 +00:00
stephan
5dbbbf4923
Remove some superfluous tabs and add the mkwasmbuilds ability to emit just its prologue.
...
FossilOrigin-Name: 75079401753778e3bc2f7fa307de9217e8d1ec395079fc1009060f707be32943
2025-09-25 14:44:03 +00:00
stephan
96d39ce7d2
Minor logging fix for the wasm-opt build step.
...
FossilOrigin-Name: 918eca02d162cfa98613f9d8d9b0901f9f94ae1bcb53d811b09baec6c3f06bbe
2025-09-25 14:39:41 +00:00
stephan
653e32e9a1
Move fiddle.make into the main makefile. Various adjacent cleanups and docs.
...
FossilOrigin-Name: fabd6160d0c128592ce512b1160dfa0b89b1fbb03e11cd185c6a4888a85cc7fb
2025-09-25 14:29:47 +00:00
dan
31efe5a0f2
Avoid an integer overflow in the shell tool when outputing hex dumps of blobs greater than 1GB in size.
...
FossilOrigin-Name: 4a1bb874f12adda26e91970b64e700cb904c126412989be4debac9a5647d6f69
2025-09-25 11:10:55 +00:00
drh
dc868ef879
Convert the ShellText object in the CLI to use sqlite3_malloc64() rather than
...
plain malloc(). Avoid unnecessary quoting of table names in .dump output
and similar. Improved detection of OOM in set_table_name().
FossilOrigin-Name: 6ce4f6dc15a575c318669051fe6590ad114b52ff3f3e260cdf7accccdd922d63
2025-09-25 10:55:54 +00:00
dan
4d488bd341
Avoid an integer overflow ([forum:/forumpost/b3abe06121 | forum post b3abe06121]) and a compiler warning ([forum:/forumpost/3db6aa9ed6 | forum post 3db6aa9ed6]) in the shell tool code.
...
FossilOrigin-Name: 39925489b347ec3126389c6dba1ee719373e50c6cea6944384a212c3a3e163d2
2025-09-25 10:50:11 +00:00
stephan
3ed76ca35b
Minor build cleanups.
...
FossilOrigin-Name: 05e7ea021388fcac975779cd2a70e341e25670e70d1d9f372f15b823b2466750
2025-09-25 02:30:55 +00:00
stephan
99cb0049ee
Consolidate the speedtest1 wasm build into the new mkwasmbuilds.c model. Remove the long-unused batch-runner JS tools.
...
FossilOrigin-Name: 980c033c05bf37c0e8f5e82486ee99ba1294cc9c9e2087aaf83b64e5d0118b5f
2025-09-25 02:02:48 +00:00
stephan
ef565295f5
Wasm build deps fixes.
...
FossilOrigin-Name: fd0c649047f4e444ea682138a3555a973839627150e1124bb9d9ced17880a9e5
2025-09-25 00:53:30 +00:00
stephan
9daf58ee8d
Move the static makefile code from mkwamsbuilds.c into the makefile. Move util.make back into the main makefile. Remove a bunch of dead makefile code and docs.
...
FossilOrigin-Name: 18beeb26bfa48f806866e0e330024535adabcf668071abc4b6251eb39de2701d
2025-09-24 23:07:45 +00:00
stephan
3675a69f1d
Cosmetic makefile tweaks.
...
FossilOrigin-Name: 4ec7e6800e090f7e17469a77bc37b57d3e1777171a5b354dfc68345416de504f
2025-09-24 20:53:19 +00:00
drh
9444c29094
Fix the makefile so that "<tt>test/testrunner.tcl release --buildonly</tt>"
...
works on mac. Apparently broken by [b7751d144330593b].
FossilOrigin-Name: 023365228f3264c53263b649365e7c133d8633010baf6e050fdee044a40454dd
2025-09-24 20:44:33 +00:00
stephan
6d3ae03f1e
Get the tester1 worker1/promiser demos building again. Show WASM heap usage in tester1 if.
...
FossilOrigin-Name: 6691a84872f823c95b0bdc3db8e12d21c9561aa1e1ce1d787a977f2c5ef8225a
2025-09-24 20:39:08 +00:00
drh
b8a62d9da7
Add an assert() to fix a harmless compiler warning in the session extension.
...
FossilOrigin-Name: d77b8ad96c695594668cd7019c7f607fe5efa5474dde0ece8b621051cf88a0b5
2025-09-24 20:09:48 +00:00
drh
1ecc36a2b0
Fix a harmless compiler warning in FTS5.
...
FossilOrigin-Name: 89f8d02075a7b265b1f0226a0f878903e1dce27ff1ac2e8a2d62d450b9b4ec76
2025-09-24 19:51:07 +00:00
drh
2c88a2ffb5
Rework the set_table_name() function in the CLI to use modern APIs.
...
[forum:/forumpost/2baa4acd64|Forum post 2baa4acd64].
FossilOrigin-Name: 821cc0e421bc14a68ebaee507e38a900e0c84ff6ba7ee95bf796cad387755232
2025-09-24 19:10:58 +00:00
drh
96bb92e70c
Special case the "decimal(-0.0)" output to show exactly 0.0, just as it
...
does for positive zero.
[forum:/forumpost/adc719d88d56ab22|Forum post adc719d88].
FossilOrigin-Name: 9ca4163bd93d78be5e4daf2b5d2b920d54d038c6fa8217dd2add0be0da6cd6b0
2025-09-24 17:49:09 +00:00
stephan
892109542b
Generate 64-bit variants of tester1.js/html. Enhance c-pp to accept multiple input files.
...
FossilOrigin-Name: ef6c55e4499957fb46b213540786e5d3928ec096eae1fe759066ed011518e7a2
2025-09-24 17:46:08 +00:00
drh
68353d0531
Fix a harmless compiler warning in IEEE754.
...
FossilOrigin-Name: 7f72308322cd1f238e6c725ec6bff44ed42fb2619f3f52afe38e2faad838a63f
2025-09-24 17:38:13 +00:00
drh
2abc502ebc
Additional short-circuit optimizations for AND/OR operators. Also fix
...
bugs in prior implementations (such as [0083d5169a46104a]).
FossilOrigin-Name: 63b686fe4cb1d5d82dd3a399aaafd1dfcbda533ca83b46ed2bc2750baa7f251d
2025-09-24 17:07:15 +00:00
drh
dc90d7055c
Simplification to the AND/OR short-circuit logic.
...
FossilOrigin-Name: 7be555a3b8500c43c2f30171af26bcda9bcb68f41992b792228218a56315e7c4
2025-09-24 16:26:44 +00:00
dan
2364fe3b38
Improve performance of window function queries that use "BETWEEN :x FOLLOWING AND :y FOLLOWING" where :y is a very large number.
...
FossilOrigin-Name: 1f0b7143575634929c0f77bafa888f0be2dd83f0c6c3deadd8299ac4ab8a8c01
2025-09-24 16:10:46 +00:00
drh
1f030eac9f
Fixes to short-circuit AND/OR evaluation.
...
FossilOrigin-Name: bc4cadbd60b97d000d2e8be843acab9d82ddf10a8125fd9cc0ae101bb9850091
2025-09-24 14:43:42 +00:00
stephan
36baed3e2e
Add docs to mkwasmbuilds.c explaining the purpose of each of the builds. Remove some inadvertent copy/paste hard tabs in some C-side makefile code.
...
FossilOrigin-Name: a2bd965e103026ff5c722357ed9e3432172bbc19d267e718ebd4a876eca41742
2025-09-24 13:59:53 +00:00
drh
ca574fa1d5
Factor out the code that handles AND and OR short-circuiting into a
...
separate subroutine, for performance and legibility.
FossilOrigin-Name: cab84a65c3825c59f3a7a750f4983563ce7ad007125cbcf35c187326289fea89
2025-09-24 13:10:55 +00:00
drh
feeacfb897
Fix incorrect buffer size computation for the base64() extension function.
...
[forum:/forumpost/b1993c858f|Forum post b1993c858f].
FossilOrigin-Name: 603efcd404f0013559ca5bd936fc39481a3aa33a10340bac27b751b6b286d0b7
2025-09-24 12:01:50 +00:00
drh
b927708437
Restrict the size of the LIMIT on a generate_series() query to avoid
...
an integer overflow when computing the final output value.
[forum:/forumpost/479bfb0d3b|Forum post 479bfb0d3b].
FossilOrigin-Name: 266aacb4759945f7cf7a258014620f21225261246edc08e6e71ff5292baf22f3
2025-09-24 11:12:26 +00:00
stephan
8d93e83461
Cosmetic build tweaks.
...
FossilOrigin-Name: 431725330d6c63575dbf3404664a7af33d4d87c569560e99c18de93eb4d73935
2025-09-24 07:31:19 +00:00
stephan
205257791c
Fix the positioning of the wasm-bare-bones flag init.
...
FossilOrigin-Name: f5167fb3615efc180e69333f99d82d6afc1d190e7f37b6a701895de00502d8c8
2025-09-24 07:00:37 +00:00
stephan
4500a87c95
In speedtest1, always use fatal_error() to exit fatally, instead of an fprintf/exit() pair, so that stdout/stderr get flushed consistently (which is significant for the WASM build).
...
FossilOrigin-Name: 1bd15cb343f6ce57f108291a8ed0f3ee2046932591d44edec133fe3ea43a2ef0
2025-09-24 06:59:47 +00:00
stephan
5c01f3fb83
Further wasm build refactoring. Get speedtest1 building again.
...
FossilOrigin-Name: 5434307dcd927686ce827da22de55020c4b431f888ac81ae3634d458ad0b563d
2025-09-24 06:43:24 +00:00
stephan
e779baa099
Move some of the generated wasm makefile utility code out of C and into util.make.
...
FossilOrigin-Name: a2935758f534b51cac3d2e5ece74b369c806e3a994781744708e1590b9c32542
2025-09-24 04:58:14 +00:00
stephan
3b56f296e9
Generic build simplifications.
...
FossilOrigin-Name: 61648610c3e454fce77b78e6f6be1b71e27bb9587af03ae5c0e083eac7158a64
2025-09-24 03:05:31 +00:00
stephan
0dee14a559
Get fiddle building properly again and fiddle/fiddle.debug building in parallel.
...
FossilOrigin-Name: 85fe9c6155f72583cea46d38bf5e040623d71fb5317ff9373421dbfdb179b2b0
2025-09-24 01:50:08 +00:00
drh
9300c4a13c
Improved short-circuit evaluation of AND and OR. All appears to work, but
...
there are still testing and performance issues to be worked out.
FossilOrigin-Name: 0d4447aa61848deecf9170afce031f7b353b91d58474f3f094ce34e46be7f99e
2025-09-24 00:13:28 +00:00
stephan
ac37661a16
Get fiddle/fiddle.debug building again but they're incomplete and don't run.
...
FossilOrigin-Name: d725a075bc3303c5a26c4014f57162235cebc6491425083b4d80936de8f07fb0
2025-09-23 23:22:31 +00:00
drh
cac1ef709f
Improvements to short-circuit evaluation of AND and OR operators.
...
This is a partial and incomplete response to
[forum:/forumpost/f5adeb59ff77c056|forum post f5adeb59ff77c056].
FossilOrigin-Name: cea8bf79e18d55a8658e48a967cd0b7970b6f88badb769cfbb1f66ab24fb9ec8
2025-09-23 17:00:53 +00:00
drh
611ffbc981
In the ieee754 extension, render -0.0 as 'ieee754(-1,-3071)' instead of
...
'ieee754(1,-3071)' as that makes the sign clearer. Both strings still
convert back to -0.0. Note that negative zero
and positive zero are distinct values in ieee754.
[forum:/forumpost/1eab7e4a08|Forum post 1eab7e4a08].
FossilOrigin-Name: 136188c161a8a2d5166798fcbd341bd1d3f81da7291011f806d6b2153544832c
2025-09-23 16:01:45 +00:00
stephan
cfce9b6a11
Get most of the wasm build (re)working and much prettier.
...
FossilOrigin-Name: a5a7890c75003a637a227b700dc342f4f4a24bd368b216bdb168b4ddfbe8f015
2025-09-23 13:49:44 +00:00
stephan
a07871d332
Cosmetic wasm build tweaks. Fixed wasm-opt use, broken by this branch's refactoring.
...
FossilOrigin-Name: 4d7eff2afbcf023291bc1133c4413d1ea44f4096bb515e4bcd40bc8fc8d2a591
2025-09-23 10:46:17 +00:00
stephan
5c0850f8b8
Make it easier to pick out which parallel build messages belong to which wasm build.
...
FossilOrigin-Name: 913af3dd6a8da577ef19b0d82c8afec0c626d7fa5fddbdf418d2eb16c3050ab1
2025-09-23 08:44:07 +00:00
stephan
ebb99967c2
More build restructuring.
...
FossilOrigin-Name: 7bee8ee76380b2c1beb320b55042f149c22f872c70b58461652fa5bcbf6ad3c7
2025-09-23 08:23:23 +00:00
stephan
aa5b8f9d47
Create each distinct wasm build into its own dir, instead of all going to in jswasm/sqlite3.wasm, so that the build can now run in parallel.
...
FossilOrigin-Name: 47526a75f2ad85100b1eae7ab1cf9a9dddd4430a99f7a30aa0c16548d1db9d33
2025-09-23 06:31:24 +00:00
stephan
91b1b0de2b
Start reworking the wasm build (again) with an eye towards simplifying it. Currently only the canonical and esm builds work, not fiddle, speedtest, nor the bundler stuff.
...
FossilOrigin-Name: 102c4a35b86405273d1f7e9e34466c9deed7831099a8207b6f48746b998193f9
2025-09-23 05:10:19 +00:00
stephan
12f17d41f9
Add makefile target '64bit' to ext/wasm/GNUmakefile to build the 64-bit bundles. It does not yet generate copies of the test apps to load/test them, pending other reworking of the build.
...
FossilOrigin-Name: 3e2ea990ad76f9e68d514568f53eaa692a1eb11695fceb1bcc58cea00605fff9
2025-09-23 02:04:07 +00:00
stephan
a8bddde325
Slight correction to the diagram in the previous checkin.
...
FossilOrigin-Name: 6455af2703e78fb9b6df19cf4b46873d98ec91c3302dc0093a362d03ac48da91
2025-09-23 00:24:58 +00:00
stephan
b19c14742d
Add a high-level diagram showing how sqlite3.js gets assembled.
...
FossilOrigin-Name: e0dfa1e62ba6d71abe1f48969eb6f53c83f2c28d47b996ee223587d923cc282f
2025-09-22 23:48:05 +00:00
stephan
e55a29f5fd
Refactor and simplify the JS API bootstrap steps.
...
FossilOrigin-Name: a4f36fd93738f985d2c757c69eddca092732ce6148af98eb2595f9abe0d4fa44
2025-09-22 21:04:24 +00:00
stephan
cfa48c17f7
Update ext/wasm/api/README.md for recent changes.
...
FossilOrigin-Name: 03b70686939e5f9ad984220a31674c23a1beb19f040c6327f24e23f0378555da
2025-09-22 18:05:10 +00:00
stephan
1ab3d7eafd
Cleanups and docs in the internal parts of the JS lib bootstrapping. More tinkering with the custom (but still disabled) wasm file loader.
...
FossilOrigin-Name: 35651d9ab5529da915500fc50ca3833a004d0b7a19d98e8fbf39234d94697aec
2025-09-22 17:29:52 +00:00
drh
6ba22a75f3
Revise [a4430d262b3e129d] to preserve legacy behavior of the imposter
...
test-control. The control argument must be 2 now to get read-only behavior.
The control argument of 1 goes back to the prior read/write behavior.
FossilOrigin-Name: 3e7ede2e6dc9ac8e746dafe0ecb5379044631e753e951f9ab97ec84addbd830a
2025-09-22 17:28:08 +00:00
stephan
2ea861a245
In wasm.ptr.coerce(), treat the undefined value the same as 0 for Number-type pointers for consistency with the BigInt coercion. The bindings have long treated both null and undefined as === 0 for pointer operations.
...
FossilOrigin-Name: ef73bb1ddae28c6a0b462a2a840bfaaec3fc70d843e9ab6c53097281ffc85a78
2025-09-22 13:13:02 +00:00
stephan
34d92f4ac6
Minor doc updates. No functional changes.
...
FossilOrigin-Name: 9c67299b452a2b19b5f4285feb975b30864a9415ccf62b7c7ebb1587a6545b33
2025-09-22 11:52:06 +00:00
stephan
8eefa2725b
Rework the JS/WASM pieces for compatibility with both 32-bit and 64-bit WASM environments. This affects only the browser-side components, not the --with-wasi-sdk build nor the core library.
...
FossilOrigin-Name: 8ac367686fecd2e3ff1f4b4565e9f206a64237744e381704693df2e6efbe235a
2025-09-22 11:41:15 +00:00
dan
65551b5456
Fix a problem with handling of 4-byte utf-8 characters in the shell tool (not the sqlite library). Forum post [forum:/forumpost/184b372388 | 184b372388].
...
FossilOrigin-Name: f3e845cf38fc364bfa3f8d433b668f884d11286c823d87ee0ed124a991c94e14
2025-09-22 10:48:10 +00:00
stephan
5a2e3c4af2
Experimenting with a custom wasm loader, but don't enable it without an explicit build flag. The goal here is to make the WebAssembly.Module object available internally (the default loader hides it from us).
...
FossilOrigin-Name: e5f0256feab95c30a8e3e1e69963fb3e25ed2da296aff5bc6646fe96a76c0b81
2025-09-22 02:40:06 +00:00
stephan
1d49644650
Minor internal optimizations in the wasm glue.
...
FossilOrigin-Name: fb053a27d94f9caedfddf28680e13836343745376e84c8008641df6bb517cd8b
2025-09-21 23:15:12 +00:00
stephan
1e01174ac3
A minor optimization in wasm.realloc().
...
FossilOrigin-Name: 6a070f450ac9ee3d4d6a3e05ef8fa2071a684181ea160805e236c3bba226510a
2025-09-21 22:17:13 +00:00
stephan
60633a852d
Remove some stale makefile comments. Add a little widget to fiddle's toolbar which shows whether it's running in 32- or 64-bit mode. Reduce fiddle's starting memory to 8MB.
...
FossilOrigin-Name: e99730f96e13f7497a871fdcc5eaa4187835f005a759f0fc79bbfe982f454437
2025-09-21 22:08:05 +00:00
stephan
589855f40e
Improve db-close-time cleanup in the face of WASM environments which wrap wasm.exports in nullary wrappers.
...
FossilOrigin-Name: fbb63634eab83fda0090fe2c38bda735b497fd6e57dd36344559962e396dbb17
2025-09-21 21:37:44 +00:00
stephan
e6db55f0e2
Fix a Number/BigInt descrepancy in oo1.DB() when passed a WASM-string db filename. Consolidate some duplicated internal code and adjacent minor cleanups.
...
FossilOrigin-Name: d078aff7817ccd4f891024e55703519307a53815d472086bf3d42b2be28698b3
2025-09-21 21:17:41 +00:00
stephan
50815f8ba4
Fix a StructType.dispose()/ondispose() memleak in Jaccwabyt bindings in 64-bit builds and update its docs for 64-bit additions. Remove the parts of tester1.js related to skipping specific tests in 64-bit builds.
...
FossilOrigin-Name: 6baea1d719b0c345fee5f32a3917ce9c507a2d8cb029eaca675daca77f297eba
2025-09-21 20:26:47 +00:00
stephan
b10548a7b0
General cleanups and dead code removal.
...
FossilOrigin-Name: 0336fa95e15c53ac6ab8152a840163a5aac64725874ffb848ce1d95e3af90586
2025-09-21 19:39:06 +00:00
stephan
cf0f11ac18
Remove some dead code and stray debug output. Fix (again) the JS SQLTester for 64-bit (the previous build was set to 32-bit).
...
FossilOrigin-Name: a6b9567001dad0293dc6a7fe9a7ec1a220e41d9426448e2ab91dbd551948be15
2025-09-21 19:01:15 +00:00
stephan
334b15d8fc
Update the JS SQLTester for recent sqlite3.wasm changes.
...
FossilOrigin-Name: 0fa1830540bcb86f5c59b1a6a9ffd8727c194a64a131d9d362023c84a3b820cb
2025-09-21 18:42:25 +00:00
stephan
5b71447e8e
Generic cleanups and simplifications in JS code.
...
FossilOrigin-Name: 074cf4e6c1775900204bb0d920111ee19601d5c63690e79e988e7fe6b040a647
2025-09-21 17:55:23 +00:00
stephan
128ae8ea3f
Rename wasm config entry pointerSizeof to pointerSize for consistency with wasm.ptr.size.
...
FossilOrigin-Name: 2cd8ba740f9b14dc1408b62632c603076b070dc412bf7cbfb3b525f0c4912371
2025-09-21 14:25:29 +00:00
stephan
1e2156e926
Restructure the interface for the sqlite3.wasm pointer-size-dependent details.
...
FossilOrigin-Name: 8ac12e1f5144380d4ecc8b27a1f62dcda0e5a86409ae7149f62c33caeea19a23
2025-09-21 13:53:59 +00:00
stephan
d97c59e2bc
Reduce sqlite3.js build size by about 30kb by stripping out Emscripten's makeInvalidEarlyAccess() wrappers.
...
FossilOrigin-Name: a65bd978cbc646ec687ebcfc736a968e0597062251b2155caab42bca2d36f1e9
2025-09-21 11:49:23 +00:00
stephan
72d81265ab
Reduce sqlite3.js build size by about 30kb by stripping out Emscripten's makeInvalidEarlyAccess() wrappers.
...
FossilOrigin-Name: 9fafe075d6f4c49fca45963b142f3e0f0e60d79cb462b7e24f9ed0b9a9677f28
2025-09-21 11:47:06 +00:00
stephan
23203a407e
Remove some dead code.
...
FossilOrigin-Name: 1c2cd58d1a86d85e79ac912270e762e22f43f1d41d81a19ecd0ae6b2656c71b4
2025-09-21 11:39:53 +00:00
stephan
ba6527af04
Minor cleanup in sqlite3.wasm.ptrAdd().
...
FossilOrigin-Name: f659595d2e9e019a77d0c86803dbeb4bd728221a665825896ec29f7c0c0bdc65
2025-09-21 11:15:00 +00:00
stephan
f568a2f1bf
Remove some fiddle debug output.
...
FossilOrigin-Name: c7cc374ff5ccd8b8f0a6cd0acada2a713626b5447cf014db12e18327fccfd36b
2025-09-21 01:03:16 +00:00
stephan
51127416a4
Resolve the non-functional 64-bit JS vtabs and VFSes. All wasm tests now pass on a 64-bit build. Investigation of the fiddle failure on a second db import is still pending.
...
FossilOrigin-Name: 7c44b48b628d3d93b13031e9fd08ed39fec35c661aca9e813a89348d6c415663
2025-09-21 00:59:23 +00:00
stephan
d1b64404b3
Determine the WASM environment's pointer size at runtime instead of baking it in at build-time via the preprocessor.
...
FossilOrigin-Name: 21ac6aaa03517841b637924720354b9800d6e8b7bd5f6ee54a99f5f45b2ccdec
2025-09-20 23:21:24 +00:00
stephan
2674a4fdcb
Add missing sqlite3_vtab::xIntegrity wasm mapping. Correct signatures for the (unused) xDlOpen and xDlError bindings. Disable OPFS-related tests in tester1.js in 64-bit builds.
...
FossilOrigin-Name: dccfa7098975d8c09eb6e7d30cd2ae30bc8234ef9a24f4a2ad5e9ffd29df72c2
2025-09-20 22:11:19 +00:00
stephan
3e205eff8e
Add missing sqlite3_vtab::xIntegrity wasm mapping. Correct signatures for the (unused) xDlOpen and xDlError bindings. Disable OPFS-related tests in tester1.js in 64-bit builds.
...
FossilOrigin-Name: a106be90a2dba7476e54dbb4bdf47d0999031dae0ca82d73e51a48dadd6bcdc0
2025-09-20 22:10:59 +00:00
stephan
25e416dc3a
Reinstate the working-again commit/rollback/update hook tests. The bug breaking those was the one-letter change at the top of this diff.
...
FossilOrigin-Name: c582513a77cd1d1d9479e5a4518ddf15ef5a213bed1bfb6af9bd21bf3be41f8a
2025-09-20 21:03:28 +00:00
stephan
7462b3749a
Further tweaks towards 64-bit wasm. Fiddle is failing intermittently from the C level when importing a db and it's not yet clear what's happening there.
...
FossilOrigin-Name: 9fd82ebe31993c11e61a47205b7fc17a28283ec96cf278df1b6ea8a196d1fcb1
2025-09-20 20:23:59 +00:00
stephan
043136276a
Get speedtest1's wasm build working.
...
FossilOrigin-Name: 2a61e3f1ccb1c2f115377d33af7d84d158b06c462e482fbbddf35c56d1fb58d8
2025-09-20 20:19:18 +00:00
stephan
93cd069fdf
Improve deps handling of fiddle's gzipped output files to help avoid stale gz files during development (althttpd will prefer those over the uncompressed ones). Only compress the larger files, not the small html/js pieces.
...
FossilOrigin-Name: bb945f52909caa2577de38711883a79ca918b3716e5e0c2fed6e6ef12e19aeef
2025-09-20 20:17:17 +00:00
stephan
832dfd97d1
Get all but 3 of the tester1.js test groups running in 64-bit builds. The outliers are virtual tables and commit/rollback/update hooks.
...
FossilOrigin-Name: c135d9743698b3331e56f72160e2b78840aa2c8fa1a70daea9d4a0952dbda186
2025-09-20 18:51:10 +00:00
stephan
a8756afdbc
Get several hundred more lines of tester1.js running in 64-bit mode.
...
FossilOrigin-Name: f5105ee5defa042508a68a1f4e23b9fff46a1697b1a727e01c3edea3030fbcb5
2025-09-20 17:11:57 +00:00
stephan
a2daecfc8c
Further work on 64-bit WASM builds. It now gets through just shy of half of tester1.js.
...
FossilOrigin-Name: c8deed31365898e1379d577298fc80ef08a5531999d5b54a9f14337febed0260
2025-09-20 15:16:55 +00:00
dan
cbefdaad9e
If the file-system supports f2fs style atomic-writes, sync the directory after deleting a journal file in journal_mode=DELETE mode in synchronous=NORMAL or synchronous=FULL modes (as well as synchronous=EXTRA).
...
FossilOrigin-Name: e24b21699644a5b49181f2e63961b6a3fccb85605d0b6d109a6043341c194d99
2025-09-20 14:48:08 +00:00
drh
65a445d750
Fix the decimal_cmp() extension function to give correct results in
...
corner cases such as negative zero and two equivalent values where one
has extra trailing zeros to the right of the decimal point.
[forum:/forumpost/367c770224|Forum post 367c770224].
FossilOrigin-Name: 25b3626a018fa5916d0e129ee057c3f709c6e4d0b84a1a3102cad127a39a3db9
2025-09-20 14:32:12 +00:00
stephan
bd5d297fec
Get the wasm tests running in a 64-bit build up through (but not including) the oo1 bits.
...
FossilOrigin-Name: a5af46174a05e1414370884d1a99827af9286a60eff1c8ae1551e7fad3903f7a
2025-09-20 11:09:20 +00:00
stephan
22f9ca64db
Get about 1/3rd of the tests running with MEMORY64=1, but the code noise level added by the BigInt/Number discrepancy is making this very unattractive. There are apparently irreconcilable differences between MEMORY64=1 and 2, in that they have different argument type expectations for methods such as WebAssembly.Table.get(), where MEMORY64=1 requires a BigInt a MEMORY64=2 requires a Number. We have no way to make that distinction from the JS code, and don't know what other APIs are affected by that quirk.
...
FossilOrigin-Name: 1e3b003ff99d2788d93e179504b711cb78846605774bf472589440d0136f20fa
2025-09-20 03:02:36 +00:00
stephan
6a03f2029b
Baby steps towards 64-bit pointers. Get it building and testing again in 32-bit builds.
...
FossilOrigin-Name: f35bb66e3eb939d321afb3545c184013633ce35fa4cbd67b6be17a64997ece9d
2025-09-20 00:43:47 +00:00
stephan
d6403a2d2e
Initial experimentation with a -sMEMORY64=1 wasm build (full 64-bit). This compiles but does not pass tests due to friction between BigInt and Number types (e.g. Number(null)===0 but BigInt(null) throws, many functions are fussy about which of those types they'll take, and we cannot simply mix and match the two types transparently (1n+1 is not legal (but 1n>=1 is), so we can no longer do pointer arithmatic without hoop-jumping)). The library bootstraps but it's failing early on in tests due to this friction.
...
FossilOrigin-Name: cfd5c746a6111f49c9c83a56c3ef65223456306f2de6e20b36b1ca0c98b593e9
2025-09-19 23:21:00 +00:00
stephan
78202b9a3b
Add some comments describing the ways in which building sqlite3.wasm with -sMEMORY64=(non-zero) fails.
...
FossilOrigin-Name: 0b14fd35ca37075bb65b2ab398f3324dc851347b1c042566eac23724013653f8
2025-09-19 20:10:05 +00:00
stephan
a09a8ffa62
Initial build-side tweaks to pave the way for a 64-bit WASM build. Such a build does not yet work for reasons given in the makefile comments, but is an eventual goal.
...
FossilOrigin-Name: fe2e1681b6dac81508ab67d1247e1f92018c9998386789846d1715c2cc13d6a8
2025-09-19 19:28:13 +00:00
drh
723e8c88fa
Improve imposter tables: (1) Read-only unless writeable_schema=ON
...
(2) --unsafe-testing no longer required (3) Does not interfere with
PRAGMA integrity_check.
FossilOrigin-Name: a4430d262b3e129d7f00be1661af563907d7b2e98560a9847cd399129f91247b
2025-09-19 17:33:29 +00:00
stephan
d4cc844a2b
Diverse cleanups and docs in the JS and kvvfs pieces. Functional changes: (A) ensure that the 'i32' JS/WASM func arg/result conversion works properly with a 64-bit-memory WASM build (which we neither use nor test but [ https://webassembly.org/news/2025-09-17-wasm-3.0/ | the newly-ratified WASM 3.0] brings within potential reach). (B) Fix sqlite3_js_posix_create_file() to not deallocate its input array if the client passes in raw memory (the library has never used it that way but the API permits it).
...
FossilOrigin-Name: 79af65a694fbbb3d501fb2ebd835c259ca644e0dafdd71eeb9f0a7c0e9128a1e
2025-09-19 17:24:47 +00:00
drh
49a37f333a
Improvements to imposter tables: (1) They are read-only unless writable-schema
...
is enabled. (2) Because they are now read-only, the ".imposter" command
in the CLI no longer requires the --unsafe-testing command-line option.
(3) Imposter tables do not participate in a PRAGMA integrity_check and hence
do not cause false-positive errors. However, you can still do an
integrity_check on the the imposter table itself by naming the imposter
table as the argument to integrity_check.
FossilOrigin-Name: ad152ddc4bcf6cfe840b9a36ab76a5ec36afdb1dd96eb7697e4b3df1bf63b00d
2025-09-19 17:24:12 +00:00
stephan
194d6edeb6
Wasm: (A) diverse internal doc updates. (B) when generating automated JS-to-WASM function proxies for converters which require an additional middle-man proxy, e.g. sqlite3_exec(), use the client-provided function, not the proxy function, as the cache key, to keep from re-generating the conversion in some common use patterns.
...
FossilOrigin-Name: 5e5139c2a162562cee0071d03954ebc0b8938da0b045ec3f5eba32dc8e19604d
2025-09-19 14:21:09 +00:00
drh
e7fe1d3b3e
Fix typo in the name of the CursorHints optimization in the CLI.
...
FossilOrigin-Name: 468a11fd415710042b23880772f6c2c7771008208823fe3b554227a9244dbf92
2025-09-19 09:18:22 +00:00
drh
f5dc671a57
Fix a harmless compiler warning.
...
FossilOrigin-Name: 42c225a2ed7fc95f9b01467c64ba2bf97bca216fdcd6ab1ba3fb49c068650de9
2025-09-19 01:17:44 +00:00
drh
e7efe1e201
Fix the new walckptnoop.test test module so that it works in various
...
alignments.
FossilOrigin-Name: 08689dacc1237a2b90dff4d32186b28054214f709dbff9e07057d3175c1c423a
2025-09-18 23:23:50 +00:00
drh
8f5503861f
Try to make the carray extension easier to compile on VxWorks.
...
FossilOrigin-Name: 1a34c3f49ec48b551098f6781a3a6355aa3c9fd47fd9ebaef01f254b1dcafc9d
2025-09-18 19:59:56 +00:00
drh
7cbfa5b0d1
Include I/O consumed by ephermeral cursors in the SQLITE_DBSTATUS_SPILL
...
values. Still need to add sorter.
FossilOrigin-Name: 118905b26a96825433f79b47fd3e7c2bdb137d84292fb9419e4436a961a9833a
2025-09-18 18:56:55 +00:00
drh
3312564540
Fix harmless compiler warning in the CLI.
...
[forum:/forumpost/ffdcdaba19|Forum post ffdcdaba19].
FossilOrigin-Name: 1626b6082d06c6fd66ff0a6d9fb3641c936ee8db326275e4fddfecf172c5a6eb
2025-09-18 16:48:37 +00:00
drh
16eedfbdda
Initial implementation of SQLITE_DBSTATUS_SPILL. Does not yet take into
...
account sorters or transient tables.
FossilOrigin-Name: 4e63ee20f80e486ecc4aa4523afa43f994c267e638f8f084f0d6df369aa74a1d
2025-09-18 14:51:23 +00:00
stephan
9290d70466
Improve the quote-stripping when importing a db into fiddle, as reported in [forum:264050a3f3 | forum post 264050a3f3].
...
FossilOrigin-Name: 1a87c16fddf174380deba9bbe58079328baf9f9ca95210f63bc628e3ef3eeb26
2025-09-17 20:05:12 +00:00
drh
3e17953beb
Add the sqlite3_db_status64() interface.
...
FossilOrigin-Name: bb5b982dba774e6b8011e6c980d34131c378967fadc59a18fed1cefda596449a
2025-09-17 19:19:52 +00:00
drh
ac28cc30c0
Remove newly unreachable code in the solver of the query planner.
...
FossilOrigin-Name: 9abaa0ac2b3049341f36ff683ff6eebb589698bd910624aa24f11398d557b3c2
2025-09-17 17:09:07 +00:00
drh
12ed2fea03
In the date/time functions, a timezone suffix of "+00:00" should work
...
the same as "Z".
[forum:/forumpost/2025-09-17T10:12:14z|Forum post 2025-09-17T10:12:14z].
FossilOrigin-Name: 3b7a5babf0843c4b3ce93d26f1447218585ce645ec3acd942ac649204e16675a
2025-09-17 14:55:47 +00:00
dan
a12c1dcca6
If the file-system supports f2fs style atomic-writes, sync the directory after deleting a journal file in journal_mode=DELETE mode in synchronous=NORMAL or synchronous=FULL modes (as well as synchronous=EXTRA).
...
FossilOrigin-Name: c1e37cb70a8e93368c19ba0fdb987f0616abac028e3541d793a4e6f005b0e513
2025-09-16 19:52:12 +00:00
dan
48790b48a7
Updates to where.c to handle vtabs in joins more similarly to regular tables.
...
FossilOrigin-Name: 9138223013505d3e0f1f2b40b51d521184aabd50732fdf4f6bed393cfa9475fc
2025-09-15 17:06:35 +00:00
dan
e924087d30
Merge latest trunk with this branch.
...
FossilOrigin-Name: 0bb8c42951ed4fcda60f195b9cc84c80d5b8c0ff77c7517243708f43ba09cfdd
2025-09-15 16:09:54 +00:00
stephan
c35f07ec2f
Diverse internal cleanups in the JS/WASM pieces. A potential fix for a hypothetical db-close-time resource leak of a subset of automated JS-to-WASM function conversions in Safari. That browser exposes WASM-exported functions via nullary wrappers, which causes a handful of them to misbehave (not clean up) at sqlite3_close_v2()-time.
...
FossilOrigin-Name: fabbc8b6d184d52a513e80fabd900f578424fc8a8055e3d64fac54b9e28ea18a
2025-09-15 14:11:55 +00:00
stephan
36595d0630
Expose sqlite3_set_errmsg() to the JNI bindings.
...
FossilOrigin-Name: 292866a46948e8d707bd14864fd1b40eec1bd2e22dcd249ec94711b646c8a70b
2025-09-14 12:55:57 +00:00
stephan
6b8d7ac599
Expose the new sqlite3_set_errmsg() to wasm. Refactor JS's sqlite3__wasm_db_error() to wrap that instead of the WASM-specific routine which previously did that job. This resolves the TODO added in [ead8a3a94e].
...
FossilOrigin-Name: e447a50f3a3791c264a68000948daa64edb1857d51d256fbd1ff0f2c2b330d5e
2025-09-14 12:14:42 +00:00
dan
0247e15f69
Updates to where.c to handle vtabs in joins more similarly to regular tables.
...
FossilOrigin-Name: 991383262b0d07ebc79fdb6bed448013cea3a0ac13292d5397dce012b1e6a673
2025-09-13 19:23:12 +00:00
drh
c7cb05813c
Initialize the sqlite3_set_errmsg entry on the loadable extension thunk.
...
Also fix a harmless compiler warning in sqlite_dbpage.
FossilOrigin-Name: 031a43ae2bb06adefb3f66bf7d1cdae0020b25a1eeee7c3a3dd4447014b9d3f7
2025-09-13 18:28:34 +00:00
drh
419b93adbf
Add --enable-dbstat and --enable-dbpage options to configure. Fix the
...
".dbtotxt" command in the CLI so that it uses the correct filename of
the database it is rendering as text.
FossilOrigin-Name: e04e6e681891020f78237fa6dc11bc2e2022c569b04ac96cb333bf59f1662cd1
2025-09-13 18:15:26 +00:00
drh
96455af950
Enhance the integerValue() routine in the CLI so that when its text input
...
specifies an out-of-range integer, the routine returns the nearest integer
that is representable as 64-bit twos-complement.
FossilOrigin-Name: 5d50279fcb66b479e76586b729f36d389b28940476ff70d61b0066a5d5d3ad0c
2025-09-13 17:53:14 +00:00
stephan
a248d84fbe
Add a TODO regarding replacing the internal sqlite3__wasm_db_error() with the new [34eda113c8819d | sqlite3_set_errmsg()], which serves the same role.
...
FossilOrigin-Name: ead8a3a94e0f349bcdced6a62af0349b0b7b731137c8d33e2ef0e7eecd107c1f
2025-09-12 17:36:23 +00:00
dan
2c4008fe26
Add sqlite3_set_errmsg(). Use this in sqlite3changeset_apply() to return any error code and error message via the SQLite handle.
...
FossilOrigin-Name: e34eda113c8819df46c139ccf749b686c8bfdd399f59345c6d6be3736bdf97cb
2025-09-12 17:13:59 +00:00
drh
195956af94
Typo fixes. Make sqlite3_set_errmsg() accessible to run-time loadable
...
extensions.
FossilOrigin-Name: 93a41e31322eec70476f7d81f4af7fb8476cad21a56d6b1048a9e0c0c440bf72
2025-09-12 15:31:33 +00:00
drh
28a7f01f90
Add more details to comments in the previous check-in.
...
FossilOrigin-Name: ed36b3aa4b68c6bb347b6851ea61bcad9712c4a9ed39e3fb4f84cb9b9ee48dc2
2025-09-12 15:20:39 +00:00
dan
d968525382
Add experimental API sqlite3_set_errmsg(). Use this in sqlite3changeset_apply() to return any error code and error message via the SQLite handle.
...
FossilOrigin-Name: 4d5b60a1e57448f03af2a657fe7cdabb04ebaf9688d5cc700dd8f9892a5cba15
2025-09-12 15:02:47 +00:00
drh
eb8089ef46
Fix an off-by-one error in sqlite3_rsync.
...
[forum:/info/46753431d4|Forum post 46753431d4].
FossilOrigin-Name: ef3b7be6f2037871f6f1b1944fed3dda28216e7f179080d3be2e2620c031f48c
2025-09-11 10:58:49 +00:00
drh
9455a6e8b8
Improved support for VxWorks.
...
FossilOrigin-Name: 5bc6b9352236df3091ee69b947d0c397264156539d13e5968ec3b9a6e55dc800
2025-09-11 10:43:57 +00:00
drh
56d831e064
Fix a harmless compiler warning in the CLI. Gcc generates identical
...
machine code before and after this change.
[forum:/forumpost/8bda0d896f|Forum post 8bda0d896f].
FossilOrigin-Name: dbca4fe34467653d083de42d0c75746cf171e96ee3867abe67a47ab88437fa71
2025-09-11 10:37:01 +00:00
stephan
7754f53045
Latest upstream autosetup, with project-local s/--debug/--autodebug-debug/ patch, for HP-UX-specific config bootstrapping code and latest jimsh.
...
FossilOrigin-Name: 1d2352a16cc0990037710b4a666f2f3b039c1973e0af29990d67d70bcdba0600
2025-09-11 10:14:10 +00:00
stephan
4619855103
Configure script portability improvements for HP-UX builds, with the help of HP-UX sysadmin Michael Osipov.
...
FossilOrigin-Name: 93cf2afa8ca529784f859da2f015bce3a251b23dafa6ca3d1db644a91969e237
2025-09-11 10:09:43 +00:00
stephan
be4cf645a8
In mkautoconfamal.sh use $MAKE if it's set so that it can be made to work on platforms where 'make' from the PATH is not usable, e.g. HP-UX's standard make. This means that 'make snapshot-tarball' will inherit that value from the outer makefile and set it appropriate when the in-use make is named gmake.
...
FossilOrigin-Name: a8635cae05d2bce28d0c0c39b599cf8ca6f3b89b114fbeef519a8024692180c5
2025-09-11 10:08:19 +00:00
drh
065daf24b4
Minor #ifdef changes to the carray.c extension so that the source file can
...
be more easily imported into a larger program (such as TH3).
FossilOrigin-Name: f16fd1afbb65f88d7b94c2488ddd59549d71894ab5fcee46b4c55bfe646bfc9d
2025-09-10 20:28:57 +00:00
drh
0b8e4294d5
Use a separate mutex (SQLITE_MUTEX_STATIC_VFS2) for the VxWorks file list
...
in os_unix.c.
FossilOrigin-Name: 8f45f1a9d9208fbf124c4087092718b83cd653126bc1ed5f388e3577561f615b
2025-09-10 18:34:09 +00:00
dan
d61dbf7072
Change the order of some paragraphs within documentation comments in sqlite3session.h.
...
FossilOrigin-Name: f0102d7b25d854b5a937eb7de5e25f52c2ecf904234857c96bd1995f5dde0b66
2025-09-10 16:57:57 +00:00
drh
586361fa7c
The GetSystemTimePreciseAsFileTime() API does not exist on 32-bit windows.
...
Adjust [c5dbe93114d318fe] so that it works with this limitation.
FossilOrigin-Name: 61d9e204c5801a94811fdb0afe2c04f9814e08f2e141afa6dbda0fa45f026f70
2025-09-10 14:28:07 +00:00
drh
e7f190b8e1
If open files in VxWorks, do not unlink the file unless the file was marked
...
as delete-on-close.
FossilOrigin-Name: bb6114dbbf3bfbea57cd9be21666299663e94576b0175f6aeefd1d0f7107398e
2025-09-09 19:00:55 +00:00
drh
130a2f52b1
Do not allow attempts to open files in VxWorks unless the full pathname is
...
provided.
FossilOrigin-Name: 4720205249214c01f6e63738e4927c0f53c853346cc2dfa45522aaa469f4d702
2025-09-09 17:39:28 +00:00
drh
92f91ca37d
Do not allow the local_getline() function in the CLI to allocate more
...
memory than can be counted using a 32-bit integer, thus limiting the
length of an input line to about one gigabyte.
[forum:/forumpost/c83b9affa2|Forum post c83b9affa2].
FossilOrigin-Name: 0f31711591c56f3896fb6f092752fb82c4ea646bf8e5838dfbe55302994ea091
2025-09-09 10:28:06 +00:00
drh
4edee00ee0
Fix a potential memory leak in the VxWorks VFS that can occur following
...
an OOM or I/O error during xOpen().
FossilOrigin-Name: cb880145d899832cca0612b89024a54d188ed706600fa812ea74587d69c261be
2025-09-08 19:56:14 +00:00
drh
91020438c0
In VxWorks, temporary filenames must be full absolute pathnames in order for
...
vxworksFindFileId() to work.
FossilOrigin-Name: 1fc94becc5971812c3a91fb1410cb54f6ecb9e50da2d30863dc840cbf4e6c1f5
2025-09-08 18:45:58 +00:00
drh
b4af09c80e
Add the ability to compile with -DOS_VXWORKS=1 on Linux systems, in an
...
effort to debug the VxWorks capabilities without actually having to
run VxWorks.
FossilOrigin-Name: c87e68d791215729fb513c651e77c6ef6bb260deff37ed2ab6e99b777271bdfe
2025-09-08 17:52:17 +00:00
dan
75ca99ab99
Add "PRAGMA wal_checkpoint = noop" and SQLITE_CHECKPOINT_NOOP. To request a checkpoint that checkpoints zero frames.
...
FossilOrigin-Name: 4384ad8918801780f2660817dead919020423eb94aa880fff9b04f2d5f5d932f
2025-09-08 15:15:24 +00:00
dan
cf0ba94657
Merge trunk changes into this branch.
...
FossilOrigin-Name: 3bac76a86baae830d4fdc9e4055470d84549fde56b4cf217ebd96cb486554461
2025-09-08 14:40:17 +00:00
dan
d7d632d581
Add documentation comment for SQLITE_CHECKPOINT_NOOP.
...
FossilOrigin-Name: 2b9c495d02724f19ab16612b0e671dfc612f04342222d9901cd0debd08da4cf0
2025-09-08 14:32:32 +00:00
dan
4cefe53a33
Improve documentation of SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER.
...
FossilOrigin-Name: d7b2fb5363203f475887f277aed4a91e5a83440c169a86b3bf1e4fdf130bbaed
2025-09-06 15:27:01 +00:00
stephan
afd432f86e
WAL API doc tweaks based on suggestions from [forum:16e94b4bdcfbdc57|forum post 16e94b4bdcf].
...
FossilOrigin-Name: 1bb7eaf784687cd877c5c0552bb511659767670259e64bc108e7972e356d3cfc
2025-09-05 13:26:24 +00:00
stephan
7aadad63e9
Build portability fixes for HP-UX, reported in [forum:d80ecdaddd885149 | forum post d80ecdaddd8]. The full fix also requires a patch to autosetup/cc-shared.tcl, but that's pending because it's upstream code.
...
FossilOrigin-Name: 5f38c8aa8fe9993cafde69a85e96e32c283a6bc142238a9d10f3637c93cd474b
2025-09-05 12:14:22 +00:00
dan
b9bf2d9382
Add tests to check that SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER is working.
...
FossilOrigin-Name: beb092d8105e5a1ce95339527bf96799e2ce073591b055f71a5f1dc1d0a0c49c
2025-09-05 11:20:11 +00:00
dan
d8d88d9390
Add "PRAGMA wal_checkpoint = noop" and SQLITE_CHECKPOINT_NOOP. To request a checkpoint that checkpoints zero frames.
...
FossilOrigin-Name: 48be3d020cf0c732557b3d956198a1abcab79424be03f447e2bb89f4d68dc8ff
2025-09-04 19:33:23 +00:00
stephan
c0e3a8ca19
Generic doc updates in ext/wasm's makefiles. No functional changes.
...
FossilOrigin-Name: 02721457cea255a5117a46b77cc87d2e09acb64340ce94089c5b5e6edc5b5033
2025-09-04 18:00:53 +00:00
drh
f28c0f37f2
Use Pgno instead of int for the pgno field in the DbpageCursor object.
...
The same machine code is generated, but using an unsigned value seems
safer in the long run.
[forum:/forumpost/ccec20a858|Forum post ccec20a858].
FossilOrigin-Name: 26ecdde06cce063143144a79c0b4979ed5ec27548da6f127176a420c1c3f17ce
2025-09-04 09:26:53 +00:00
dan
2af776ff59
Fix a typo in a comment in carray.h.
...
FossilOrigin-Name: a4e137de0e82fbba890c2a608578f02f3666d2c25fb76f95ddf2d6a096a30e6c
2025-09-03 21:19:11 +00:00
stephan
8fb8782e2a
Random wasm internal doc cleanups. No code changes.
...
FossilOrigin-Name: 70923a00cfca2c64b7c7c824325ab75cdd05d452b79d2eaf43297898af891c47
2025-09-03 13:39:15 +00:00
dan
7fa9e45746
Add test case for pushing WHERE constraints into a UNION sub-query that uses virtual tables.
...
FossilOrigin-Name: 13c80e903ee7f178528918716b11fc0b57fc50b923dcd8aeabf9e6e04e93cdae
2025-09-02 14:59:16 +00:00
stephan
6f341f499a
Latest side-stream autosetup/proj.tcl for improved compile-commands feature detection.
...
FossilOrigin-Name: 55744ca8b8f2f95ba8bd3e01ef89e21e26c8547912c9d5637afe772d17f34486
2025-09-01 13:01:20 +00:00
stephan
f91151bfa1
Fix a line-wrap change made in [50234bc9e9fe58da] which broke the docsrc build by splitting a link reference across two lines, which the doc processor does not like. Problem reported in [forum:ea1fe5f421549899 | forum post ea1fe5f4215].
...
FossilOrigin-Name: 321938063e2d6c579b992bbbed5210c8a051a8b2fe858bb88f95dbd8fb0f35dc
2025-09-01 00:32:43 +00:00
dan
20bfeccb65
Update test script reservebytes.test so that it works with the "prepare" permutation.
...
FossilOrigin-Name: 4ac774364b693a4b992c997c64bf425e2765133a7a25963cbf2b02c180eeaba5
2025-08-29 16:51:16 +00:00
dan
f942995fd2
Ensure POSIX builds work as expected (no extra usleep() calls) if SQLITE_ENABLE_SETLK_TIMEOUT is defined.
...
FossilOrigin-Name: f04a826bac1620b28c32252fa2ceaccc5dfbb21405a6a98942f95d3d1ca89acb
2025-08-29 15:56:38 +00:00
stephan
62ed0b79da
Add 'from a check-out' to the mksqlite3h.tcl manifest instructions.
...
FossilOrigin-Name: 7728a74ca87934c333a66e46dc1f88ce572473e345d9ff20e5d566c0e26da82d
2025-08-29 11:21:08 +00:00
stephan
a00b9b99ba
Fix the mksqlite3h.tcl SQLITE_SCM_... changes to work from out-of-tree builds. Problem reported in [forum:812f8d6ff4|forum post 812f8d6ff4].
...
FossilOrigin-Name: 127f0ab16370fe02b4456669bf60e45ce8c96c4e24b2db3080eaf376d77e0df8
2025-08-29 11:09:20 +00:00
stephan
9976684d26
Remove some commented-out debugging lines and fix a doc typo. No code changes.
...
FossilOrigin-Name: af32cb3e30ee527a89768b98d8646e2b25d3fb642e61e805187bb3e4613b0960
2025-08-28 17:10:44 +00:00
stephan
8200750eb1
Add macros SQLITE_SCM_BRANCH/TAGS/DATETIME to sqlite3.h, pulled from the fossil-generated manifest.tags.
...
FossilOrigin-Name: db6b6240ad465f865dd2ca8fa0cdfba8b5315c45041b91b76efade6427c213e1
2025-08-28 17:05:37 +00:00
stephan
dca1f04f07
Remove sqlite3expert.h from the compiler invocation for that tool, as it (A) doesn't need to be there and (B) it causes some compilers problems (as reported in [forum:a1085109e7db4cf3 | forum post a1085109e7]). This bug was faithfully carried over from the legacy build.
...
FossilOrigin-Name: 9f0a16f6e893d51f760a8c1e2cb4709fdd16ccb2c0258695767f8305f407f4ac
2025-08-28 15:04:52 +00:00
dan
1df00568b3
Add test to ensure that changing the number of reserved bytes in a database using VACUUM does not confuse other connections in stock SQLite.
...
FossilOrigin-Name: 6bf54bbc4d503e8ebeb804dfb318383770e85d434dacbbbd8f6dadc7595b1856
2025-08-27 11:21:44 +00:00
dan
f8b5cc695c
Fix a typo in a comment.
...
FossilOrigin-Name: d2a74d5c36f600fa8d7dc03f6914482a2afca6e4ff557a0007d14f4304645ba1
2025-08-25 16:41:04 +00:00
dan
3c2b02d919
Check that certain ON clauses do not refer to tables to their right as a separate step after parsing a SELECT statement, instead of as part of the planner stage. For for [forum:ccfb3b5052 | forum post ccfb3b5052].
...
FossilOrigin-Name: e0beda7ffe92abf6322db8314c42940adab7f89a35d38124355cb3464ee70b9f
2025-08-25 14:27:31 +00:00
drh
08a256958f
For the --pagecache option of the CLI, if the SIZE parameter is a
...
power-of-two, automatically round it up to using the PCACHE_HDRSZ.
FossilOrigin-Name: e7a2ba842cb571df66d204b8d5989ecdc78be7205fdaf1de1783c63c9118d465
2025-08-25 13:04:26 +00:00
dan
7af1d61886
Add test case to this branch to show that it handles cases where ON clauses use select-list aliases to refer to columns to their right.
...
FossilOrigin-Name: 4d34ab4acf0343a22ea8097fa4b1e87a1b0a13be864d5bee0c7a8341c09b8002
2025-08-25 11:47:15 +00:00
drh
c6925d5922
Small simplification to the query flattener logic.
...
FossilOrigin-Name: cbfe3f0c84eecef4308e1904cce4fe013ee1986ab6c85e82f92736fc80c0a358
2025-08-23 18:18:03 +00:00
dan
4bace197e1
Fix the cases in joinI.test on this branch.
...
FossilOrigin-Name: 23ac2377315af02b73db6ae37bfeeda1453e41efb702a6b707346956c2d41a9d
2025-08-23 16:26:36 +00:00
drh
81b8ad0830
Fix cksumvfs test case added by [e3bd1feccaee8ff2] so that it works
...
with varying page sizes. Test case change only - no changes to code.
FossilOrigin-Name: b6f8f086dacd11f57bdb0eef79f25bce209816a0748f16009372c62dc3edd5ae
2025-08-23 11:09:53 +00:00
drh
b33477c5b4
Fix the sqlite3SetJoinExpr() routine so that it correctly sets the
...
join flags on CASE expressions.
FossilOrigin-Name: a4107c947c03ed48de3ab3f516cec8a3c092cec8ee19145fb564152e5cd16c85
2025-08-22 21:46:22 +00:00
drh
d271627f96
Steal the test/joinI.test from the on-clause-error-fix branch that
...
demonstrates that this branch does not work.
FossilOrigin-Name: d163535ec8d463d74112d38a606fa4d900e66deb1a414c947973cd1880e41526
2025-08-22 19:30:26 +00:00
drh
fbb07ff67f
Remember if a SELECT statement contains an ON clause. If it does, then after
...
name resolution, scan the WHERE clause to verify that the ON clause does not
reference tables to its right.
FossilOrigin-Name: 0ec8a8f64434f8cc04f02a356ecaa409ebd886566ba09c32f0fff8ebd103a609
2025-08-22 19:17:44 +00:00
drh
db97d2ef81
Enhance treeview so that it shows the contents of ON clauses while
...
they are still attached to the SrcItem object and before they are
moved into the WHERE clause.
FossilOrigin-Name: 3e285bc117bcbfafe083709d27cca776d6ba418a9f0f58a6d4178035fba2d6ca
2025-08-22 18:19:26 +00:00
drh
6f15549f91
Experimental minor simplification of the query flattener.
...
FossilOrigin-Name: 953ea637d51192a6fb9c2ae84e097ae14e8a9c7fa7c98db90a39819b5f97f60e
2025-08-22 16:34:55 +00:00
drh
90916e5ba0
Fix a minor typo in a comment.
...
FossilOrigin-Name: 9ada44eb6d26532e45cdd2ed8d5707f1734d0177a13b493ff9cf070e0a992522
2025-08-21 18:47:01 +00:00
stephan
8376b87ae3
Add config as an alias for the reconfigure makefile target. Minor makefile doc tweaks. Random typo fixes in shell.c.in and tclsqlite.h pointed out by the misspell makefile target. No code changes.
...
FossilOrigin-Name: 9f15182776b30676c9aae9bcb5d4ad7580359fbdd607c2a9227c9cf2c81a4054
2025-08-21 17:59:28 +00:00
stephan
1702244d2e
Remove some resolved TODOs from the makefile. Ensure that testfixture links against TCL_LIBS.
...
FossilOrigin-Name: b7751d144330593b5d41cb50e44b5134baad722be65173a7f55887f5e86a8c9d
2025-08-21 17:39:44 +00:00
drh
bb4743c278
The sqlite3_prepare() and similar interfaces should not return
...
SQLITE_ERROR_RETRY.
[forum:/forumpost/aa61ab56adb56159|Forum post aa61ab56].
FossilOrigin-Name: 4e473cf0c21dd78d457f5728086372464e82de95c5431a2587efd580f5076291
2025-08-20 23:29:59 +00:00
drh
5e972ddd9f
Add an assert() to prove that sqlite3_prepare() does not return
...
SQLITE_ERROR_RETRY.
FossilOrigin-Name: 6c6a8a596f5d578cc7d35c577608492c0314cdb84ed67b9f068d90fb0b42f4de
2025-08-20 23:13:49 +00:00
drh
51d3e6d51c
Change a newly unreachable branch into an ALWAYS().
...
FossilOrigin-Name: 99556be3fd99e6b7c520b0ae2090f59c6f58375750f9d571f9f586bce0a21504
2025-08-20 21:12:40 +00:00
dan
1be5689087
Avoid returning SQLITE_ERROR_RETRY if collation sequences associated with the table's PK cannot be found when creating an index. Possible fix for [forum:aa61ab56ad | forum post aa61ab56ad].
...
FossilOrigin-Name: ac649e5b9ca9b8f7729defa8d646df8c0cb57977a5eedcfa2cf1147d109a17f1
2025-08-20 15:42:23 +00:00
dan
c30e1a10ef
Fix a problem with SQLITE_CHANGESET_CONFLICT conflicts caused by DELETE triggers within a call to sqlite3changset_apply_v2() with SQLITE_CHANGESETAPPLY_IGNORENOOP specified.
...
FossilOrigin-Name: 138e2aab43ac07aaf8c5389105ff6d3e107ff2d35badcb48233664fcb9661471
2025-08-20 11:21:35 +00:00
stephan
4a27581f14
In builds without HAVE_FCHMOD (e.g. WASI), make the chmod() of temp files a no-op, analog to how lack of HAVE_FCHOWN is handled, as discussed in [forum:98d5158d3fdd7a41 | forum post 98d5158d3f].
...
FossilOrigin-Name: 7d13e8e403ba00d37b950caa359d74452319247495284d252efa6473bad15b64
2025-08-20 09:43:15 +00:00
dan
697d29ea49
Fix a problem causing an SQLITE_CHANGESET_DATA conflict of a DELETE operation to be incorrectly ignored if the SQLITE_CHANGESETAPPLY_IGNORENOOP is specified.
...
FossilOrigin-Name: 78b543f85ac6643f3b69bf1250c6362f00e030f93f460ef7d04902682ef64ee9
2025-08-19 21:35:23 +00:00
stephan
7f84ce0ea9
Add a doc sentence about sqlite3_set_clientdata()'s result value, per request in [forum:bda6c22b6a | forum post bda6c22b6a]. No code changes.
...
FossilOrigin-Name: c664cee321fc449283ecfc073c45057c078299be33dc0c170b156d81a6698b55
2025-08-16 10:17:04 +00:00
dan
a6c95406c1
Avoid depending on HAVE_STDINT_H and SQLITE_PTRSIZE and other things in non-amalgamation builds of fts5.
...
FossilOrigin-Name: 309fdd496673bf58984fb16aef3d4cc2ad8c9f6dad7687509f4d708fed5ba41b
2025-08-14 19:36:59 +00:00
stephan
e3fc1fc8dd
Minor internal cleanups in the configure script. No behavioral changes.
...
FossilOrigin-Name: c42269e5ce3688fccee16cf35e1101f36afc3ccc19bef57b177d46c84db2435a
2025-08-13 19:59:37 +00:00
dan
6f097125cd
Have cksumvfs write checksums to the database file only, not the wal file. Writing them to the wal file breaks wal file recovery.
...
FossilOrigin-Name: e3bd1feccaee8ff2f68b7b863769dd739e8a434fd32fed73deeeec885628311c
2025-08-13 19:13:16 +00:00
dan
0e77c3fa4d
In cksumvfs, do not write checksums to the wal file, as this prevents recovery from working.
...
FossilOrigin-Name: 5bf48c7e31904f1f7048499c630801846df89f262b32ea1e49fb6e039eaad11a
2025-08-13 18:37:41 +00:00
stephan
527062ac5e
Minor autosetup/README.md tweaks.
...
FossilOrigin-Name: bd7530bf6afdad391b223651632e1b4d59ab5ec806c7a94daadc7f09091321f4
2025-08-13 18:30:42 +00:00
stephan
656563cce9
Move the forced NDEBUG in fts3Int.h up above the #include of assert.h, as reported in [forum:8f16dd9480aad85f | forum post 8f16dd9480aad85f].
...
FossilOrigin-Name: 3b06d1c9b6c03f38029a8b98fef6253647878c0f8b05447ec0c8122f189c90dc
2025-08-13 17:58:47 +00:00
stephan
6cebfa56cc
Doc updates in the configure script. No functional changes.
...
FossilOrigin-Name: 47c4a2ddd1966aa8564e105fc1f2ba3c9c1668b44d4979424f65148d7976064c
2025-08-13 16:49:55 +00:00
dan
8e875fa3bd
Fix a problem with the checksum-vfs and direct-overflow-reads. Forum post [forum:350e147cd1 | 350e147cd1].
...
FossilOrigin-Name: 7b7ce5f17fd63932a050b917b4356c23eec6040d1c4f51136393d7c6e3d40a63
2025-08-13 14:40:24 +00:00
dan
c5c9c6093b
Fix a problem with the checksum-vfs and direct-overflow-reads.
...
FossilOrigin-Name: 8288edb9f930206f117823cf1d18af632dc6adbd7c4c3b9bcfc252e1a5e5b9cd
2025-08-13 14:35:14 +00:00
stephan
16478dbfdd
Doc cleanups in main.mk. No functional changes.
...
FossilOrigin-Name: 839c998443880161af06b9f7470ebfc828251c3c1accdae5f0fbbcc13408474c
2025-08-13 11:46:05 +00:00
dan
a939a635a2
Fix a problem with reading wal mode databases from UNC shares on windows introduced by [e88212b10a7829ff].
...
FossilOrigin-Name: f341e7812984b41acd7dd2dd795a1716a8826af4326578dcdf7d7fdd55124ceb
2025-08-12 19:02:48 +00:00
dan
3f85939bf0
Fix a problem building testfixture on non SQLITE_OS_WIN platforms.
...
FossilOrigin-Name: 9e6fa73467892eb2333c0a94ca38b66b7cc0432326de93ff131ecde4c165114e
2025-08-12 18:57:02 +00:00
dan
b1406a6550
On windows, when opening a UNC path, fall back to using a single file handle shared between all connections for locking.
...
FossilOrigin-Name: 5c0202d96c3a20a2cbcd38eba5e62371606894a0cbc2da4f60e10a1b5fa7bd04
2025-08-12 17:55:34 +00:00
drh
1ecc135cc5
The off-by-one fix at [3e627d66ebdef8df] is insufficient. An index
...
can hold twice as many columns as a table, if the table is a WITHOUT ROWID
table. The limit should be twice the maximum, not just one more than the
maximum. Problem discovered by OSSFuzz.
FossilOrigin-Name: a836126bbec5c14432ed7fc7e9e6f8ebcd5dd1116d3ac8a9a0d25c8f62cc51fe
2025-08-11 13:17:10 +00:00
dan
9081b89720
Replace some 32-bit arithmetic in fts3_write.c with 64-bit to avoid the possibility of integer overflow.
...
FossilOrigin-Name: 6711110b1c7589311f012deee4d4dd5b771fa44ad328b471c9ef583960795199
2025-08-11 10:54:39 +00:00
stephan
88f7807fa6
Add an explicit call to sqlite3_initialize() to sqlite3_rsync so that it works when built with SQLITE_OMIT_AUTOINIT, as suggested in [forum:c4ec6b33097b8536 | forum post c4ec6b33097b8536].
...
FossilOrigin-Name: 8c9db6237154d1c153916ed821f576f91b353bf988182127d2a619506707d6bd
2025-08-07 20:20:22 +00:00
stephan
11ba513fe5
Skip checking for dlopen() on mingw builds and those which include "windows" in their host tuple, as suggested in [forum:2436c8ffed | forum post 2436c8ffed]. Those environments identify as Windows for SQLite's purposes so use LoadLibrary().
...
FossilOrigin-Name: 69b87d4fa8089ef6101e976131dfd5c47dbc3d8c01a7e7d90a444b7a4794f78b
2025-08-06 19:16:16 +00:00
drh
e7440380c2
Do not allow the number of terms in an ORDER BY or GROUP BY clause to
...
exceed the maximum number of columns in a table.
FossilOrigin-Name: 139e587c7b349e771d67a8b4ee02ab3ad5d5712d4ff4713dad63cb765bdee248
2025-08-06 19:12:10 +00:00
drh
e6061cba7f
Fix Windows makefile breakage caused by [ae9d7c9c922bb241].
...
FossilOrigin-Name: c41324139d6a75b0d37aeec2b0572c63207dd0b06e6a99e4fb221be564e73024
2025-08-06 19:05:39 +00:00
stephan
5d06c6b3f1
Add *.obj to the make clean target for the sake of the Unix-on-Windows environments.
...
FossilOrigin-Name: da07e0c02fe7de7b67f2564c29f49f251ae2374c0e269d246bd13e68a9a73328
2025-08-06 16:51:12 +00:00
stephan
de048aeda9
Extend the sqlite3_rsync PATH to include /opt/local/bin, per request in [forum:ca3c1bb7ca8e03 | forum post ca3c1bb7ca8e03].
...
FossilOrigin-Name: 79a14a5ebd0e8a0aa7f7bb180fcaa348a3ecd046662e3ee05a34f2c9a7db3dd6
2025-08-06 15:57:44 +00:00
drh
7270a56fdf
Minor bug fixes in the script added by the previous check-in
...
FossilOrigin-Name: 2e1a2db3f92b0bd484d979b422fe28e86732121594d190b76dbf46f5d7533643
2025-08-06 12:47:58 +00:00
drh
aa86b2a373
Add a script to build ARM64EC binaries on Windows11 for ARM64.
...
FossilOrigin-Name: 2d5b74b84a9c778183a11070623e89b553ba9cde905b779dbf115ea95aa0ca9b
2025-08-06 12:43:06 +00:00
drh
ff1d5e5bb8
Fix a possible printf() of a NULL string in fuzzcheck. (Passing a NULL to
...
"%s" in SQLite's internal printf() prints the text
"NULL", but it apparently segfaults glibc. Whatever.)
[forum:/forumpost/e07d56579b|Forum post e07d56579b].
FossilOrigin-Name: 4ec69baf4f2a75585b92388cbc352836116381dce3f2d44a3b0f7d3360a17cf0
2025-08-05 23:01:31 +00:00
drh
cd70a44d45
Remove the <i>experimental</i> lsm1 extension from trunk, in as much as
...
readers were thinking that this was a supported extension and were reporting
bugs against it.
FossilOrigin-Name: ae9d7c9c922bb241363aa690b42b9664c4ad6e76ed5ce474daf1ab44461bc6a3
2025-08-05 12:01:43 +00:00
drh
332eb8e63c
Add bounds checking and error messages and improved comments
...
to the (unused) zorder extension function.
[forum:/forumpost/e3f1ede174|Forum post e3f1ede174]
FossilOrigin-Name: 6bb717acf706e6ffd4671660ca78237e6a42863f344518e6d21065bf735f971e
2025-08-05 10:54:56 +00:00
drh
f9c2cff2fe
Improved defenses against corrupt ZIP archives in the zipfile extension.
...
FossilOrigin-Name: 642e89191deaf75db236102248c662aeef65bcd3dcbdfea694256583556be75f
2025-08-05 01:53:03 +00:00
drh
eff534e1a5
Back out a recently added NEVER().
...
FossilOrigin-Name: 4fcdd5bdb061d550b4a35594eb16c9a1699c76caf1d906f1781b4f9cb29ac80c
2025-08-05 00:16:40 +00:00
drh
a37bf61539
Fix a bug in the fuzzcheck.c test program introduced by [1cccea0508f5c8b8].
...
FossilOrigin-Name: 90b217e11c988785d19b8efbba435250c120837492f430cf16d6d4524dd55136
2025-08-04 23:37:48 +00:00
drh
d7d77eb56d
When doing an indexed row-value comparison using an IN operator where the
...
order of the columns in the row-value need to be rearranged in order to match
the index, be sure to make affinity conversions before the rearranging of
columns so that the correct affinity is applied. Fix for the bug
reported by [forum:/forumpost/eab63506cf|forum post eab63506cf]. This
problem goes back almost nine years to [ddb5f0558c445699].
FossilOrigin-Name: 8800c13deca3717c8a9bed42ef5f09752e4ca8a31adfb4ab0545e0e2b5684bd0
2025-08-04 23:05:35 +00:00
dan
82b08cc8ef
Add an assert() to verify that IN_INDEX_NOOP is not used for vector operations.
...
FossilOrigin-Name: 49c587c6d204841a3d26f183812913ebd585006259040fdf7ba68346cc75580a
2025-08-04 20:48:37 +00:00
drh
e318c4573b
Remove the "experimental" mark the snapshot interfaces.
...
FossilOrigin-Name: 015dc43f628a6f5054152b05b20eb03b6a1153231f824c910a4416792af05272
2025-08-04 19:35:20 +00:00
drh
8725bf916d
Fix harmless compiler warnings arising from [1cccea0508f5c8b8].
...
FossilOrigin-Name: d682557464a6069a93f890bb0aa983cea020ccde8261335ceeab19b9b6423863
2025-08-04 11:50:41 +00:00
stephan
1f4c281b0b
Minor doc typo fix in sqliteLimit.h.
...
FossilOrigin-Name: 8bb315ef7429a60899f5afe878a3b1aa146b18eef2ac9f4d6eca98587a2255cd
2025-08-04 11:20:31 +00:00
stephan
1cf61ce636
Add a note to sqlite3_deserialize() that a schema name of NULL implies the main db, a former shortcoming pointed out in [forum:0543d8aa8e|forum post 0543d8aa8e].
...
FossilOrigin-Name: 50234bc9e9fe58daf820ed5a1355f1d173728b5d33a7534244f1acff974baa30
2025-08-03 08:56:16 +00:00
drh
cd552cf99f
Tag a condition in os_unix.c as unreachable.
...
FossilOrigin-Name: 151844ad5451295104f18f4823d2fdaf041f22bc09099f1fa3f90898aafa7ea5
2025-08-02 17:37:59 +00:00
stephan
8c30f16a2e
Fiddle: move the About button into the main toolbar. Extend the About text with some info which only shows up (or is only hidden) when terminal mode is available.
...
FossilOrigin-Name: da524d6c61330fb004dade810c5ad84bb6d37625786c1d0fd473593f2448d904
2025-08-02 15:04:50 +00:00
stephan
f681a9a7d8
Fiddle: make the toolbar visible in terminal mode and hide non-terminal-mode options when in terminal mode. Move the terminal/split-view toggle button into the toolbar. Improve the view-switching handling.
...
FossilOrigin-Name: 711bf423d213a2c468c32a48c0b09927cdfdffce36e5e4a3b35a32bfa055ff82
2025-08-02 14:50:01 +00:00
stephan
380ef6006b
Fiddle: move the About button into the header bar and get it working together with the optional jquery.terminal console mode.
...
FossilOrigin-Name: 9639382c5478115df7c1584c14a52c176fe747df73078419be4ab276374a704b
2025-08-02 13:21:07 +00:00
stephan
a0e569d5ba
Fiddle: add an about/info/help view and a button to toggle it. Change the color schema to a more conventional black/white. Force imported databases out of WAL mode, which doesn't work in fiddle.
...
FossilOrigin-Name: 27d1d0100c0cb6e5c0c576be0f99209bb905f302008d8c257039adf8c5402f7d
2025-08-02 12:06:37 +00:00
drh
46c7568db5
Ensure that stack space allocated for a flexible array has the correct
...
alignment. Fix to [d4307a0d43f42e96] to for some compilers
(DeveloperStudio) and platforms (Sparc).
FossilOrigin-Name: 1cccea0508f5c8b8ff751f407873713adc33f8642dcb6cdd495fd2d72ebcbdd3
2025-07-31 12:25:23 +00:00
stephan
210b182b79
Generic JS doc touchups. No functional changes.
...
FossilOrigin-Name: cc5f126ea4fa4a1abf183c95d151a7e9bd151b90c5c581d3be56db23bbe05a19
2025-07-31 09:54:09 +00:00
drh
1e687a4187
On MacOS, when increasing the size of files on FAT filesystems from 0 to
...
1 byte in order to preserve their inode numbers, be sure to fsync() the file.
FossilOrigin-Name: 727efa8559852012cf3381baf5fcb1da198ff27d8856ce7b813920b99367dee5
2025-07-31 09:45:20 +00:00
stephan
67695a30ea
Minor doc and consistency improvements to [cf7163f82ca380958].
...
FossilOrigin-Name: 690a7273226df361f3eaa90f9b693ba554ed9d9456c19c5d3a12e812eca49eab
2025-07-31 07:44:18 +00:00
stephan
3e616d3445
Back out [e283d817e3a9] because further testing has proven it unnecessary.
...
FossilOrigin-Name: 7318a00de64ec89c2a08d86e9f50c694894c4b59b07ff52b0d1f9f0ab8c4df44
2025-07-30 21:39:27 +00:00
stephan
d38777134b
Move the flexarray union members from [527bbc1676a85a9] to the end of their respective objects.
...
FossilOrigin-Name: 3082e07926695863bd5ef51c3c4803fbe267dc0d9b6ac9a717c225459f8988ba
2025-07-30 21:34:47 +00:00
stephan
df23b518da
Apply alignment-related patches suggested in [forum:41cd226375cd49c6 | forum post 41cd226375].
...
FossilOrigin-Name: 527bbc1676a85a927352cd10a292afe041a72692ec0b1360e5a1ccaa19a32fcb
2025-07-30 19:48:12 +00:00
drh
7957c70947
Default pointer size for the __SUNPRO_C compiler is 4 bytes.
...
FossilOrigin-Name: e283d817e3a93a3cd42c7b79e08e5fb61cb4fa4734137b92f1748dbbe8b8b919
2025-07-30 18:23:33 +00:00
stephan
b79848edd4
JS: ensure that sqlite3WorkerPromiser.v2.defaultConfig initially refers to sqlite3WorkerPromiser.defaultConfig. This fixes a longstanding oversight rather than a known in-the-wild problem.
...
FossilOrigin-Name: cf7163f82ca380958a79350473b2c5a2cebda7496d6d575fa2835c362010fea1
2025-07-30 16:17:14 +00:00
stephan
1560d52f82
Adjust the previous check-in to replace the db's WASM address with yet another random number, and increase the range of random numbers, reducing the chance of cross-worker db ID collision to 1 in many billions.
...
FossilOrigin-Name: f5e2a72c57e802c5042ab8343e5009ba9f22ca7138a1c78f4b8201ab9b4fd395
2025-07-30 15:02:32 +00:00
stephan
f402509b62
JS: add a random element when assigning db IDs to Worker1 db instances. This addresses [ https://github.com/sqlite/sqlite-wasm/issues/113 | the npm project's ticket #113 ], which demonstrates that two independent workers can end up generating non-globally-unique IDs. That's not a bug, per se, but it makes the IDs useless for client-side mapping of db connection IDs to client-side state, so we add some randomness to them.
...
FossilOrigin-Name: 6d2a43075fda9c4eae28f9ca4aaf459c41d305c861947a47fb2cbd513249c4b9
2025-07-30 14:50:44 +00:00
drh
bac6793a8a
Enhance the printf formatter for %#f such that the minus sign is omitted
...
if the '+' is missing and all digits shown in the rendering are zero.
Thus, for example, '%#.2f' renders -0.004 as "0.00" instead of "-0.00".
FossilOrigin-Name: 09e1d7c7b4615262dd03adf1be201122f3cb8909ad381d67f51c812f07e25719
2025-07-30 13:37:49 +00:00
dan
7423ecb0a9
Fix SQLITE_OMIT_WAL builds on windows.
...
FossilOrigin-Name: 575271c3ae53c64784a2aa1e9b7c6cdcb0402022967155dd176a6b1f1e560b50
2025-07-29 11:04:32 +00:00
drh
7bcb650f57
Add new extended error codes to SQLITE_ERROR and SQLITE_IOERR, for use
...
by extensions.
FossilOrigin-Name: 02b241bc4ce72d50a8d7621a663e759443b532a5ff9354fc3266ad6bb9433ed4
2025-07-26 12:51:18 +00:00
drh
6d7be8293e
Do not apply the [/info/e33da6d5dc964db8|EXISTS-to-JOIN optimization] if
...
the subquery contains a LIMIT clause.
[forum:/forumpost/2025-07-23T10:59:14z|forum post 2025-07-23T10:59:14z].
FossilOrigin-Name: 314c493f273a34dff7b9f954e7553bc540bbcf5b913f779ef9ce0b9ba11acf7a
2025-07-23 12:48:16 +00:00
drh
5a6f651397
Fix a potentially uninitialized field in the WhereLoop object that is used
...
as part of the skip-ahead-distinct optimization. This fixes various
[forum:/timeline?ymd=20250722&u=yxchen&vfx|recent forum reports from yxchen].
FossilOrigin-Name: c10f9970c6a3ffacaef0f0728fc7ff11011686835dc78ca43035c0493e0af319
2025-07-22 15:51:41 +00:00
stephan
d649d7b90c
Apply [ebb346c5aa]'s change to sqlite3.1, as reported in [forum:bf92f78344 | forum post bf92f78344].
...
FossilOrigin-Name: 477211be60cd873d078293f0dd767506c069c3dd83bc1759ae7258d4d3dff359
2025-07-21 18:00:44 +00:00
stephan
095d399e7c
Ensure that certain local files are not inadvertently carried over into the snapshot tarball and causing confusing build results.
...
FossilOrigin-Name: 47fdf7ed2cad7ec56118cf4f77297b1178cd2104a21b19d4afad46437a944378
2025-07-20 18:29:35 +00:00
stephan
fdd37e9637
Teach autoconf/tea/configure to be able to run from the canonical source tree so that a snapshot build or appropriate symlinks are not necessary in order to test the extension.
...
FossilOrigin-Name: 71b9365b848d9b2bc75336ebbec815eba3a7ed5168798759753a990a1b706fc8
2025-07-20 18:05:45 +00:00
drh
2445ee0e37
Factor out the unusual encoding-change case from vdbeCompareMemString() for
...
a performance improvement in the common case, and a small size reduction.
FossilOrigin-Name: cbd46ab8a8b4622f42dd9f87f28b812c1d6fa5ea73a4e8f1253514455f397783
2025-07-19 20:10:07 +00:00
drh
ea8f9708c5
Small performance optimization in sqlite3VdbeRecordUnpack().
...
FossilOrigin-Name: eae168def2ff11f57f730f8a3bd86748b0943077e37b2709c10de0aecff664ec
2025-07-19 19:54:44 +00:00
drh
bcd14a0a3e
Split the (internal) sqlite3VdbeCheckFk() routine into two variants,
...
sqlite3VdbeCheckFkImmediate() and sqlite3VdbeCheckFkDeferred(), which
run faster than the combined general-purpose variant.
FossilOrigin-Name: 872b1b52ed93ef85911c2ef87b15673f9e102aef564f208e0a916af62671df93
2025-07-19 18:46:03 +00:00
drh
c585e03a4b
Use fewer CPU cycles to commit a read transaction.
...
FossilOrigin-Name: 861e55656abb208b4f1f2c8808c76c0454427af85a8930ab53f9c053605f39c7
2025-07-19 18:17:06 +00:00
stephan
1f436ad563
Add SQLITE_SELFORDER1 to JS's sqlite3.capi namespace. It's only useful when built with an sqlite3.c which itself was created with -DSQLITE_ENABLE_ORDERED_SET_AGGREGATES, which the canonical build does not do but custom builds may.
...
FossilOrigin-Name: fdd15e938ccfac9e871d781d1c8fe8be6dbd9e8cbbcb8b7f0b035e5ceebb8746
2025-07-18 22:18:41 +00:00
drh
daa4cdf84a
Fix a minor comment inaccuracy.
...
FossilOrigin-Name: b66fcb61a1d044fa18419ab382a8b159e9b6bb52956917d8a9de4dccf8dc9a87
2025-07-18 19:17:32 +00:00
drh
bae748a76e
Increase the precision of the "real time" output from the ".timer" command
...
in the CLI from milliseconds to microseconds.
FossilOrigin-Name: c5dbe93114d318fea431859e388af74aeb4cb854c514c9910590441c990321f3
2025-07-18 17:40:34 +00:00
drh
74cc109780
Ensure that the accumulator for an aggregate always gets initialized,
...
even when the aggregate is on the right side of a LEFT JOIN and never
gets evaluated. This fixes a problem introduced by [663f5dd32d9db832]
and found by dbsqlfuzz. Test cases in TH3.
FossilOrigin-Name: 235cf6586b9ac914a32bd8adfd460daae998687f02f0998a7aa3c6bfc857d1c9
2025-07-18 12:10:15 +00:00
stephan
01a2953350
Pedantic internal build doc fix.
...
FossilOrigin-Name: 9ef429a8507745e0a6fae4f0ec1dc2b142dad1357f9a7ff576e7834c8ff5c6fe
2025-07-17 19:18:01 +00:00
stephan
cf05295a85
Diverse wasm build cleanups.
...
FossilOrigin-Name: 14ca18f72a7edde7c65a6c6b23fdc3f5ed6860371795926045c987f7b2c75e1b
2025-07-16 20:50:40 +00:00
dan
91db1c413b
Fix vtabH.test so that it works on windows even if there are files that begin with "$" in the root directory.
...
FossilOrigin-Name: 19a79219a7d52272102ff09d19e6b9b87e88e0070592fd7e6040bd8ce66ad238
2025-07-16 17:24:31 +00:00
stephan
10687e283a
Remove some stray makefile debug output.
...
FossilOrigin-Name: 7ef22c3d11088210d2267375ec188bd352b067614200394b9877f2e40dc12bb2
2025-07-16 16:56:33 +00:00
stephan
074b1aa42d
In the wasm makefiles, replace X:=Y with X=Y because := has different semantics depending on the make impl and its use is arguably a bad muscle-memory habit worth breaking. These makefiles are very specifically for GNU make, but long-term it would be nice to eliminate that requirement.
...
FossilOrigin-Name: d4203311a2f39189ed8f30d519468aed8983af7772a5b247e7557d3e1936064e
2025-07-16 14:51:23 +00:00
stephan
522ce56734
wasm: remove some extraneous levels of makefile var and fix the (unsupported) wasmfs speedtest1 build to account for var renaming which happened long before this.
...
FossilOrigin-Name: 35b2315343e22ca12c6ee3f5be8741eba889bb6461e08fad0a8ae7db033319cb
2025-07-16 13:22:38 +00:00
stephan
68b74e2c42
Remove an unnecessary step from the wasm builds and account for a recent Emscripten-internal code-generation change which caused a post-build cleanup step to not actually clean up (harmless, but adds about 26k of useless stuff to the resulting JS).
...
FossilOrigin-Name: a8ed16989dcd324bd9caa09aec7979249deaf59ca13bc377379ddd83c53379cd
2025-07-16 11:56:16 +00:00
stephan
e5a7b815af
Further internal wasm build cleanups. No functional changes.
...
FossilOrigin-Name: 8364d89c3bc1d1dbd95b4324a41bd655251ebd2da5b9f1b9f9aceba9c3d26d3d
2025-07-16 11:09:18 +00:00
stephan
f98148be9c
Internal refactoring of the WASM build makefile rule generator, working towards parallelizing the various build modes (which is not currently possible because most modes share the same sqlite3.wasm output file name).
...
FossilOrigin-Name: 1062b61e9c949d76791ed7974cf6c38d1cec9797a930e9ad7ca851130f5e9a48
2025-07-16 10:34:14 +00:00
stephan
27e13f4f3a
Teach the sqlite3 CLI shell to look in XDG_STATE_HOME for the CLI history file before falling back to its historical location in the user's home directory.
...
FossilOrigin-Name: 1e663374c3fcc20ab0b3250aa1ff9d5e5ac391c89808ad589aa30c8882d4b61e
2025-07-16 09:27:55 +00:00
stephan
3a97a1ba8c
Squelch a legitimate but harmless 'discards const' warning.
...
FossilOrigin-Name: 73539fe0932494234b8f2293b0dbc1f0aac60a7d00fdaf4a59c2da654ce26f5b
2025-07-16 09:20:02 +00:00
dan
81e9bbf8da
Avoid evaluating special vtab operators (e.g. MATCH) that are part of ON clauses attached to left joins from being evaluated too early. Fix for [forum:/forumpost/428ef7c468 | forum post 428ef7c468].
...
FossilOrigin-Name: 9f184f8dfa5ef6d57e10376adc30e0060ceda07d283c23dfdfe3dbdd6608f839
2025-07-15 19:00:01 +00:00
dan
7d20c2e8a3
Add test case to between.test.
...
FossilOrigin-Name: ffebbb7ae977adc6c729d30b51f2ff29d416e018d82e450d87ccd973472819c8
2025-07-15 18:51:46 +00:00
dan
192d0ff8cc
Optimize allocation of large tombstone arrays in fts5.
...
FossilOrigin-Name: 0fcc3cbdfa21adf97aed01fa76991cccf9380e2755b0182a9e2c94e3c8fb38d7
2025-07-15 14:06:15 +00:00
drh
97e6368abc
Add the snapshot-zip makefile targets for both Windows and Posix.
...
FossilOrigin-Name: 8c73c0c5935431556f687556bfdb459754609f07c6366c810a55bf7583ee303d
2025-07-14 18:27:32 +00:00
drh
1c11aa3da2
Enhance the "mktoolzip.tcl" script (used by the "tool-zip" makefile target) so that
...
it uses "fossil test-filezip" to build the ZIP archive if available, and so that
it also generates windows-dll-*.zip on Windows platforms.
FossilOrigin-Name: 63ddc215eb6106985c53d3c8d99f5445a92acf4359a6bb2681882c49583df871
2025-07-14 16:05:59 +00:00
dan
bf5f1f5172
In rtree.c, ensure that the pReadAux statement is reset whenever the bAuxValid flag is cleared. Fix for [forum:/forumpost/3e45ed31d8 | forum post 3e45ed31d8].
...
FossilOrigin-Name: 3c0afda372cd688e9aff7be1c0a41f557c8c8819f5f47420166ce8255cd806c8
2025-07-14 15:40:25 +00:00
dan
194f0bada7
In rtree.c, ensure that the pReadAux statement is reset whenever the bAuxValid flag is cleared. Possible fix for [forum:/forumpost/3e45ed31d8 | forum post 3e45ed31d8].
...
FossilOrigin-Name: 1740f9a09850f6647fc1f6384353d89a1ac0b2b15c429b576b6014eada71937e
2025-07-14 15:34:11 +00:00
dan
08f8111bd8
Add new sessions function sqlite3changeset_apply_v3() and its streaming equivalent. This allows changesets to be filtered on a per-change basis, not just per-table.
...
FossilOrigin-Name: 10ebd7a119ef1985755ef143a941fbaed1b5ca1c8a71e011c8bbc70e383fd337
2025-07-14 14:51:43 +00:00
drh
f8addcf937
Fix harmless compiler warnings in builds that use SQLITE_OMIT_DATETIME_FUNCS.
...
FossilOrigin-Name: e11fbf9fd630a7de2e0b0e4b67dded05b905b2a0ba04aa7e915ca9df2d9ebe21
2025-07-14 09:41:59 +00:00
dan
bcfe38b96a
Avoid evaluating special vtab operators (e.g. MATCH) that are part of ON clauses attached to left joins from being evaluated too early. Possible fix for [forum:/forumpost/428ef7c468 | forum post 428ef7c468].
...
FossilOrigin-Name: 18ba07c152294a96d510a7851a0860f982ff1e0725afeebed9a343f550f6925a
2025-07-12 18:14:41 +00:00
stephan
1b8f6558f8
wasm: introduce the sqlite3.oo1.DB.wrapHandle() and Stmt.wrapHandle() APIs, which enable clients to wrap (sqlite3*) resp. (sqlite3_stmt*) pointers in their oo1 API counterparts, optionally with or without taking over ownership of the pointer.
...
FossilOrigin-Name: e5d079549594ca44852773b8919894866394e47ad725dadc7f65242413a219d3
2025-07-11 19:52:36 +00:00
stephan
1f68085849
Clearer docs for the unowned db/stmt handle mechanism.
...
FossilOrigin-Name: 53401b5435e30c4b47b6e203976b714d616246d734b5876a34f53f6388f872f8
2025-07-11 19:44:42 +00:00
stephan
c493e4516a
Correct a one-too-many-exclamation-points bug which caused the opposite of intended semantics in oo1.Stmt.pointer ownership.
...
FossilOrigin-Name: 91e709f36d36174534b4cf4ff548a558e66cca5e23a6c8c106bc43375fc3ce72
2025-07-11 19:34:30 +00:00
drh
69b5674b40
Additional header comment documentation in the ext/misc/vtablog.c test extension.
...
FossilOrigin-Name: 3656acfaa3011321a6e17fb81e5bdedcfffeab6035f133ab89ae9589bf5bef72
2025-07-11 17:02:11 +00:00
stephan
0eca9db776
speedtest1: in WASM builds, disable the "app" test set by default because that one set is triggering file-not-found errors for the db file for reasons not yet understood.
...
FossilOrigin-Name: 9d68971c58261bce72b49c574cf07ad31add62bee814c58840b927fed7eb87b1
2025-07-11 11:06:25 +00:00
stephan
c066f2af9c
Do not export the numerous Emscripten HEAPxy symbols and remove the last remaining JS code which references them. They have long-since been replaced by internal equivalents and a specific feature check on one of them (which is also no longer needed) is triggering an exception from Emscripten. More details are in [ https://github.com/emscripten-core/emscripten/issues/24656 | Emscripten ticket #24656 ], noting that this is not an Emscripten bug but an Emscripten behavior change brought it to light.
...
FossilOrigin-Name: b9462dc1461c830466f4e1de4a4d3bf249e3f81aea363f13462ea915769878d9
2025-07-11 10:27:06 +00:00
drh
625d0b70fe
Improve the accuracy of the ETC on both devtest and releasetest.
...
FossilOrigin-Name: a3f96cafdc0e1f2eeccc6509f1f9c26d2c48668953550f299cf2805a0a063014
2025-07-10 20:45:00 +00:00
drh
45bff0ea64
Add the estkey column to the jobs table of testrunner.db. The plan is to
...
use this to collect measurements that will help generate improved ETAs for
a test run.
FossilOrigin-Name: 9eccf5267c6423c9dd4da1d61b62bbb6fbba44fb8089da79f89c84e8b77ff0f0
2025-07-10 17:19:08 +00:00
stephan
07b483c48e
Minor internal doc correction in vdbeInt.h.
...
FossilOrigin-Name: c3a2ef639c22255a298cbccb7fd871ec9b24929f82bf95d6982b12daf5c963d6
2025-07-10 09:27:57 +00:00
stephan
6fd9469a32
Minor JS doc tweaks.
...
FossilOrigin-Name: 34d893b4837be8bb679e9809befd98201dd79c8d2054f41429b18793b77e840f
2025-07-10 09:25:57 +00:00
drh
33c2e37f98
Fix the empty-table optimization on INTERSECT so that it does not try to
...
use an uninitialized register for LIMIT processing.
FossilOrigin-Name: 6918ada008507b4564ca0dc5f4f6818c49a42eb14a16285b2074e21dcc8f2c3f
2025-07-09 20:11:49 +00:00
stephan
2ba5a93e8f
wasm: DB.wrapHandle() no longer accepts a DB object as its first argument, as there's no apparent use case for proxying one DB object with another. Doc improvements for the new code.
...
FossilOrigin-Name: 0ee19db02a9b9320681d4393d9ba52889d149eac8ee114fc7b7f52a57271c139
2025-07-09 13:43:53 +00:00
stephan
6276637075
wasm: add a few tests demonstrating that oo1.Stmt.paramaterCount's new impl does not change visible behaviors. Add the c-pp-filtered files to 'make clean'.
...
FossilOrigin-Name: 3fe61545967f82190011edb90b1be6a448b590555c7ba5f8e96494aeea8f88ce
2025-07-09 13:13:01 +00:00
drh
8663a78ec9
Fix a possible user-after free following OOM in the EXISTS-to-JOIN
...
optimization.
FossilOrigin-Name: 498ee8d514e64cdc93a8d68e1971b6326c6132daf25067936bec921c42494caa
2025-07-08 22:11:39 +00:00
drh
aa12f0027b
Adjustments to test/incrblob4.test so that it works on both Linux and Mac
...
in spite of error message differences between those platforms. Minor change
to termIsEquivalent() to provide 100% MC/DC.
FossilOrigin-Name: 720387f8604f7cd997f1850ed62ce6ab32608155d7f02a89c695041caafc4067
2025-07-08 20:28:35 +00:00
drh
9a13a21223
New optimizations to detect early when queries return no rows due to
...
tables being empty. This includes the EXISTS-to-JOIN optimization that
tries to transform EXISTS constraints into additional terms of the FROM
clause.
FossilOrigin-Name: e33da6d5dc964db817d1bc63c9083aecd93d49ee14d5198600b47eaf7c5b9331
2025-07-08 19:53:36 +00:00
dan
9b91aac83b
Fix a problem with the fix in [5cb8e342e1].
...
FossilOrigin-Name: 043ff54fb746c54bc6cfa6aa8c8a32c876c09d36163125916ad01024b98d447b
2025-07-08 19:02:26 +00:00
dan
acd1d93497
Fix another problem with running fts5 integrity-check in SQLITE_DEBUG builds, this one causing an assert() failure.
...
FossilOrigin-Name: 5cb8e342e1d33a0fd04fd022900eeada46a2ee23f15c6abca1b37633e77429d6
2025-07-08 18:44:56 +00:00
drh
449b34571e
Enable the EXISTS-to-JOIN optimization if the outer query has no
...
FROM clause.
FossilOrigin-Name: 1b9b124f9a35ebd1ac4ea70ef1ee08a4c82c11da690d4164f6b785a6fd9730d9
2025-07-08 17:28:09 +00:00
dan
9615cf93c8
If SQLITE_DEBUG is defined, fts5 does extra checks as part of integrity-check. Ensure that errors from these extra checks are only reported if the other, normal, tests all pass. This fixes a test case in fts5corrupt3.test that was failing if SQLITE_DEBUG was defined.
...
FossilOrigin-Name: 98a53fb276fa1fa733da2dd3255c35ce9f6af9b9feef6e76fb577b6d142167a2
2025-07-08 14:54:20 +00:00
drh
925b79039c
Fix test case results in FTS5 that were changed error message improvements
...
in [48044a6b57c0a16c] but which were omitted from that check-in.
FossilOrigin-Name: e1f8e0240b14f1338e947634e840af785e5042a09cd365975e922a13a562f4cd
2025-07-08 12:37:25 +00:00
dan
7fc6e6a272
Only run preupdate-hook tests in incrblob4.test if the preupdate-hook is enabled in the build.
...
FossilOrigin-Name: 56314b6b53c86ae131f780e20b62bdeabccba6d62dda41becc1c4b2e87cee07b
2025-07-07 20:47:23 +00:00
drh
8c8443a38a
Small performance optimization in the resolver.
...
FossilOrigin-Name: 840646df0696706bd4dd7a04dfc8b16ad80c24cbcbc57a22c9e65a93cc17af2b
2025-07-07 19:03:50 +00:00
drh
44a03671c4
Merge the latest trunk enhancements and fixes into the empty-table-optimizations branch.
...
FossilOrigin-Name: f15cdf07573c05276a13885d74bae21a93544766344f19ef939b7a69edd1073b
2025-07-07 18:35:51 +00:00
drh
0a5508aeb4
Rework the fix to the problem described by
...
[forum:/forumpost/b9647a113b465950|forum post b9647a113b] so that it
provides a more complete fix that covers cases that were not resolved by
the original fix, and so that it does not cause performance regressions.
FossilOrigin-Name: 28db0d152d90fb5e62d03ea5caceabe8901be98522aef3dc2b54564fbc35355d
2025-07-07 16:19:44 +00:00
drh
4fe1ac8fe1
Simplifications to the row-value IN operator logic. Do not let the query
...
planner accept a WhereLoop for a row-value IN operator that uses the same
index column more than once.
FossilOrigin-Name: d2adf61f21a3ce901a2b08199ad0de191e88ef16e097c5f7a75c95ad958eff12
2025-07-07 15:40:53 +00:00
stephan
24d290e7b0
Work around the Emscripten 4.10 regression described in [ https://github.com/emscripten-core/emscripten/issues/24656 | Emscripten ticket #24656 ]. Problem reported off-list by BrickViking.
...
FossilOrigin-Name: c385475b250f3364507a95c5832137098a9bb7c7fc12ab3bb116e1fad7bb7645
2025-07-07 12:11:26 +00:00
dan
8504d37b99
Avoid invoking the preupdate hook from within sqlite3_blob_write() if the cursor is already invalid.
...
FossilOrigin-Name: 9f335b9a4e9e761a0c6afd6dc69665a24506141bde88530bf59fcbdf957ae881
2025-07-07 11:37:55 +00:00
drh
4aacd1ef8e
Back out the fix at [ba7d5bad32ad6aac] because it does not always work and because
...
it causes a performance regression. Add new test cases for row-value lookups of
indexes that contain redundant columns, three of which are currently failing. This
branch is seeking an improved solution to the redundant index column problem for
row-value lookups.
FossilOrigin-Name: ad8ddcefab5cc526b1cd77731e00939c672e61ca83350d28961b67635d20da03
2025-07-07 10:54:00 +00:00
drh
0840460689
Fix parser error introduced by [325e547a2195571e]. See
...
[forum:/forumpost/095dbfc06e5b1f7e|forum post 095dbfc06e5].
FossilOrigin-Name: 4eefab44941fc6e17742fa49c8734e7f00a2177d82bc572e596228add53aad39
2025-07-07 02:18:27 +00:00
stephan
240319decd
Remove some dead JS code and some extraneous debug output from test code.
...
FossilOrigin-Name: 6e73770a7f3845055e0130012d844c32c4a1bfdb87e8379c161e1a266a808143
2025-07-06 15:36:28 +00:00
stephan
787f4c3f09
JS doc additions.
...
FossilOrigin-Name: 7933505f0c1d25c6ee81ead8edc5ea649a84ec0582321bcf5ed4a17232750f90
2025-07-06 15:13:06 +00:00
stephan
4d453cc2ed
Experimentally add sqlite3.oo1.DB/Stmt.wrapHandle(), which allow DB/Stmt instances to wrap a (sqlite3*)/(sqlite3_stmt*) optionally with or without taking ownership of it. The intent is to enable mix-and-match use of the C API, the oo1 API, and any other hypothetical API which exposes those pointers. oo1.Stmt.parameterCount is now a property access interceptor like Stmt.columnCount is, but that doesn't change how it's used.
...
FossilOrigin-Name: 1227543b87c3320d6b80e0f61b88ea53b68779966a0295c4d6a1db6369c48207
2025-07-06 15:01:44 +00:00
drh
c701d17366
Improvements to the EXPLAIN QUERY PLAN output for EXISTS-to-JOIN.
...
FossilOrigin-Name: 6b1ecbaa2ee405be040901dceac45d027d35c313622748ba4dbbd404e297a7fa
2025-07-06 01:19:09 +00:00
drh
8bc112e3e4
Enhance the EXISTS-to-JOIN optimization so that it works on EXISTS subqueries
...
that do not have a WHERE clause, and so that it works on nested EXISTS
subqueries.
FossilOrigin-Name: c1d5295724f9cf7f49e0786d28016eff2d268a2b670f934d24c76787626089db
2025-07-05 23:33:21 +00:00
stephan
27408ab9c9
Add 'reconfigure' target to Makefile.in to re-run the configure script with the same flags it was generated with.
...
FossilOrigin-Name: c60907e77b32824aaaf024d299cdaf161b5f64fc927ffe5d5455eeb5754e6b01
2025-07-04 18:32:18 +00:00
stephan
d9eae6b75a
Propagate the -ldl and -lpthread flags, if needed, into sqlite3.pc, per request in [forum:44a58c807353162f | forum post 44a58c807353162f].
...
FossilOrigin-Name: 64f5f14322349b47451b8cac03bf8cd6f1ae45a8822e7f1ddee3d0b265047501
2025-07-04 17:20:37 +00:00
drh
45bc9b9f97
Merge fixes from trunk into the empty-table-optimizations branch
...
FossilOrigin-Name: 6f98b16d210a9f5b6ca4b4599e3dab3263eddbae7c70ddbcabf988f4a1014e8b
2025-07-04 14:24:18 +00:00
drh
e33ea17d24
Fix harmless compiler warnings.
...
FossilOrigin-Name: 13af4acebe09b047756c22b800136cffaba532e7fcaa448a4edf4fedb94e9bbc
2025-07-04 12:25:24 +00:00
drh
a12e92d2f7
Remove an ALWAYS() added by [960a8e6fc91f4] that turns out to be false
...
in some cases of malformed SQL.
FossilOrigin-Name: cc8171461bf35f584888a24b844c8b79ad30155b19b61161e9f3abc276e8aae5
2025-07-04 11:48:11 +00:00
drh
478dfc7e74
Do not allow the EXISTS-to-JOIN optimization if the EXISTS clause is based
...
on a view, since that view might expand into a join.
FossilOrigin-Name: 872c41feddafcc21a02f1229ce017ceea9f8e309a4dd5b6e323477d67f975947
2025-07-04 11:06:34 +00:00
drh
1b62720fa8
Improve the early-termination optimization so that it works in queries
...
which use the LIKE optimization in the outer loop.
FossilOrigin-Name: b4e4d148243cfcb09aa0aaca30e83812b42e2780073e55c0e8c6e3da16243dfc
2025-07-04 10:26:55 +00:00
drh
1e3a862b79
Merge the latest trunk fixes and enhancements into the empty-table-optimizations branch
...
FossilOrigin-Name: d4f47e04f5880e99a53089e2dd5cde64a7ea44f059d9906b5d11324896546714
2025-07-03 20:51:08 +00:00
dan
bd05edd98f
Fix a few cases where LIMIT clauses that were part of scalar sub-queries on virtual tables were not being passed to xBestIndex methods correctly.
...
FossilOrigin-Name: 960a8e6fc91f47add3a089dc6cef013109deadf809994c5149ad3bdfb3884de0
2025-07-03 16:05:41 +00:00
drh
a24a397b8b
Improvements to sqlite3_vtab_rhs_value() logging in the
...
ext/misc/vtablog.c extension.
FossilOrigin-Name: 25131ee84f53dab1191e02c19cefd256aed2828c7edea325fcc0ba3b0a668583
2025-07-03 15:50:18 +00:00
dan
0e6e05d4d5
Make the value of an explicit LIMIT clause on a scalar sub-query available to xBestIndex for simple "LIMIT 0" and "LIMIT 1" queries.
...
FossilOrigin-Name: 33b6a63caafccc61b3193714911cd8b5dd9b7f1798054b8c7845b23688d531f2
2025-07-03 15:32:27 +00:00
dan
c525e6e817
Make handling of LIMIT clauses in correlated sub-queries on virtual tables more efficient.
...
FossilOrigin-Name: 7214cb2a5b35190a06a1040cd4c54f325d347f8d8e36a07fd76c0a421e266522
2025-07-03 14:28:47 +00:00
drh
1ff6f19d8b
Enhancements to the xBestIndex output from the ext/misc/vtablog.c
...
extension.
FossilOrigin-Name: 8b31acc0b18f38eb4af6efebd1ea25cd65a146651101579aee20afd9ec6dc2de
2025-07-03 14:10:03 +00:00
drh
bfb4993364
Fix an uninitialized variable added yesterday by [d27d34fb746280e7].
...
This problem was discovered overnight by
[https://github.com/google/oss-fuzz |OSSFuzz].
FossilOrigin-Name: 6db4703f1178fc808f3a75c355fb6638fb12c88f6e1ce7f579e200ced8089114
2025-07-03 11:52:17 +00:00
drh
debc8f7bb7
Minor tweaks to the exists-to-join optimization.
...
FossilOrigin-Name: 9cb600ad576c68647ed943a0773019312c5f01c9c1ca9ff0bf1214b03a531b48
2025-07-03 00:17:27 +00:00
drh
aa54d7a0ca
Merge in the exists-to-join optimization that has been modified
...
to relax the requirement of having an indexed join constraint.
FossilOrigin-Name: 1c1aef2b7feae29066d0330699ab634ef41f5b60cdcd479a60cb1a5409553138
2025-07-02 20:46:02 +00:00
drh
eb27359e5e
Fix VDBE coverage
...
FossilOrigin-Name: ff593a16d61cc5c588d1737deb822abb90b1759475a4cabfcf608978b1191487
2025-07-02 17:43:59 +00:00
drh
33f3273705
Early exit if one of the inner loops of a 3-way or larger join is an
...
empty table.
FossilOrigin-Name: eaad6ac707a5960d9518d4049b7b1759e7512727ce87be3c402408144bda0a97
2025-07-02 14:53:48 +00:00
drh
216676664d
If the LHS for an EXCEPT or INTERSECT operator is empty, skip over the
...
computation of the RHS.
FossilOrigin-Name: 13f096ae8a850a05d4a8684561066f11693ee66289e6568c44ef32822cca06f6
2025-07-02 13:19:24 +00:00
drh
6245e5a46b
Improve the bytecode for joins such that it exits earlier if it determines
...
that no output is possible.
FossilOrigin-Name: 2d2b61cba44a756a3a41ef5c95bbb0c0b7111f4b679c578fec9bd0b214cca367
2025-07-02 11:47:54 +00:00
drh
caf0473652
Ensure that Expr.op2 values for TK_AGG_FUNCTION nodes are adjusted when
...
query flattening.
FossilOrigin-Name: d27d34fb746280e7e81335db4e195914b15403ef0da7b2955550553dd78fbe9a
2025-07-02 02:03:43 +00:00
drh
2427ce16d9
Improved comments on bytecode used to implement aggregate queries, to aid
...
in debugging.
FossilOrigin-Name: a1a8b85cdba64a17dcdcd4e6b42b872957cec2dc05b0ac34dfcd82f59344034b
2025-07-01 23:17:36 +00:00
drh
46bfcc1a21
Improved byte-code comments for the short-circuit optimization of
...
[0083d5169a46104a], to aid in debugging.
FossilOrigin-Name: 113f9d10e347eeaa893ff8b47a461009e0b12589374b93cf3e0bddd19c702dea
2025-07-01 20:32:45 +00:00
drh
5e71497404
Cache and reuse virtual table cursors in the bytecode engine.
...
FossilOrigin-Name: 2d187d4232d750cb1840f1d89c8aed65962cb0883c1d7f91c554b451e475c514
2025-07-01 17:36:55 +00:00
dan
526399b0fd
Avoid an assert() failure in fts5 that may occur when processing corrupt records.
...
FossilOrigin-Name: 8afd6ca85724a69970181042d6aac53742ea2b76ded5966b2541c3afe1121fb9
2025-07-01 16:21:47 +00:00
drh
e1910ed1d2
Merge trunk fixes into the empty-table-optimizations branch.
...
FossilOrigin-Name: 63306e447efb3ac17e789a331ed3bb65459eb8b79d66e9c185ba3bd852f34ce3
2025-07-01 15:13:37 +00:00
drh
d82c6a2cf7
When attempting to optimize "expr AND false" to "false" and
...
"expr IN ()" to "false", take care not to delete aggregate functions
in the "expr" as doing so can change the meaning of the query.
See [forum:/forumpost/f4878de3e7dd4764|forum thread f4878de3e7].
FossilOrigin-Name: 77397bd67d918db57d5ac545d6d963194806fdabcdaa8f822b6b09e4cfe8b715
2025-07-01 12:43:13 +00:00
drh
3d21dcc924
More aggressive optimization of addrHalt for RIGHT JOIN.
...
FossilOrigin-Name: 5e51d1c0dfcafef9e71c99de3f626dee157c935724b84c6e0c630299a880446f
2025-06-30 21:07:08 +00:00
drh
ba56f7020d
Compute WhereLevel.addrBrk and .addrHalt early so that those labels can be
...
used to abort loops early. Use this to improve performance on two more
of the cases described by [forum:/forumpost/52651713ac|forum post 52651713ac].
FossilOrigin-Name: 6fc0b9ac23be6840542982de4bb282ebca1db8b5ab3baefdde95a997c1506e81
2025-06-30 20:19:19 +00:00
drh
99f1aa03fb
Strive to skip the evaluation of scalar subqueries that are part of a
...
larger expression if the result from the scalar subquery does not change the
result of the overall expression.
FossilOrigin-Name: 0083d5169a46104a25355bdd9d5a2f4027b049191ebda571dd228477ec217296
2025-06-30 16:41:40 +00:00
stephan
1bd6b415e9
Correct ~/.local/config/... to ~/.config/... when looking for sqliterc when XDG_CONFIG_HOME is not set. Internal doc touchups.
...
FossilOrigin-Name: ebb346c5aa427b9e84a035278ee245d54810d9954efef12b898f2d7bc0ff630c
2025-06-30 15:56:10 +00:00
stephan
2752d1331d
Add support for using $XDG_STATE_HOME/sqlite_history or ~/.local/state/sqlite_history before fallback back to the historical default of ~/.sqlite_history. Update sqlite3.1 (man page) with the new semantics.
...
FossilOrigin-Name: 6b780655ccd68d068b6ee6621e56ac94c000916b7341651dc79725a0800cd1c0
2025-06-30 15:21:46 +00:00
drh
280559b446
For all binary operators, try to avoid computing subquery operands if the
...
other operand is NULL.
FossilOrigin-Name: d86eb16283c4b573c506d4faa422d5d9aeb6abc279d8e6a8e2104737162d417f
2025-06-30 12:14:47 +00:00
stephan
bbcf035954
Preliminary refactoring of the XDG_CONFIG_HOME support to support the pending addition of other XDG-configurable options. In response to [forum:31db1a23f9 | forum post 31db1a23f9].
...
FossilOrigin-Name: 69b9244e3ad95edae38d8e66cedafbc1d7724ae0dd72eeee0fdbff913983598e
2025-06-30 11:46:10 +00:00
drh
e2e81e6983
Slightly smaller and faster version of the previous check-in.
...
FossilOrigin-Name: f6e6fd02f4ad49c390a2d3c9626d57f9b2fff1f67eb361b30074cc1f5121810e
2025-06-30 11:04:55 +00:00
stephan
b8c81790b2
Minor API doc typo fixes from brickviking.
...
FossilOrigin-Name: b48d95191662e09659b5b55ae65cd462c9e1700c4f92dd9d40b59548f0797c02
2025-06-30 11:00:59 +00:00
drh
e24f20a4f5
Factor out the code that tries to avoid evaluating subquery operands if the
...
other operand is NULL into a subroutine, so that it can be more easily reused
by other parts of the code generator.
FossilOrigin-Name: 3c6c71bcea16443b82234414137dfa1b59e2ee8fe5097906c738fc1228fec4e6
2025-06-30 10:30:47 +00:00
stephan
f0991c416b
Minor API doc typo fixes from brickviking.
...
FossilOrigin-Name: c7cf9dcb69ce558ba6b81b2787f92ed7383e37f08b199faeb14f7adb4e494532
2025-06-29 07:32:20 +00:00
drh
311d73efc2
Improve the bytecode generated for comparisons so that if one operand is
...
a subquery and the other operand evaluates to NULL, the subquery operand
is not even computed. This fixes 5 of the 12 slow queries described
in [forum:/forumpost/52651713ac|forum post 52651713ac].
FossilOrigin-Name: f147bc04776ac0056412f69dfc518016c0d5b4e9d964664e3d88f595fb29dbe0
2025-06-28 17:59:15 +00:00
drh
c52e9d97d4
Raise an error right away if the number of aggregate terms in a query
...
exceeds the maximum number of columns.
FossilOrigin-Name: 5508b56fd24016c13981ec280ecdd833007c9d8dd595edb295b984c2b487b5c8
2025-06-27 19:02:21 +00:00
stephan
fbf1c0526e
API doc typo fixes and closing DD element tags from brickviking.
...
FossilOrigin-Name: c9ddd15b0197e6e5c5a74581d94cf986523514ffdb28c66ba18de9a22aec97e9
2025-06-27 12:46:50 +00:00
drh
e77e589a35
Work around an apparent GCC UBSAN bug. See
...
[forum:/forumpost/1d7c25d4a2d6f5e2|forum thread 1d7c25d4a2d] for details.
FossilOrigin-Name: 23056532e51abcff486e38a3319545e6663b4a855abe1bc443e2cd7e0473748c
2025-06-26 18:57:20 +00:00
stephan
981022b7ff
Minor API doc fixes sent off-list from brickviking.
...
FossilOrigin-Name: cb4d05633a0c9cdf146f3108e1b4b10754cd79d72a425d8cc9cd21836037a01b
2025-06-25 20:42:40 +00:00
drh
a67c71224f
Similar fix to the previous check-in, but this time for
...
sqlite3_preupdate_new().
FossilOrigin-Name: 9aaff764d508cbd9823f23cdf0c510255721bc5c09be481ebc60bd8902ceb8c5
2025-06-24 18:27:59 +00:00
drh
66cd200ede
Range check the column index on the sqlite3_preupdate_old() interface
...
and return SQLITE_MISUSE if too large.
[forum:/forumpost/b617e497287235d0|Forum post b617e49728].
FossilOrigin-Name: 6a5701e6c7be25cba93e55438f950966e1dacb32eb2b23a8acc8ac53da6f0a85
2025-06-24 15:58:32 +00:00
stephan
513fff88c4
API doc typo fixes and one rephrasing improvement from brickviking.
...
FossilOrigin-Name: 85e8060c4701a601d4bc8a639acd268ee4f2736193820d55ecd9b8abf864132f
2025-06-24 07:38:52 +00:00
dan
fe182f74b2
Improve some of the error messages emitted by fts5 when it encounters corruption.
...
FossilOrigin-Name: 48044a6b57c0a16cb75139c103ad88ca4ab64d74f70a3dee0d8b817fbfbec3c6
2025-06-23 19:38:22 +00:00
drh
b1560be826
Fix an SQL typo introduced by the previous check-in.
...
FossilOrigin-Name: 72a81d247bc74a21d077d311969ac585d0f26bffbd210ec60f03c38bf138790e
2025-06-23 19:00:30 +00:00
drh
28789029ee
Escape the "_" character in LIKE patterns in the CLI.
...
[forum:/forumpost/6a89702f5d|Forum post 6a89702f5d].
FossilOrigin-Name: cf61cd359e666c66b6bba4407a653c799f7f07e1f5ee6b837ad467029c461a6a
2025-06-23 16:51:33 +00:00
drh
f453e8d84e
Fix a harmless compiler warning injected by [c978aed3b6f82b3d].
...
FossilOrigin-Name: f46500247b3a2f8b4a2f0f032cc4066af9cb3918e38a09c59db0a1da5747a25c
2025-06-23 13:42:59 +00:00
drh
4c1c400d64
Improved "statement aborts at ..." log-file messages that identify the
...
trigger that caused the abort.
FossilOrigin-Name: 7691264fe37300c880d612c91cf093327841fbe85fb7ec67e777e911d2cfc9ee
2025-06-23 13:28:13 +00:00
stephan
87c807c6dd
Add the --disable-rpath configure script flag to address [forum:13cac3b56516f849 | forum post 13cac3b56516f849].
...
FossilOrigin-Name: a59d9bb25e518f5d79f654615b92f6c50cfb704b5abee0f820912644b89366c5
2025-06-22 22:48:11 +00:00
stephan
b5aa9593ac
API doc typo fixes from brickviking.
...
FossilOrigin-Name: 18e07f8f53693d0dace3c4025a572c1a10582290a338aa7f0913c83842a69b05
2025-06-22 12:04:47 +00:00
stephan
5806a922ba
Minor JS test cleanups prompted by a linter.
...
FossilOrigin-Name: 764235a3d15fda55af85ebe3b5885fa27336cc0e979f1be2f6770b66a84bbe87
2025-06-21 16:33:05 +00:00
stephan
427d2cd57d
Remove some duplicated JS tests.
...
FossilOrigin-Name: d1cb9ed79d806f667c22f5ba9861451d4d0765aa3072e085831045cf3a39f8b4
2025-06-21 16:18:23 +00:00
stephan
db37e6097c
Reduce the maximum --size flag for JS kvvfs speedtest1 from 4 to 2, as --size 3 and 4 are overflowing the kvvfs storage limits.
...
FossilOrigin-Name: b77b3adc828ce543e880e230701edd5e0ccb681e4c3c724ea8ad5ecbd69c73a6
2025-06-21 16:02:20 +00:00
stephan
6fcb7f22a1
Give oo1.Stmt.get() similar treatment to [8c187140a60b]. This is an internal change only - the API is unaffected.
...
FossilOrigin-Name: f5a7abc0a447273de40dacc463d267d26d4b62be56ee15baf05825791c2a7a6e
2025-06-21 15:58:20 +00:00
stephan
2f7f948fa7
Extend the SEE-via-kvvfs tests to include all three key types.
...
FossilOrigin-Name: fc001aa5ee978795c2ff670bea64db0b69b6bde98653769d9cede8825a28e698
2025-06-21 15:38:59 +00:00
stephan
0cdde5b44f
Rework how JS's oo1.DB.exec() flags its Stmt objects to make certain Stmt APIs illegal (i.e. throwing) if called while that Stmt is being step()ped by DB.exec() (which can happen via client-provided per-result-row callbacks). This is an internal change only - the API is unaffected. Remove some unrelated dead code.
...
FossilOrigin-Name: 8c187140a60b62dc3b6066b8615766d52b7a29a5de992cbb6d312dbb225a980b
2025-06-21 14:38:53 +00:00
stephan
a0c6de56ba
Numerous small doc typo from BrickViking.
...
FossilOrigin-Name: 3aab4415de615c178205936372c625bb571bad1016c3d2e7bb2a45932356f3d6
2025-06-21 06:07:13 +00:00
drh
b68d63158a
Enhance sqlite3BtreeSetPageSize() so that it detects early if no changes
...
are needed and exists with SQLITE_OK.
FossilOrigin-Name: c978aed3b6f82b3d9d2e0ca0283c611351bca5e5496e86a9d5d0731ebcd27c84
2025-06-20 13:12:55 +00:00
drh
59de42763f
Fix an out-of-order local variable declaration in ext/misc/fileio.c.
...
FossilOrigin-Name: a88bb75288a06492a04ab1278e8a2101a74f4ba712d328b4c73e86ac01cb946d
2025-06-19 20:19:12 +00:00
drh
37794b4ad0
Improve the accuracy of sqlite3BtreeRowCountEst().
...
FossilOrigin-Name: e553fb538ec1527457e2927edf9127dccf268a8a3b5918d4fb0d066ad9676094
2025-06-19 20:00:37 +00:00
drh
397b82cf0f
Generalize the indexCellCompare() so that works on any index page, not just
...
the current page that a cursor is pointing to.
FossilOrigin-Name: b305a7f5db183d8e0e5d62ca3c9c6260ad94bb954f7342bd3caabcd8308a21f5
2025-06-19 19:33:06 +00:00
stephan
92d1bec584
A slight doc rephrasing for clarity, suggested in the forum.
...
FossilOrigin-Name: 0d6084a398edb013fcfb613eff8d75e2f86cbb5e3c8049328ede89e75db93cb3
2025-06-19 12:35:30 +00:00
stephan
a5c484b432
Doc typo fixes from [forum:0bce273669 | forum post 0bce273669].
...
FossilOrigin-Name: 8f97e3f00d24b26fe87a9d3396ad855277a1a369f6f89e9c77dc9af4d203bdf1
2025-06-19 10:46:39 +00:00
stephan
64159096b8
Expose the column metadata APIs to WASM (which does not require a non-default sqlite3.c build, contrary to my prior mistaken claims). This adds only 424 bytes to sqlite3.wasm and 660 bytes to sqlite3.js.
...
FossilOrigin-Name: 3cf983816ccd167d93cb39c7a16b6db4b4f7ef2a64f4181d3bc4530cd0bd3b67
2025-06-19 10:25:50 +00:00
drh
ab9c91ae82
Extend the pedantic enforcement of type to VIRTUAL columns.
...
FossilOrigin-Name: b734c74e55acb26eb61b60937bef870f4b55b2e2e7560a22362f5f31ba2fcd03
2025-06-18 19:04:28 +00:00
drh
bcf25e7129
Enforce judgmental typing on STORED generated columns for STRICT
...
tables. [forum:/forumpost/6caf195248a849e4|Forum post 6caf195248].
FossilOrigin-Name: 5e9279bff0482806f86657ae05ca3e916708d138bc3c3ceb3fbf454818649d44
2025-06-18 16:17:00 +00:00
stephan
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.
...
FossilOrigin-Name: 59db3f639d1073678805dea26a4686eddfb238f055aa90bd429fc7fd33241502
2025-06-18 15:37:04 +00:00
stephan
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.
...
FossilOrigin-Name: 986b601db11a041d280eb61004723604bf4b6fd573b9832c97e3a9da9ea16e9a
2025-06-18 15:22:50 +00:00
stephan
d961d49971
Eliminate configure/build discrepancies in how 'make tclextension-...' works vs other makefile-side handling of the extension, conforming to the former.
...
FossilOrigin-Name: 7ca545fd3b460fcf92e117baef42655eb6e78ebb5bdc6302f8f1b5b8446c0a06
2025-06-18 14:17:18 +00:00
drh
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.
FossilOrigin-Name: 83553edf78c35d171a0ddf1a51306e963d715e56d95b8159b561b729cfb27843
2025-06-18 14:14:46 +00:00
stephan
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].
...
FossilOrigin-Name: 928976abcb11f9d5abe1f7631002592c4af7bf83ecadba5b0763866d039c2270
2025-06-18 11:11:30 +00:00
stephan
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]
...
FossilOrigin-Name: 7331e32a76a8a41cc1bd1c84069219c9929e0e0f941c1d9e308cbbb7959373c5
2025-06-17 20:50:51 +00:00
drh
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.
FossilOrigin-Name: 5973f9b9aa828ec9274b02a124b95f452c58235eaafffbdda1c32b4ae2d5616d
2025-06-17 19:10:33 +00:00
drh
110055cd6c
Fix a corner-case for [9441fff52cc4e19c].
...
FossilOrigin-Name: 336a59eb3afd80ce048de472368df6dfc32934ee783859d37663ed8f5cf169a5
2025-06-17 18:57:07 +00:00
dan
79a746b1f2
Update walcksum.test so that it works with SQLITE_DEFAULT_AUTOVACUUM=1 builds.
...
FossilOrigin-Name: 0da16f6c625bff9f2ca5624afa6dce6b5a157f44c1d56b25b92946c13217ab02
2025-06-17 18:17:09 +00:00
stephan
9ebf9d358b
Extend [b5c6cb13cff5] to use a wildcard on darwin* because some OSes report a version number in the suffix. [forum:0c4bbc2962dfb06e | Forum post 0c4bbc2962dfb06e].
...
FossilOrigin-Name: d960bd6f9256410ebc98125b0567380457e39bc8fe768fcd9ea05c6de1994df6
2025-06-17 17:15:12 +00:00
stephan
e68aa0e44b
Minor proj.tcl portability fixes and cleanups suggested in [forum:7b218c3c9f|forum post 7b218c3c9f]. Tested on Linux, Msys, Cygwin, and Haiku.
...
FossilOrigin-Name: b5c6cb13cff53f4ba1e0e6a0d61389252bd004d9099727e7a9304217e3f81d80
2025-06-17 14:56:30 +00:00
stephan
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.
...
FossilOrigin-Name: 89552e9137b7ebba9600443720e936e8dc4f7ab021d2ac3f0bb01b74071e130c
2025-06-17 14:37:31 +00:00
dan
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].
...
FossilOrigin-Name: 3a3269fe8e925a522d5df9f011220a842fb15a9f56e785884e32d2e15abda5bb
2025-06-17 11:36:39 +00:00
drh
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].
FossilOrigin-Name: 9441fff52cc4e19c44df1a77ffe474f409d519b270c7166ce17f99e6ea48fc1e
2025-06-16 17:36:11 +00:00
drh
d3a13f7d25
Improved debugging output for the transitive constraint optimization.
...
FossilOrigin-Name: 94b53c20e9bc8687c44272419aa7a93076eebdeae9a4f50b95b96a49993f9c0d
2025-06-16 16:07:14 +00:00
drh
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.
FossilOrigin-Name: a29627d7e7f8344d9a099cc133bda85250b02dc5ee5f358ba59691e0816b5b2d
2025-06-16 15:34:26 +00:00
drh
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.
FossilOrigin-Name: 65e2704c0bc329f3dd248548a2d4edb7d3ace8ceaf0b82b8618b9b1b764884cd
2025-06-16 13:51:09 +00:00
dan
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.
...
FossilOrigin-Name: a95d126e1330e1b83f42b51f97c4c216622cf38062f3b5d72ccb76313187e850
2025-06-12 07:35:38 +00:00
dan
6a5e74cbf0
Fix a problem with UPDATEs on fts5 tables that contain blob values.
...
FossilOrigin-Name: badf3014bd1620fd3d4b8013f641fd820b249649fb93cc75b7b8df9dfd6f32a6
2025-06-11 15:03:53 +00:00
drh
23e59b34e9
Fix the concat_ws() SQL function so that it includes empty strings in the
...
concatenation. [forum:/forumpost/52503ac21d|Forum post 52503ac21d].
FossilOrigin-Name: 80a78987da484d435a8242c05c48d546d430920df713b24a9d9d9fff7ba1113d
2025-06-11 00:01:42 +00:00
drh
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.
FossilOrigin-Name: f7ab764ed9df6d7a4a96cb0933d291f00174f33fed3d9951785078fe225adcb7
2025-06-10 19:52:21 +00:00
drh
6a23ff5a07
Minor corrections to the new Bitvec testing logic.
...
FossilOrigin-Name: 77b79ca1277419b91589aff2c601d4abdd7107d48019a58f7f7c85d96c2a538e
2025-06-10 18:26:09 +00:00
drh
5706b316c3
Enhancements to sqlite3BitvecBuiltinTest() that allow testing code to
...
create very large Bitvec objects that do not use the linear array cross-check.
FossilOrigin-Name: c5680672cae23f65637eebf66f3bb983a2864be03ea70378832034f3c89ef728
2025-06-10 17:22:53 +00:00
drh
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().
FossilOrigin-Name: dea1e37fa67ada6efc1533b449d9eb22338d9e58eec8f89b48c38319c212c8f4
2025-06-10 16:02:29 +00:00
drh
f091f423ad
Adjustments to ext/misc/fileio.c in an attempt to get it to build using mingw.
...
FossilOrigin-Name: 96b14a3f1193de8f30e9fa704f87558dab8027a218868d32e47688cd5df497b7
2025-06-09 22:38:34 +00:00
drh
4c323ba4be
Remove unnecessary whitespace and otherwise improve comments in the
...
wherecode.c module. No coding changes.
FossilOrigin-Name: 2eb4e9bf0f2df50324a62fb272a92bbd931b8b4e4b35bac0c05b676c97b61339
2025-06-06 23:10:18 +00:00
drh
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.
FossilOrigin-Name: aba5c3135edf7de2798ad808fa0ff176fdba3f4a9b101f1f4210b441cba8e75d
2025-06-06 23:02:03 +00:00
drh
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.
FossilOrigin-Name: acc978df52ec41ffdb5c27764f30d53efa1f25a314b7d98983dc0d211a36b570
2025-06-05 20:12:41 +00:00
drh
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.
FossilOrigin-Name: 1ddc0f9e79c33957961bc1443ccb74d756a02cbd20850052079782e76aef2706
2025-06-05 18:28:54 +00:00
stephan
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).
...
FossilOrigin-Name: 4f21874d5d20aef2e2d67a59e4fa03d98aa6514b16e4d956acfc817142cfbdb6
2025-06-04 18:34:20 +00:00
stephan
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.
...
FossilOrigin-Name: 2f8a1b79533879e4975b405c46fea496ba8bffbef065e7dd0ad29fd4aa8f8f92
2025-06-03 18:10:59 +00:00
drh
1d151e6d25
Enhance sqlite3_rsync so that it works even if the replica database is
...
initially malformed.
FossilOrigin-Name: ea1754f7d8a770477a1b19b606b27724fdc0b733e51fef32c1ef834f972c3cc5
2025-06-03 10:49:51 +00:00
drh
df724c893a
Fix an off-by-one error in sqlite3_rsync, reported in
...
[forum:/forumpost/b6d78f60fc|forum post b6d78f60fc].
FossilOrigin-Name: 27d9e8e79b921c4a86916556f3bf56b94684a7e3d40166c0fdaaf750d4011de0
2025-06-03 10:28:47 +00:00
drh
140748f949
Fix harmless compiler warning introduced by the setlk-snapshot-fix merge.
...
FossilOrigin-Name: c1f20f89d9eb3e1dd1018c0e0efe5d3043a592f078e235ad04b960334c7186c2
2025-06-03 10:18:54 +00:00
drh
2bd9f69d40
Fix JSONB edit so that when it is trying to reduce the size of an element
...
it understands 0xf0 (8-byte) sizes.
FossilOrigin-Name: 5b3de6e8ab6b228bf6c0e0c31b50ca29d8b7852b460eaaca6c6ecf5a3c083cab
2025-06-02 23:34:42 +00:00
drh
333b07b18d
Increase the version number to 3.51.0
...
FossilOrigin-Name: ed69d4432712603bea2161e0ca0c99e59480fb000e1cbf1aa1401d924544e351
2025-06-02 18:58:42 +00:00
dan
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.
...
FossilOrigin-Name: 7f9c0cdd0630a41db359b188b226a1ad6a3bae1663c27169acfe25edc7fb171b
2025-06-02 18:48:36 +00:00
dan
69ce758efa
Fix os_win.c so that SQLITE_ENABLE_SETLK_TIMEOUT=2 builds work on windows.
...
FossilOrigin-Name: 8efb95e0d4670b9c5dbd8cf34512334f47951a8dff8fdadc8645f75076acd91f
2025-06-02 18:37:32 +00:00
drh
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].
FossilOrigin-Name: f184d1d236e47962658a4639d9533f67a525b74cfe0f06c93e9b85fdcd02a15f
2025-06-02 18:34:17 +00:00
dan
cfee69fbe4
Updates to new test cases to run with SQLITE_ENABLE_SETLK_TIMEOUT=2 builds.
...
FossilOrigin-Name: c6d3e3542fdf6a3428d3a2ec20c699c169ed53341dc782d81f7fe5944f769748
2025-06-02 18:09:46 +00:00
dan
eb9a145711
Merge trunk changes into this branch.
...
FossilOrigin-Name: 7d27451804e525190f8e67da75aaeb3bf2de677021f7566c6681398e60a88c72
2025-06-02 17:44:10 +00:00
stephan
d84bbac8be
Slight modernization of the TEA README.txt.
...
FossilOrigin-Name: bf7be67e3fb7b75fc281997f7bf9aa69eaf4da6bdf2fefe359b12d25ec95f512
2025-06-02 15:17:59 +00:00
stephan
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.
...
FossilOrigin-Name: c9888a409565e6c8891a3dafa56962df364fb729a61df2701dc0bb282e36fb75
2025-06-02 15:10:41 +00:00
drh
8658a8df59
Remove an unnecessary parameter from sqlite3VdbeRecordUnpack(). Improved
...
comments and assert()s on KeyInfo.
FossilOrigin-Name: 387f4c4d98b8fb83f6ae406e4143dabda7766e8752b7f6ca104655e51330c978
2025-06-02 13:54:33 +00:00
drh
7590bfd7fc
Fix stale comments related to KeyInfo. Add new assert()s associated with
...
memory management of KeyInfo.
FossilOrigin-Name: abd805bc76f14ede7359b029908179b7ca57e929c5918acae1403ef73ae0bd47
2025-06-02 09:49:07 +00:00
drh
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].
FossilOrigin-Name: 8b7a7fcf62e5c2742c243808fa482472954f2b4aae0bc7ae513bc07065c93737
2025-06-01 21:38:35 +00:00
drh
f18bf8997b
Fix VACUUM so that it works even when ATTACH_WRITE is disabled.
...
FossilOrigin-Name: 42494f85acb303919d3f1f2202f8b95fbd657652da4b8dc00451c10ea6c496e0
2025-06-01 16:10:25 +00:00
drh
c0190101d1
Enhance "box" and "column" mode formatting in the CLI to better deal with
...
double-wide characters.
FossilOrigin-Name: b0de22ed0abf2ea5d269f191c884d7b2be167a2ed27018c25aaa0ea238cd621a
2025-05-31 20:51:42 +00:00
dan
977b0f8813
Update a few test scripts so that they run on windows.
...
FossilOrigin-Name: 14a18f4e3a3f35e636262a253364ab1e8054ed38c0c7fd482633522cbcf5ffc4
2025-05-31 19:55:07 +00:00
drh
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.
FossilOrigin-Name: 1afb1ac3e9f0a122f1374799c09b60a0dd5443434d4567d94385096ada91bf12
2025-05-31 18:26:37 +00:00
dan
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].
...
FossilOrigin-Name: 8d393ca07fe09f48d77adb517e2e4baaa58a9251422de62a0504999205d3ea1d
2025-05-31 18:16:21 +00:00
drh
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.
FossilOrigin-Name: 1ddaa92057e550ea281d45d9860eafe69399224725548a93dd91c47a34e52152
2025-05-31 16:17:14 +00:00
dan
420233e375
Fix assert() statements in os_unix.c and os_win.c. Allow walsetlk_recover.test to run in non-SQLITE_ENABLE_SNAPSHOT builds.
...
FossilOrigin-Name: 9f521ecda2b8d2f383cc84e308b3a4adfcf1bd6339eb834c8fa76c8704c861b7
2025-05-31 15:10:41 +00:00
stephan
1ff4233f90
Move a mis-located makefile comment block.
...
FossilOrigin-Name: 7d884386bec11f47c2c18002dd8c573c9b5cb6f7cdf2307a96cccead05b6abf2
2025-05-31 11:08:06 +00:00
stephan
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.
...
FossilOrigin-Name: 413a626b5c7902c1810142536c36e4ea8ee7c616ea82dfe1114199f9319091f7
2025-05-31 11:02:06 +00:00
stephan
b504aab848
Add some missing UNUSED_PARAMETER() annotations to squelch downstream build warnings when using -Wextra -pedantic.
...
FossilOrigin-Name: a98a2f49355ec39c56e571c70d377675b1bd99a6d43cf9217b0eb1e081895d8e
2025-05-31 09:44:00 +00:00
drh
d930d7ef14
Follow-up to the previous: The same optimization suppression needs to
...
happen if the left-hand side is coming from a LEFT JOIN.
FossilOrigin-Name: cf5b37b3a39013d8ca9de92da2289346caf52b56daff59e19b140cc586a3421f
2025-05-30 22:58:09 +00:00
dan
ded1959120
If blocking locks are enabled, avoid using the busy handler when blocked by another process running recovery.
...
FossilOrigin-Name: a35236757ab57c4c9b34e47c5dbc10d8f1220f8152955f5303cf9c3902ee169b
2025-05-30 20:52:18 +00:00
drh
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]
FossilOrigin-Name: 60adc78a22956429d34ccc4e2c193c5994c11c3b3cff7901d47fad7d92dba935
2025-05-30 19:55:46 +00:00
dan
88ed38ca6d
Avoid invoking the busy-handler if a blocking lock times out while attempting to open a snapshot transaction.
...
FossilOrigin-Name: fe11f85fd3283bb7002f43bd8b796e9e7b67f6d1a92eb676be06b46d1458fc1d
2025-05-30 18:23:03 +00:00
stephan
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].
...
FossilOrigin-Name: 2e486f8fd011d28fdd7e59ff34f7f04374019932eb160a8c4de56a5ce01e5782
2025-05-30 16:08:31 +00:00
stephan
7ac10ec8b5
Random typo fixes in JNI docs.
...
FossilOrigin-Name: f63608a3847469b130e029cc569fe6f03a9053352ec43c10d69849cbab4f61c5
2025-05-30 15:46:52 +00:00
drh
8ae57fab64
Use a more robust backup definition for offsetof().
...
FossilOrigin-Name: 22441955e03df07903b98832a60c05c53721cd67c667f6c83d5e97fcc62735ee
2025-05-30 15:43:04 +00:00
dan
b65326f51a
Add "include <stddef.h>" to fts5 and rtree to ensure that they use the system version of the offsetof() macro when it is available, as the built-in version triggers ubsan errors with clang.
...
FossilOrigin-Name: 838deb7f3423df84061a043928ed34e1d74e2e7d57ef1a9519bb32fea82e4352
2025-05-30 11:14:11 +00:00
stephan
0148820fd7
Squelch an interesting but harmless struct initialization warning emitted after an emsdk update. Fix JS breakage introduced by changes in Emscripten 4.0.7: manually export the HEAPxyz symbols which used to be exposed by default.
...
FossilOrigin-Name: 10d0897cc9a5998fe1344cfbb242a78b59012e29aa3b1993895dfac26721b053
2025-05-30 10:18:09 +00:00
stephan
d2b230a488
Fix the missing -lm link flag for the sqlite3 shell when building the autoconf bundle with --disable-static-shell, as reported in [forum:5adf1c932a | forum post 5adf1c932a].
...
FossilOrigin-Name: f6318c4a6b5a133657741c066ef2c76a71880dbc98cfff1fdd632637daf002dc
2025-05-29 20:29:13 +00:00
drh
f429845a60
Extend the fix for ticket [623eff57e76d45f6] so that it covers RIGHT JOIN
...
in addition to LEFT JOIN. Problem reported by
[forum:/forumpost/7dee41d32506c4ae|forum post 2025-05-29T15:10:14Z].
FossilOrigin-Name: 29b1e1b97619d03a97ef562a5707929e241d019179b4ff1d0bc2a8c008441431
2025-05-29 18:44:41 +00:00
drh
b163f66de0
Fix a goofy hash function in Lemon. No changes to SQLite itself.
...
FossilOrigin-Name: d6cbabe23d3919d5bde6a83421cdae92125caec09d5c39a648d0305878c6a1dc
2025-05-29 17:46:34 +00:00
drh
3f52361352
Version 3.50.0
...
FossilOrigin-Name: dfc790f998f450d9c35e3ba1c8c89c17466cb559f87b0239e4aab9d34e28f742
2025-05-29 14:26:00 +00:00
drh
b3c1884b65
Do not use a partial index unless the WHERE clause uses one or more columns
...
from the table being indexed. This resolves the issue reported by
[forum:/forumpost/a8704b30f3|forum post 2025-05-28T13:03:40Z]. Test cases
are in TH3.
FossilOrigin-Name: f037ca064daeb81cb386da2a372d8e2d2dce55a3a13bc7bea4968ca51bf2843a
2025-05-28 16:56:23 +00:00
drh
b3bcf489a4
Do not use a partial index if the truth of the WHERE clause does not depend
...
on at least one column from the table being indexed.
FossilOrigin-Name: cbe2a392e45d40778570656d2ef2db43e58ad6453bd9d4b936fecfd963e22736
2025-05-28 14:59:42 +00:00
drh
f08f71a21d
Slight change to tool/split-sqlite3c.tcl to make it compatible with jimsh
...
FossilOrigin-Name: fe670ddda933007386eb10facf4048ee88671f74b1fd41dfc3120beb717b8c9e
2025-05-26 23:20:23 +00:00
drh
f96d44e5de
Fix a bug in the speedtest.tcl testing script that was introduced by
...
[7e9845433ff26bdc]
FossilOrigin-Name: e4ffa86aa6ca82a42933281f6cbfca7bad702797eb8d6e684a1992e68dc1cfb7
2025-05-26 17:29:13 +00:00
stephan
209894c2f5
In the TEA build, enable USE_TCL_STUBS on Mac platforms.
...
FossilOrigin-Name: 0b5415151c9bf558378f83b1a60df3d3760f1aa311895af04e1fb79a8fb29e79
2025-05-26 16:59:49 +00:00
dan
93394ebc27
On OpenBSD, do not test fuzzcheck with ubsan as part of "make devtest".
...
FossilOrigin-Name: a3dabd599c3d3143b67258b307d352968e5f5d4ea0456940d16ae678de8c95eb
2025-05-26 16:17:06 +00:00
drh
8f06aed1df
Avoid calls to sprintf() in Lemon, since OpenBSD hates sprintf().
...
FossilOrigin-Name: ed17858ddf833b6b9c2164f31ee9138a998d28ec1564d09e20deb102eefedbc8
2025-05-26 15:36:43 +00:00
stephan
3f01048954
When detecting TCLLIBDIR, skip over //zipfs paths, as the (file isdirectory) command will actually return true for those, but they're useless for installation purposes. This resolves the tea build's inability to install on stock openbsd.
...
FossilOrigin-Name: 5b29724a3287c9a910f303faf056d0706b66c3e6ba23f9746c11d775c631f374
2025-05-26 15:20:57 +00:00
stephan
45fa2347fe
tclsqlite.c doc typo fix.
...
FossilOrigin-Name: de0dfac1e5ca9d2661674c20664095386f60c77378311507fcba08111df52b38
2025-05-26 07:15:20 +00:00
drh
a01b7adb13
Change json_group_object() so that it ignores entries where the label
...
is NULL. [forum:/forumpost/e5bd251fb5|Forum post e5bd251fb5].
FossilOrigin-Name: 28215d131cd970a2756338579fb6b6091ab155be8f419505cae8ac918956165c
2025-05-24 20:20:20 +00:00
stephan
c5031b578b
vtablog.c doc fixes reported in [forum:416d1e37b2|forum post 416d1e37b2].
...
FossilOrigin-Name: 5d25f62bcd2d754134f608162778b49b0e71c29bd5a6f2461a07caca3d76c7de
2025-05-24 16:01:50 +00:00
drh
81a2f7ba8f
Amend the previous: Set SQLITE_JSON_MAX_DEPTH to 500 on *all* builds
...
of fuzzcheck.
FossilOrigin-Name: c266e38c5b61f47b920027aad418b641ab32cb8a3360dbcfd9f9f29b14fd5375
2025-05-24 01:34:41 +00:00
drh
85f37eba16
Limit JSON recursion depth to 500 when running ASAN in fuzzcheck, to prevent
...
stack overflow on ARM64.
FossilOrigin-Name: 5e96e177a040b46aa55492037ce5dc71ab49d66b45659d739f2ee6c3042f16ef
2025-05-23 20:50:49 +00:00
drh
c1ea1a6d4d
Add the --osmalloc option to the test/speedtest.tcl testing script.
...
Adjust ./configure so that it does not check for malloc_usable_size().
FossilOrigin-Name: 7e9845433ff26bdc5fe8654281d584394b77e3b206d09669b4468e0271c6eb37
2025-05-23 14:52:23 +00:00
dan
96e16194b8
Fix a problem with using streaming iterators with sqlite3changegroup_add_change().
...
FossilOrigin-Name: 3dbde727146d28c316df47c7b5116be7f2476a0a0c893207c2a4ca3ab285cb5e
2025-05-22 18:04:48 +00:00
drh
4a0b7a332f
Clarify some malloc size computations to simplify the proof that they
...
are safe. Remove some code associated with cygwin that is marked "#if 0".
FossilOrigin-Name: ba8184d132a935aa1980fbfb61ff308b93d433d559db4968f9014f7653ac9c6e
2025-05-19 14:50:36 +00:00
drh
79c792d5d9
Make the new sqlite3_setlk_timeout() interface accessible to loadable
...
extensions.
FossilOrigin-Name: 8819b7285b71932327f47d29fa575cfb338e2fccd3f7c2023faf0575bfdb0079
2025-05-19 14:04:48 +00:00
drh
890de76cf5
Remove stray tab characters from source files.
...
FossilOrigin-Name: 298ff5a1dc5dbccaf6acd91731044f478a5ce522745332801708ceee996b01e6
2025-05-19 12:46:08 +00:00
drh
a58208a214
Fix a harmless comment typo
...
FossilOrigin-Name: c4d25acec3c1e28e5a4664a74c263cc0d00e118a6db4b26b51cb0d42d0f2b26f
2025-05-19 12:34:11 +00:00
drh
acf95a3217
Adjust the tool/warnings.sh script so that it works on the latest versions
...
of clang on Mac.
FossilOrigin-Name: 05a3dd9a179193d00968329152c8ffe6532f0cbdad7d19b47af32aebc0cd0d9e
2025-05-19 11:08:30 +00:00
stephan
953e450e8e
Latest teaish pieces, most significantly for tcl portability fixes. Move autoconf/teaish/autosetup/... to autosetup/teaish/. to simplify maintenance and deployment via the autoconf bundle.
...
FossilOrigin-Name: 381d3e82e831bedee56108fb585880d802c4d7d50b0804d909a33ff15a3be185
2025-05-17 11:06:02 +00:00
stephan
c953cb6b3b
Minor tcl doc update.
...
FossilOrigin-Name: 43259e8c3fab13b4597cdd1c670df00ec756a6fefdeb7d4ba2e0644e4ad47113
2025-05-17 10:35:11 +00:00
stephan
9bb2548e3e
Rename feature-tests.tcl to feature.tcl. Haiku tcl portability fixes.
...
FossilOrigin-Name: 15bd9e581a6d6ebe281b091adc04dca4d1c7fa9bbb582bcbab8c401b4f976753
2025-05-17 10:32:48 +00:00
stephan
1e24694b59
Latest upstream teaish pieces for minor fixes. Restructure this copy of teaish to simplify maintenance and the autoconf bundle build.
...
FossilOrigin-Name: 2b8d9b75ec5fe96cb5d06a3464fd4eb9a53018b7b548fedcd6cdbc46cdb55bdc
2025-05-17 07:02:06 +00:00
drh
972a0f5e8d
Improved version of the previous check-in.
...
FossilOrigin-Name: 036c97e36cb36a2ac765a8e8539433dcb63f69155d4c24857f84faa44eed6eb5
2025-05-16 18:19:11 +00:00
drh
cd64392301
Fix the optimization of check-in [663f5dd32d9db832] that strives to avoid
...
duplicate compuations in the GROUP BY clause so that it works even if the
GROUP BY term is a subquery on the RHS of a LEFT JOIN. Problem found
by dbsqlfuzz. Test cases in TH3.
FossilOrigin-Name: 955a026996b93e530ca5b566689cc646b31d3b9b5a5837897a58452d70f6d942
2025-05-16 17:30:20 +00:00
drh
cecf833325
Add the --enablefk option to the "changeset apply" command of the
...
changeset program.
FossilOrigin-Name: e98d46d436f8d251ae0da5ee85fd856aca3b57cd48d1be31fa6ca88fe72cad00
2025-05-15 18:50:19 +00:00
drh
c638017280
Enhance the "changeset" utility program with new command-line options for
...
the "changeset apply" command.
FossilOrigin-Name: 428daca4f1b3e1a33b7e2f5acf114fa6136d46555e9947e2e88ea107bfec5e4f
2025-05-15 17:33:32 +00:00
drh
4165fd8a86
Rework the showHelp() function in the CLI implementation so that its
...
purpose and operation are well described by the header commit. Omit
the use of enums that cause issues for MSVC 2025.
FossilOrigin-Name: 336ceeccc6f85bd78f4a26648af7edf9056d569a767b4120f125a02b2090a349
2025-05-15 11:20:54 +00:00
drh
691b44a1b3
Back out the "low-quality index" query planner hack of check-in
...
[bcac937526d9a6ef]. Subsequent query planner enhancements for dealing
with star-queries make that change unnecessary and the change was recently
found to cause a performance regression in an unrelated query.
Also fix a typo in a debugging message.
FossilOrigin-Name: e7dcf25efae364b7cdf9eb8265803c816c8b8557e4a7684da428badc6ffb3875
2025-05-14 16:40:05 +00:00
drh
c02ac7b9d7
Fix trunk fork.
...
FossilOrigin-Name: 53644c42c5ee40e905a72bb014515e5e30265577d543eeca09139800822b5b42
2025-05-13 19:06:11 +00:00
stephan
186fd30436
Adjust the strftime() test in test/date4.test to remove flags not supported in musl libc if that environment is detected.
...
FossilOrigin-Name: fc254c1eb784c79a371bf961945a18a680982cdcd3fdcd7e6bb481712fe21cf8
2025-05-13 18:58:56 +00:00
drh
494830ca8e
First cut at enhancing the fsdir virtual table so that it works with
...
unicode characters on Windows.
FossilOrigin-Name: c9e04dadfdf6c860631ce5603693add565ff2033aa25af5736302af7045fc91e
2025-05-13 16:58:36 +00:00
drh
0df6c5b9a7
Omit the unused readdir_r() routine from test_windirent.c
...
FossilOrigin-Name: f9a216e3ad1b3bc9be350aad5ef3dc8b3534d3ee67d160bfedda81a61295320c
2025-05-13 15:09:13 +00:00
stephan
0a0777d845
Session extension doc typo fix reported in [forum:75e9408acb|forum post 75e9408acb].
...
FossilOrigin-Name: b96cfff52b4f364388f168198e999ae2407c4afbc7b020f8bb350ab103ffb55c
2025-05-12 19:12:50 +00:00
drh
a0b34dcfc0
Fix a coding mistake in vfstrace.
...
FossilOrigin-Name: f0054cc0bce4ed735796da1ea68b7773a582042bdd60fdae4e1af4c592104d15
2025-05-12 11:48:39 +00:00
drh
eb55814c62
Remove a redundant typedef from the sqlite3_rsync.c source file.
...
FossilOrigin-Name: b4c37c6bcc644e21a29955e31151ea22a07627e524ce913afd3d2d6eeb7e0bb6
2025-05-11 10:48:10 +00:00
drh
94e22bc077
Provide the SQLITE_BUG_COMPATIBLE_20250510 compile-time option that restores
...
the JSON5 bug fixed in the previous check-in, in case some applications need
it for legacy compatibility.
FossilOrigin-Name: 491cf31904fdbc9567b838d1ba27901e75f8ea3a117043017d08354bb09f9711
2025-05-10 17:09:53 +00:00
drh
844b457950
Add enforcement of the obscure JSON5 syntax rule that the \0 escape
...
sequence must not be followed by a digit.
[forum:/forumpost/c061e87faf7d1c55|Forum post c061e87faf].
FossilOrigin-Name: 83c7477f2b9b0d6cb54cf6b14bf3c8ef4807e4bddc7986d275cf6717da8606b7
2025-05-10 15:53:17 +00:00
drh
733aff3be8
Fix PRAGMA trusted_schema=OFF and similar so that it restricts the kinds
...
of functions in CHECK constraints that the documentation says it does. It
was letting through some function that it ought not have. This is a
defect in [5720924cb07766cd]. See
[forum:/forumpost/3fa9d44c0b381342|forum thread 2025-05-08T08:50Z].
Additional test cases will be added separately.
FossilOrigin-Name: 25920beebf71ebc9a1bb9f56932280c9e03390f26fe9da2258f950979b238ce6
2025-05-08 16:18:18 +00:00
stephan
cc28137e08
Internal doc typo fix. No code changes.
...
FossilOrigin-Name: ac2aa39f7e3ae7ac921fac6566186939a1282f80ced5b3e3d5006a77ecf583ff
2025-05-08 13:51:55 +00:00
drh
f087b6ace3
Fix a harmless warning about and oversize shift operation on malformed JSONB
...
inputs. [https://issues.oss-fuzz.com/issues/415850463 |OSSFuzz 415850463].
FossilOrigin-Name: cf8b55b3b6f0b73158e21731a206d5a8d8d9892989d91171a11c6dbbee34b338
2025-05-07 17:13:30 +00:00
dan
f67058367b
Add test cases for the NOT NULL/IS NULL optimization in CHECK constraints fix.
...
FossilOrigin-Name: 6eb2939a6093c0796910645172d80c53055559dd57c012f1dc815d89fbf84447
2025-05-06 17:56:32 +00:00
drh
288f356854
Fix a bug in the NOT NULL/IS NULL optimization of check-in [cb94350185f555c3]
...
that can cause invalid data to be used for a column if that column has a
CHECK constraint that includes the NOT NULL or IS NULL operator.
Problem discovered by the
[https://issues.chromium.org/issues/415397143 |Chromium fuzzer]. Never
seen in the wild, as far as anybody knows.
FossilOrigin-Name: 2adaee9aa90f280a406007695fbc4a314806584c93d6b62b46c031492b31ec27
2025-05-06 17:53:27 +00:00
drh
ad39fa81af
Fix the sqlite3VdbeTypeofColumn() function so that it works correctly
...
even when SQLITE_DEBUG is defined.
FossilOrigin-Name: 1d5021533ed688d7a815ce75b338c72f577c14554027f88a21419935a9e68239
2025-05-06 16:28:44 +00:00
drh
3b51a1ac01
Fix console-I/O on Windows for DEBUG=3 builds. Broken by
...
[925e97e6f4238f02].
FossilOrigin-Name: ccef4f7058928943be9204b2e53baaf791021e78e538396ba9f2a1d76323e8cf
2025-05-06 15:39:39 +00:00
drh
d7324103b1
Enhance sqlite3_rsync so that if the first attempt to invoke a copy
...
of itself on the remote system using ssh fails, try again after
augmenting the PATH. This enables sqlite3_rsync to work without the
--exe option when the remote system is a Mac.
FossilOrigin-Name: 38d4c94d8c7802101ef3bfb411002f9497fdbbbd2b4d3514cef5b76ffd66f75b
2025-05-03 15:17:21 +00:00
drh
37b76bac18
Fix a harmless redundant variable declaration in sqlite3_rsync.
...
FossilOrigin-Name: f8f15eff6ae50d569ed13a3b18f33eaa43453c0cb80b6007df38e880b62f45d0
2025-05-03 10:55:47 +00:00
drh
e618674714
Addition summary results output when using -vvv on sqlite3_rsync.
...
FossilOrigin-Name: c702999cfac37fdcae64d261408e58d1f49fee65434fe346db6a2a6c7f8ac54e
2025-05-03 10:49:39 +00:00
drh
d7b83224bb
Promote the --protocol option to sqlite3_rsync from being an undocumented
...
debug option to being a supported and user-visible option. This is
sometimes needed to work around bugs in prior versions running on the
remote.
FossilOrigin-Name: 4855e04e44e8fce2d6e37dd468eb6e9f4565c36cbc964156e65ac0449d7c212f
2025-05-03 10:35:32 +00:00
drh
f4d435dc0d
Enhance sqlite3_rsync (in a backwards-compatible way) so that it has the
...
ability to send hashes for blocks of pages in addition to individual pages.
By judicious use of this capability, network bandwidth requirement to sync two
similar databases is reduced.
FossilOrigin-Name: e5d87aaa8fe1e8c8cb63813d26851183e77809a3d36e4c16c37f88b4b4724d6d
2025-05-03 08:17:46 +00:00
drh
e2826db73a
Improvements to protocol negotiation.
...
FossilOrigin-Name: 4f5a06e42010c3e047429f736ffb8e2e89a1eb599277c176945b57710f6713ca
2025-05-03 07:00:51 +00:00
drh
5f4d013732
Clean up command-line parsing. Add the undocumented
...
-protocol option for debugging.
FossilOrigin-Name: 2a52b174e6e91cd7cfca0b20b39cdd231f377c7bc073f4223574556b94b16aa5
2025-05-02 23:50:30 +00:00
drh
bef9565485
Now appears to be working. More testing needed. Refinement of the
...
version-2 algorithm needed.
FossilOrigin-Name: cb035181d9fb5909696b8ec8f9c3eeb7a7dfb4b50e82e1d3f2d5ad150afcc0ff
2025-05-02 22:25:40 +00:00
drh
f124ddf36a
Bug fixes. Added new debugging features to better visualize the
...
protocol.
FossilOrigin-Name: c70330668690e7c3c55ae34137d5b2c91871432004b82b2b23a89fc3f1322a62
2025-05-02 18:32:46 +00:00
drh
fbafaa5619
This is the start of an experiment in getting sqlite3_rsync to use less
...
bandwidth when the two databases are very similar, by sending hashes
over blocks of pages initially, rather than over individual pages, then
requesting more detail when hashes do not match.
FossilOrigin-Name: 266b4b8f0104bd4b1cff87ed78b0223006bf661a9650294a2b330d50c7ee8a0c
2025-05-02 17:39:21 +00:00
drh
5db695197b
Do not allow sqlite3_rsync to convert the replica from WAL-mode into
...
DELETE-mode, as that can disrupt existing clients on the replica side.
DELETE-mode to WAL-mode conversions are allowed, however. See
[forum:/forumpost/6b575b66156673ee|forum thread 6b575b66156].
FossilOrigin-Name: 660a035b6ce6684d429b882133e032181cc1664f4efadf1bc0e4ae27d45071c4
2025-05-02 11:18:09 +00:00
drh
2bd983a974
Enhance sqlite3_rsync so that, by default, it will sync non-WAL-mode
...
database files. Add a new command-line option --wal-only that restricts
the sync to WAL-mode databases only (the former default). Improve
command-line option parsing so that only a single "-" is required before
each option.
FossilOrigin-Name: 4b53603fe468c0c28b818762917e41bdd870de6d4cc143688f1cdea3136c81a4
2025-05-01 18:07:27 +00:00
drh
391f70c527
Allow sqlite3_rsync to work on non-WAL-mode databases, as long as the
...
--wal-only flag is not used.
FossilOrigin-Name: e4126dcd1eba4f040a7c07102d34692287b74b41a3437a3b9d15c4f8c9d4e6fd
2025-05-01 16:07:52 +00:00
drh
f23a61258b
Fix a harmless problem in the CLI in which SQL errors that occur during
...
the ".schema" command are properly ignored, yes still appear in the ".log"
output. [forum:/forumpost/42fe6520b803be51|Forum post 42fe6520b8]
FossilOrigin-Name: 20abf1ec107f942e4527901685d61283c9c2fe7bcefad63dbf5c6cbf050da849
2025-04-30 14:37:00 +00:00
drh
88ed1806a4
Fix an issue in Bloom filters on RHS subsqueries to IN operators.
...
See [forum:/forumpost/792a09cb3df9e69f|forum post 792a09cb3d] for
a description of the problem. Also improve comments related
to [baa83b460c677c21] which was origin of the problem.
FossilOrigin-Name: cdef486e212fe4b26605065d9cff08f608cb80df48ee64e4be63637769bdfacc
2025-04-30 12:48:20 +00:00
stephan
a20c09c477
Upstream teaish for a tcl portability fix on Haiku and a much nicer impl of proj-tclConfig-sh-to-autosetup.
...
FossilOrigin-Name: ca0d30a43b3dfb95dd6b491f592031a053b0b5e95361ffe01ec8bd56d5e2d110
2025-04-29 17:30:51 +00:00
drh
5a9a2d8526
Remove the run-fuzzcheck makefile targets, since testrunner now
...
accomplishes that for us, and does a better job of it.
FossilOrigin-Name: 3ffd867ed31cd0779aa92b5e8b71592a8e7224977f9da8e5d6793a78bbb80070
2025-04-29 16:30:58 +00:00
drh
2ba946b341
Add the "--fuzzdb FILENAME" to testrunner.tcl as an alternative to setting
...
the FUZZDB environment variable (as that can be awkward to do on Windows).
Further improvements to the testrunner.tcl documentation.
FossilOrigin-Name: 6fb84156a262ff89d1a2d1df6fbfac4c1a43fb55b9d15205508662e2c9b0894f
2025-04-29 14:23:21 +00:00
drh
873fc5dff2
Update testrunner.tcl documentation. Fix typo in testrunner.tcl output.
...
FossilOrigin-Name: ba8800b4ba0a690c89d9fb96bb9a0d8789d04160ff9c47ea9afb2b403bec7f0b
2025-04-29 11:35:51 +00:00
drh
c171d7624e
Improved --explain display of FUZZDB test plans in testrunner.tcl.
...
FossilOrigin-Name: 42bdd7262ec4f8163263e0535c2cc35b526754d77e1f3ccf5b73b0f44d470d9c
2025-04-29 10:41:16 +00:00
drh
ece7709f18
Do not run FUZZDB on either Windows-Memdebug or Windows-Win32Heap.
...
FossilOrigin-Name: 10d8401d59136dda7051af0da398b06a18031560f2734f4fa347d339765d2089
2025-04-29 10:29:35 +00:00
drh
8a68ab963e
Make testrunner.tcl more restrictive about which configurations run
...
fuzzcheck-asan and fuzzcheck-ubsan.
FossilOrigin-Name: 785599394dde0fb36ae2e07d611f9523a05a0817dbd8c416582b3b682dbfa4ff
2025-04-29 01:37:31 +00:00
drh
246dc92354
Testrunner.tcl now runs fuzzcheck-asan and fuzzcheck-ubsan tests.
...
FossilOrigin-Name: 3d8f3a255843c063157265702b76d40c38c774d29d658eea2d77efac92ac8789
2025-04-28 19:15:46 +00:00
drh
d4cc3a42e2
If the FUZZDB environment variable is set when running testrunner.tcl and
...
that env-var points to a fuzzcheck database, then suppliment the fuzzcheck
tests with that extra database.
FossilOrigin-Name: c08530dd6a71cb547d164e2313657c917f280e7988211bf199c8776e78a4e2a6
2025-04-28 17:56:23 +00:00
drh
1365bcffbf
Enhance testrunner.tcl so that it does not build testfixture unnecessarily -
...
if the pattern does not match any TCL test.
FossilOrigin-Name: 896d767f1cba64bda7b91b0daebd60ebe4457a58d762da443bf61cf5b39ad2d9
2025-04-28 16:28:00 +00:00
drh
7fec7c96c4
Fix testrunner.tcl so that it honors pattern matches in non-testfixture
...
tests, such as fuzzcheck and sessionfuzz.
FossilOrigin-Name: 81857474fe90f50b760c22d61a6ad477642dabe1052390cd1614dcec8adb1376
2025-04-28 16:17:17 +00:00
drh
738443c523
Remove a stray blank line from the test/testrunner.tcl script.
...
FossilOrigin-Name: 7d6005b0d17d86d72757f3578872e82fd12f61ac9160a0277e397df09f6338a9
2025-04-28 15:00:28 +00:00
drh
9112717180
Remove long-obsolete performance testing scripts from the tools/ folder.
...
The test/speedtest.tcl script is what should be used these days. This
is just cruft clean-up.
FossilOrigin-Name: 956af8c294ae5b826a5b645922df07dad360290d19bf2b6a7f74d0a783a3e692
2025-04-28 13:32:46 +00:00
stephan
886f674198
tea: pull in upstream teaish. Consolidate the build definition from the upstream build and this one to ease maintenace. Improve compatibility with historical TEA usage of --with-tcl=... (it insists on a /lib suffix for that path).
...
FossilOrigin-Name: 0ea5993dd8549056d73f3d5447e0a810495ece23a75be8add78fba6842125d85
2025-04-28 09:25:19 +00:00
stephan
c26cde3bfd
proj.tcl: correct the auto-reconfigure rules to include any X=Y passed to configure. Improve handling of quoted CFLAGS.
...
FossilOrigin-Name: 7a2f4f319c90b768c6acc96671a3173c0ef0493180f3c4d5443f1ca03d92f6b4
2025-04-27 06:01:26 +00:00
stephan
c49c7dad89
autoconf/tea: the default value of --threadsafe=X is now based on a pkgconfig query using the target tclsh, which is much more reliable than grepping Tcl's linker flags. Doc touchups.
...
FossilOrigin-Name: 4aeec30443b282f10353cdb9415fdce436287280f0f5d5d6b9917da831744898
2025-04-27 04:21:27 +00:00
drh
0f0450eda3
Fix an off-by-one error in an assert(), discovered by oss-fuzz. This is a
...
harmless error in as much as assert()s are disabled in production builds, and
because the off-by-one only occurs on nonsensical CREATE INDEX statements.
FossilOrigin-Name: 3e627d66ebdef8dfe41bd12a0474d1afca9f50051771774679d25bd1833e69ae
2025-04-25 12:39:32 +00:00
stephan
ef90c4209c
Teaish internal API tweaks and ensure that -encoding utf-8 is used when source'ing test scripts.
...
FossilOrigin-Name: f878f578f8fac95a939e3eabe8b64d5627d2ccd98de1e28081b9bca42ffee027
2025-04-25 11:27:13 +00:00
stephan
d3b39b18d0
Upstream teaish fixes and improvements.
...
FossilOrigin-Name: 235ea2c0e1823fe4324c3890069a9131ebb6de14e55eb56c0e9f42a7e491a699
2025-04-23 14:54:13 +00:00
drh
37f22ff75e
Fix a problem in the fts5matchinfo.test file that prevented it from
...
working on Mac.
FossilOrigin-Name: 5a411c609ba0ee17b1ce5bd0b40b9ded92d76f35933f92b2e02a58a3f169c715
2025-04-22 18:45:40 +00:00
stephan
024818be2b
Latest upstream jimtcl to fix rare segfault cases.
...
FossilOrigin-Name: b6c5516940851bd17706435148253325d1b912a44ae138d2b8ca33e5167418c7
2025-04-22 09:29:53 +00:00
stephan
204d787644
Generic cleanups and fixes in the teaish build.
...
FossilOrigin-Name: 734823a5a8e073b511ebc3f37df3542c1bb734b9b1e1bd50ca3e9df12c4bb89e
2025-04-22 01:01:19 +00:00
drh
d2fd099570
Remove an extra conditional that was inserted earlier today and which
...
is unreachable.
FossilOrigin-Name: 5ea56af2d27611c5a8ea275316d21a02e70032f93243549ae776e9a89edc6229
2025-04-21 23:44:55 +00:00
drh
81cde80f7b
Further improvements to the decision of whether or not a BLOB input
...
is JSONB.
FossilOrigin-Name: 6538813cb89f6109727481e29633e2e98f98e0257c58695e3b53e8ce237d9195
2025-04-21 20:58:49 +00:00
drh
cbe4a26e02
Do a better job of providing bug compatibility with SQLite 3.44.0. See
...
[forum:/forumpost/07e206fcd6|forum thread 07e206fcd6] for background.
FossilOrigin-Name: 614d061b32c3bdf4825323d6f8e8a98624e4eeeb96dd442d8e365527122ed3bc
2025-04-21 19:53:12 +00:00
dan
c4e7cf68ce
Update to comments in sqlite3session.h.
...
FossilOrigin-Name: ea9acb5573f4d71a314e4467d30477a1d01c8db648985750a42b3c047f404c9c
2025-04-19 20:08:04 +00:00
drh
f857482ed1
Add an appropriate _declspec to the declaration of the sqlite3_dbdata_init()
...
function in the recovery extension.
FossilOrigin-Name: 00313d15270b36fce44f7784c97ddc42517e23c209c1ccc4d814ef06b11528c0
2025-04-18 14:47:56 +00:00
stephan
31e08190ab
Upstream teaish, which simplifies how extension metadata are initialized and shrinks proj.tcl by 4k.
...
FossilOrigin-Name: c72c00d34d70b36f847af19a2382299746448b5dd94a616f6b567389c5694c17
2025-04-17 19:41:37 +00:00
drh
10744c61ad
When logging errors using sqlite3_log() and the error text includes the
...
text of an SQL statement, but the SQL statement text at the end so that if
the error message buffer overflows it is the SQL statement text that gets
truncated, not the statement of the problem.
FossilOrigin-Name: de0968226effb79f9d25539da7882fa5475e4ff2410870b45a63a6545deb5979
2025-04-17 19:01:54 +00:00
drh
56747d1840
Increase the size of the output buffer for sqlite3_log().
...
FossilOrigin-Name: a64e8491c9863f890daa9f5d8f678728dc0d00bc1f3c238b50214ec545450fcf
2025-04-17 17:46:28 +00:00
stephan
680a9584c6
Add docs explaining how to test the teaish build.
...
FossilOrigin-Name: b53619ddb74fa250f03564d04e732248b4161d4d10d6f02268b7c95382d110ff
2025-04-16 22:25:02 +00:00
stephan
c264a0fd95
Latest upstream teaish. Most notably it adds the ability for the extension to specify a minimum Tcl version, and this build now enforces a minimum Tcl of 8.6.
...
FossilOrigin-Name: c86315e538f4d75161faa72673927cde8be080c983f04a98491d1add14615038
2025-04-16 21:53:01 +00:00
stephan
259532c0ad
Update doc/tcl-extension-testing.md for Unix systems, consolidating the Tcl 8.x and 9.x sections.
...
FossilOrigin-Name: c4c5dcb79c57f6e38cfe9b68b00e60e42d03ef30aeaefc5bf9dafed994849e1d
2025-04-16 17:47:16 +00:00
drh
6fe2a9a8f1
Attempt to provide EBCDIC translations to the tables in the JSON
...
implementation. The SQLite developers do not have access to any
computers using EBCDIC and so have no way to test this patch, and
cannot vouch for its accuracy.
FossilOrigin-Name: 84e698f38429c142caaa66ac086410f2035691b2ad39ad2fc4e0ebc31dd58a5b
2025-04-16 17:36:26 +00:00
stephan
cd83a85e05
Change the target libdir name in the teaish build to match historical tea builds.
...
FossilOrigin-Name: 8ae437301ed0cf71ef0e07be07917d9702221d27bdc98491209d8f28c7a500e2
2025-04-16 15:40:40 +00:00
stephan
b70d450426
A portability fix for proj.tcl: some Tcl builds do not like (array set x $someArray). Also better --mandir handling on Haiku (where the former problem was found).7
...
FossilOrigin-Name: 849534499d9b2056c0eabef7f3e65f79f58e8a6fefb3f7603de44774da7166b5
2025-04-16 14:21:48 +00:00
stephan
b1cc4aeb61
Latest upstream teaish for fixes and improvements.
...
FossilOrigin-Name: 8f9148b33e01aa7963140704ef16e4304799e5842fa60e55373ccdabe8e3616d
2025-04-16 12:48:27 +00:00
drh
0243ca8245
Correctly handle the case of a multi-column UNIQUE constraint that contains
...
the ROWID as one of it columns, and then the columns of that UNIQUE are
used in a row-value IN operator as a WHERE clause constraint. Reported by
[forum:/forumpost/b9647a113b465950|forum post b9647a113b]. Problem
introduced by [723f1be3d4a905a6], part of ticket [da78413751863].
FossilOrigin-Name: d22475b81c4e26ccc50f3b5626d43b32f7a2de34e5a764539554665bdda735d5
2025-04-15 21:59:38 +00:00
drh
8488789d74
Fix a minor typo in a code comment.
...
FossilOrigin-Name: 158e8c4fd7bdfc1cd4c0135abecd0d00994cd4027cf74ce6e5cf73d76475ae95
2025-04-15 19:53:36 +00:00
stephan
850289bf1e
Cleanups and refactoring in proj.tcl and teaish.
...
FossilOrigin-Name: 6b7ca8176e8c1b5e99e177c3daaba47b0674fa2f82d91754e7a8f66460ca8419
2025-04-15 15:20:30 +00:00
dan
136afcfcc1
Avoid a potential integer overflow in non-default builds of the fts3 matchinfo() function.
...
FossilOrigin-Name: aecc0100cef3ea83feed558dbe34dd6313721fa54052ee1ed529741cec8cacda
2025-04-15 11:06:37 +00:00
stephan
56da8772bd
Further cleanups and code consolidation between teaish.tcl and sqlite-config.tcl parts.
...
FossilOrigin-Name: 07e9ceee51380ee25e580178fa82030be5d2b65d4f4b4dc86c94b21f7f04f291
2025-04-15 02:02:36 +00:00
stephan
dc2d79f80f
Slight simplifications in the teaish build.
...
FossilOrigin-Name: 6b2d0e09e4806b5731764192782ec7e1ad595c529202a684d23bcfe2fae559d7
2025-04-15 00:47:31 +00:00
stephan
5950eb8aa7
Update teaish to the latest upstream copy. Move some of its utility code into proj.tcl for reuse in the top-level configure bits.
...
FossilOrigin-Name: 921c5ea76925be911222ac5f2887b8a967ff47b1aa43e196231e6168a3f9cb88
2025-04-14 23:52:11 +00:00
drh
483e1181c5
Improved estimate on the number of output rows in a recursive common table expression
...
that uses the UNION operator. Follow-up to [f911f1c4977fbcae] and it's output row
estimate changes associated with DISTINCT queries.
FossilOrigin-Name: 92513f6bce7ecc778e78af3a77bc66ff65585fffa2e3138f8acb9e617121eeb0
2025-04-14 19:43:30 +00:00
stephan
c801f8954e
JNI: part 3 (of 3) of typos and Java style tweaks suggested in [forum:99ac7961d82f57f3|forum post 99ac7961d82f57f3]. Tested with jdk v8 and v21.
...
FossilOrigin-Name: 914d4c9d6c26536ca14be80eee6c54af4311eac6bf88b327738075275f4b77da
2025-04-14 13:31:18 +00:00
stephan
d01239f379
JNI: part 2 of typos and Java style tweaks suggested in [forum:99ac7961d82f57f3|forum post 99ac7961d82f57f3].
...
FossilOrigin-Name: 5e6e9aee5b43e6ae98e78293a0da30e82ad18c3c9c03fc6298240233ddadb2a2
2025-04-14 12:09:24 +00:00
stephan
6cabff0c22
JNI: part 1 of typos and Java style tweaks suggested in [forum:99ac7961d82f57f3|forum post 99ac7961d82f57f3].
...
FossilOrigin-Name: ab00af4e48501b0413650df31147866a805c34b7ecf506d1e208bc3ae6c2ef28
2025-04-14 11:31:10 +00:00
stephan
6964b2f737
Doc/help text tweaks in autoconf/tea.
...
FossilOrigin-Name: d6889f6b9aa70bc90f71883b3e7ba359162477afe5048dacb7dfa11733ad1e5a
2025-04-14 10:20:41 +00:00
stephan
a572bbfc7c
Minor cleanups and fixes in the autoconf/tea pieces.
...
FossilOrigin-Name: 4d6536bd0ad333854309e825feaca26fdd13ac4458c7ccfbe77fc76cc5a968bc
2025-04-14 10:18:40 +00:00
stephan
a5198b2e13
Latest upstream teaish, which restructures the teaish files a bit.
...
FossilOrigin-Name: 4f54f7d07d31938f271bc5d04a40cb1f7b5e6ea48e78ad06b7cc65483533f54e
2025-04-13 16:22:58 +00:00
stephan
6b4dcad514
tea build: use autosetup's file-normalize instead of Tcl's (file normalize) because the latter throws on cygwin for names like '.' and './'. Update a doc URL.
...
FossilOrigin-Name: 0fe77341a0f1e869a909623cdd07b03355b90d302b4f8a875e520befab88ce35
2025-04-12 21:47:18 +00:00
stephan
337f703c54
Port autoconf/tea from the autotools to autosetup.
...
FossilOrigin-Name: 691708642bf1cac562274a6df427d7c631aa4401dfbe98711963cf89203fb104
2025-04-12 21:24:10 +00:00
stephan
837dc09bce
Move the post-configure dot-in-file validation from sqlite-config.tcl to proj.tcl for reuse in the tea port and other downstream trees.
...
FossilOrigin-Name: 0bac496d5c92c979295e702efc01803f6985b54d3d8ca30dce077c9776f7dcf2
2025-04-12 19:26:18 +00:00
stephan
6b0429676e
Doc typo fix.
...
FossilOrigin-Name: 10b917040b167de6aba6ee434b4e982580e690bbfe80521e34236b29d8e00b7d
2025-04-12 18:37:53 +00:00
stephan
807186f1d3
Eliminate a duplicate -lz flag in the teaish build.
...
FossilOrigin-Name: 5efb372c9b0d46625cb17aa3e48ead0da2483ca9d04d1507c9d728763f1ee959
2025-04-12 10:33:12 +00:00
stephan
a69b2b2973
Add missing teaish.test.tcl.
...
FossilOrigin-Name: 3946a3ad9cd2d03b6940621066a8e5be0bd6fade88cbf6cb2823425a90eba9c9
2025-04-12 03:20:42 +00:00
stephan
22a85a418e
Add missing exports of various LDFLAGS and CFLAGS for the teaish build.
...
FossilOrigin-Name: 7462b1c66e8b3799ba1d73a1b815993e1c511ac0b7263e747ca0186d263ad001
2025-04-12 03:08:13 +00:00
stephan
71b7e44869
Correct out-of-tree build for autoconf/tea.
...
FossilOrigin-Name: 955b516618a34eac69da25fc7405015701a72f3cb918fca0cda7d316f6c3db9a
2025-04-12 02:44:02 +00:00
stephan
19b0701087
Initial port of the TEA build (autoconf/tea) from autotools to autosetup.
...
FossilOrigin-Name: 95227341cf290ca6f20b5ff7e707a28b59f87784947425c3fd1d8e5e7eb878a4
2025-04-12 02:30:04 +00:00
dan
0aa95099f5
Fix a memory leak in sqlite3session_diff().
...
FossilOrigin-Name: a6cbc5db1c4973ea236874bd9c24cd86dc48fbc7a10e424896c0407c7c32ce6a
2025-04-10 20:52:47 +00:00
drh
a863bafba7
Improved detection of run-time errors (ex: OOM errors) in speedtest1.
...
FossilOrigin-Name: 0e5e0e2f558a417d57c01a2d62cb2117d2adf6ddbc62e6a0208ae23f19b05347
2025-04-10 19:54:56 +00:00
drh
f95e964b6b
Provide new command-line options --hard-heap-limit and --soft-heap-limit
...
for speedtest1.
FossilOrigin-Name: 578e9fedeaaacd152ae1988920e6c9a0c43f664e2f9461c0994ba427ae1688e7
2025-04-10 19:39:34 +00:00
drh
e4856e86cd
Be sure that speedtest1 reports any errors that it encounters while
...
running the speed tests.
FossilOrigin-Name: 8c8b1a99bc888a5db637900aa3c8ef1b8c748c527580c825a25df1008afcf9e0
2025-04-10 19:03:42 +00:00
dan
7b1afecf53
Fix a comment in sessionD.test.
...
FossilOrigin-Name: 3516354ee57b683c134de206f5321f064f9cb627aa12ba6fde98e59a9093c50c
2025-04-10 17:25:57 +00:00
dan
da00cc101c
Improve the error messages returned by sqlite3session_diff().
...
FossilOrigin-Name: a3217cdb75fd305705856f6504f8816c2b6b0a10907725cb74d025a5c4e369b8
2025-04-10 16:48:04 +00:00
dan
08122e96fe
Fix an obscure problem allowing the propagate-constants optimization to improperly substitute a column of a sub-query with NONE affinity. [forum:/forumpost/0109bca824|Forum post 2025-04-08T14:18:45Z].
...
FossilOrigin-Name: 979f384a93d25e24f760469681618101feaab873738e1b52a7d4b818f7c527d9
2025-04-10 15:01:58 +00:00
dan
2d1c71abeb
Fix an obscure problem allowing the propagate-constants optimization to improperly substitute a column of a sub-query with NONE affinity.
...
FossilOrigin-Name: d82725dcaec7437f37fc15dfb492b51a4f9dbbbcaea04e387d9471b7d291cde2
2025-04-10 14:53:32 +00:00
drh
8a6f89c845
Remove unnecessary "www." prefixes on domain names in URLs.
...
FossilOrigin-Name: 20acd630b91609725794ce84f9eda01d5f3c898407f0948264830851d25ccaa6
2025-04-10 10:18:07 +00:00
stephan
509d899a2d
Doc updates in proj.tcl. Improve configure check for whether fdatasync or nanosleep require -lrt. Remove references to 'tcl-config' build mode from sqlite-config.tcl, as that build is now implemented without a depency on sqlite-config.tcl because the TEA build's needs are considerably more modest.
...
FossilOrigin-Name: 394bef54411c81fd8ca3aafc13ec2a774e9ff56c7282d90b8425cc8f383aa74c
2025-04-09 13:32:15 +00:00
drh
fda6e50ac8
Remove an incorrect ALWAYS() macro. [forum:/forumpost/23875495059357a2|Forum post 2025-04-08T19:16:42Z].
...
FossilOrigin-Name: 062cca9c63ef6d7b9a525df69391e9b032284703aeb45a18c728305dd5957c43
2025-04-08 20:00:33 +00:00
dan
de93449908
Have sqlite3session_diff() automatically attach tables to session objects, as it has always been documented to do.
...
FossilOrigin-Name: 99827144f112303e27a829c990b1858d227bd7369095100a435c367637985fad
2025-04-08 17:18:01 +00:00
dan
6864f78fdf
Have sqlite3session_diff() automatically attach tables to session objects, as it has always been documented to do.
...
FossilOrigin-Name: ec1641858ec48d96f5a2ddce4575ebd40a18932d69831fdb4eafc9acf508f216
2025-04-08 15:58:19 +00:00
stephan
f72c2fd19e
During the post-configure validation of @VAR@ references, ignore commented-out references in files which seem (based on their name) to be makefiles, as it's sometimes handy to comment-out such vars during development of a configure script and its corresponding makefile(s).
...
FossilOrigin-Name: 25d936b7b27d33b18bdac245bb193f7fbeaa9a7e7c320e47bdd433e6b371aef9
2025-04-07 18:29:57 +00:00
stephan
d2b9cc099d
Rename proj-current-proc-name to proj-current-scope and have it distinguish between global scope and an invalid scope level.
...
FossilOrigin-Name: 1c7e5b6cab0f8c8d8ae4a1503ea04f2c65943b0788f3996c015fc163ae979a66
2025-04-07 02:16:26 +00:00
stephan
7d83ed04b1
Make it legal to call proj-fatal from the global scope.
...
FossilOrigin-Name: f1cf373b73f0e97767d6f3c9dd78ce04360eae1ed22f74bea4aeb922f3ca5b5b
2025-04-07 02:08:55 +00:00
drh
29c7c8b913
Fix a harmless code typo introduced by [b57e3c3db00a6bc6] and reported by
...
[forum:/forumpost/09957d8b2a|forum post 09957d8b2a].
FossilOrigin-Name: f3a6cdb89b13bc173cfce9526f836600469b0242fe62b8f92f8747896d7d47bb
2025-04-06 10:22:26 +00:00
stephan
8aaf23a15e
Extend proj-dot-ins-append to provide a way to use it for the special-case emcc.sh.in handling.
...
FossilOrigin-Name: 0e98bbddc7b5e39310a8bf345521d05fdbcc906e279c23aa24cf30489ceeeff8
2025-04-05 09:17:13 +00:00
stephan
bc969569a2
Add a note that SQLite's copy of proj.tcl can be considered the "canonical copy" for practical purposes. We now have at least 3 copies of it floating around in other trees.
...
FossilOrigin-Name: 77d2c8e9ef9627c87c05beaf5615958628bd47c393c030ff6fcca607ba43e71f
2025-04-05 08:48:19 +00:00
stephan
4d411659c4
Move the automatic reconfigure tcl code from sqlite-config.tcl to proj.tcl so that the TEA bits can reuse it.
...
FossilOrigin-Name: 52839db2fcdf37631d13c05165ecb551a89c05bd6836f62d62f8f0b7bbe6c6cd
2025-04-05 07:12:41 +00:00
stephan
7cf1b29065
Refactor proj-make-from-dot-in and friends to be more useful and remove some annoying limitations.
...
FossilOrigin-Name: 501ff84e1263e2b026b0ca5f043bcc912ea935229b625b113b7402955df20dd3
2025-04-05 02:59:37 +00:00
stephan
86527e84e6
Rename makefile var libtclsqlite3.SO to libtclsqlite3.DLL for consistency.
...
FossilOrigin-Name: 6fb364c853be84c8d1f20497a2cae6e8f06a1d10ae364e3b011cadeaa3e0244b
2025-04-04 23:12:32 +00:00
stephan
d09fc81939
Correct a makefile var name type in the configure script, introduced in [4947c1c782].
...
FossilOrigin-Name: 84d77c5fe84d99d4af695a4da424b7dfc65f2343624e201736b7d673b2a8f179
2025-04-04 22:59:32 +00:00
stephan
205d9960cb
Add more vars to the tclConfig.sh-to-tcl exporter, for use in the TEA build.
...
FossilOrigin-Name: b0e1e49c7a4af526143214ce7dee97ef0da5e7baa85728fc667b1f7607693ab7
2025-04-04 22:14:18 +00:00
stephan
31076c5f26
Account for the Mac-specific -instal_name linker flag, which is apparently needed for linking some third-party code. See [forum:5651662b8875ec0a|forum post 5651662b8875ec0a].
...
FossilOrigin-Name: 4947c1c78298253a51939adf6cf70ee233075db6d60cd7a183a4162c926e667c
2025-04-04 20:50:00 +00:00
stephan
24fe85b99a
Adapt the --all flag to apply to a different set of features, and default to enabled, for the tcl-extension build.
...
FossilOrigin-Name: b229c8f65acf41b57afacfde712c3a8040d3bd5139bd5e30d450669658185ddd
2025-04-04 16:17:02 +00:00
stephan
91db54f07a
Improve --all flag handling so that combinations of (--all --disable-FEATURE) and (--disable-all --FEATURE) work more intuitively. Add missing handling of the --fts3 flag (it was accepted but ignored before). Add TCL_LIBS to the set of vars exported via tclConfig.sh for use in the tea build.
...
FossilOrigin-Name: 26ef0ff4bfbb4425baa26fa5c8420f5da0603c38ef651104e566c7dc85bfaa3a
2025-04-04 15:41:19 +00:00
jan.nijtmans
82d05b7b54
The win32lock and win32longpath tests don't work on Cygwin
...
FossilOrigin-Name: 32ef3f26e7fb34dfdb23617a19bb9baa2e4c3dca564a88850b58a0fbe6446cf8
2025-04-04 13:23:03 +00:00
stephan
283d0ee4c6
Minor configure-internal cleanups to support the autosetup port of the TEA build.
...
FossilOrigin-Name: 244c2b75c10c68bc0499d60b707a925836a4b9d490813785587522109fc11fe2
2025-04-04 13:08:43 +00:00
stephan
29b496a2d5
Minor configure script internal doc edits. No functional changes.
...
FossilOrigin-Name: 357563bc7c01a744d4038ed3ccc475260b819e98cf90a4270764f79c73d2497e
2025-04-04 03:26:20 +00:00
stephan
16aa90bba4
Make the --static-cli-shell flag available in the autoconf build mode.
...
FossilOrigin-Name: b78a474ecba6cae4f0e867a515c214fbfe229808145df1870315328d4e13d462
2025-04-04 03:16:47 +00:00
stephan
99ef94e3ac
On HaikuOS, if --prefix is not explicitly provided then default it to /boot/home/config/non-packaged, based on an off-list discussion with HaikuOS user BrickViking.
...
FossilOrigin-Name: c4a558291175378f76d126b12417c6c1d8e6060c0ec1267a97d3cd11b4804439
2025-04-04 02:40:08 +00:00
stephan
2a5694910a
Add the --static-cli-shell configure flag to the canonical build, which works like --static-tclsqlite3 but applies to the CLI shell (statically linking it, which only works if all requisite libs are available in static form). It is not called --static-shell because that flag has a completely different legacy meaning in the autoconf build and this flight might eventually be added to that build, so would collide there.
...
FossilOrigin-Name: fd2c1638ecc38617f5de0380ad23f233d1159be0712ae2ca4cae5c99e841f1b1
2025-04-03 13:24:38 +00:00
stephan
2636632cae
Add the --static-tclsqlite3 configure flag (canonical build only) to build tclsqlite3 as a static binary. This will only work on systems which have static versions of all requisite libraries.
...
FossilOrigin-Name: 61836324369e3213841295911aed4f8439a4b2b0f24820c2cf45bb68a0e2cd04
2025-04-03 00:46:34 +00:00
stephan
20f534708a
Minor cleanups to the --static-tclsqlite3 support.
...
FossilOrigin-Name: 06f1143870280d335daf4e7027fe8771e34415aa1234fe72c0c450c347b8146c
2025-04-03 00:40:33 +00:00
stephan
0993fc62f2
Add experimental --static-tclsqlite3 configure flag to build tclsqlite3 statically, which only works if static libtcl/etc. are available. Currently intended for docker builds via Alpine Linux.
...
FossilOrigin-Name: bef3c8b1b9fd188ee9f941f93bac4567795fea51cee0830abf1ebc1999e1604f
2025-04-02 23:34:35 +00:00
drh
69da86bf93
Fix harmless compiler warnings in the memstat.c extension. No changes to
...
the core.
FossilOrigin-Name: 9e903953ba986df98435da40e94fdb645f6f72279552cba63ef50cec1fe3b486
2025-04-02 12:41:16 +00:00
stephan
34a55f872c
Remove some stray debug output from proj.tcl.
...
FossilOrigin-Name: 5fc7150a2045a19966570b86843f180c2f8ff1f4688616ac161f071de0e765ec
2025-04-02 11:21:09 +00:00
drh
2b918dbb01
Increase the size of a variable in FTS3 to help static analyzers
...
see that there are no integer overflow problems.
FossilOrigin-Name: a921a4682fba23e1e223c2e3ecebd22ec59321552bcc563c29ce501bfe70fa4e
2025-04-02 10:42:47 +00:00
drh
2cbc485ea3
The json-blob-overwrite optimization seeks to prevent unnecessary I/O and
...
data movement when making small changes to the middle of a large JSONB.
FossilOrigin-Name: 4a3d7b04216fff605629902b7de08fd45eb0a89e7e1b0bb7c5ba82cddbc030cc
2025-04-01 16:32:31 +00:00
drh
76076d442a
Fix a typo accidently added to the prior check-in.
...
FossilOrigin-Name: fb2f283038f9329b6f791d92d6f943269f24f1a0efd5859165b63f517ed52ddb
2025-04-01 16:26:51 +00:00
drh
3a7042e0e2
This is an experimental optimization that attempts to keep a JSONB value
...
the same size (same number of bytes) after doing a replace of an elements
with a slightly smaller element, by denormalizing the size field. This
can perhaps avoid unnecessary page updates and memmove() operations when
making small changes in the middle of a large JSONB value.
FossilOrigin-Name: b5de9584b7f49586c5387d8a74af5e41dba50f1817a54257bf9da00deb695f72
2025-04-01 15:17:01 +00:00
drh
4d9384cba3
Fix a harmless typo in a code comment.
...
FossilOrigin-Name: dd251377bd1a8e95a4a0179c50595f290b08ea93659f4906f88f5a9dff534aa1
2025-03-31 23:18:06 +00:00
stephan
0a0367f387
Ensure that the compilation of extensions get the same CFLAGS as the core lib. Move the feature flags enabled by --dev out of TARGET_DEBUG and into OPT_FEATURE_FLAGS (for consistency). Rename the make-internal gcov-related flags to be more descriptive. At the end of the configure script, if SQLITE_DEBUG is active then emit a note reminding the builder that performance will suffer.
...
FossilOrigin-Name: e64c6a3856b839e4e8c0a1cb1713b0d2f1d3cb9b915dd215b0d3cb229502d539
2025-03-31 13:08:29 +00:00
stephan
227df626e9
Ensure that extension sources also inherit the debugging-related flags from --debug or --dev.
...
FossilOrigin-Name: 3e96b772a46638bc25e036de053d620ded3350871ee10e06fd6fe51429934b0d
2025-03-31 10:54:09 +00:00
stephan
8620b42245
Correct the ordering of the configure script's handling of the --dev and --debug flags so that --dev's forcing of --debug get picked up early enough.
...
FossilOrigin-Name: e48189ed33fa9d02b23c18255c7b4c6cab2a6d4b62f7c1edbb0a58ab329735fc
2025-03-31 10:29:06 +00:00
drh
084e61f5cb
The --dev option on ./configure implies --debug and adds -DSQLITE_DEBUG.
...
FossilOrigin-Name: 67dbd9ff0f1e69e429cf3afaf19b84e8e95fc75035ac90cd0ae78d0d002980f8
2025-03-31 09:53:20 +00:00
stephan
39d14d4856
Minor shell-internal doc addition. No functional changes.
...
FossilOrigin-Name: 01b99c8a2819469568f369479c097cc8e3ed1f2478958460755b283dc7d11706
2025-03-29 11:50:25 +00:00
stephan
2d49219b1c
Correct two tests in shell1.test which were broken by the addition of new output in [0f11087b8475].
...
FossilOrigin-Name: 909dd0a02a967baef46c3efdca42a0ab4e15003e34ce7e9af82fce5f17213d7b
2025-03-28 16:31:54 +00:00
stephan
cd1cbd641c
CLI shell: make (.output off) an alias for (.output /dev/null) or (.output nul), depending on the platform. Discussed in [forum:633979ce307f1cc6|forum post 633979ce307f1cc6].
...
FossilOrigin-Name: 0f11087b84753576425823e10a7eeff45af02f3c0135dee72dec5019c8127500
2025-03-28 15:36:49 +00:00
stephan
13a9fb0d21
Configure/make doc tweaks. No functional changes.
...
FossilOrigin-Name: dbcc03bd7a727f4643f18a814bb9fd9071c0355f98dd064286240f2af361ee7f
2025-03-28 14:32:01 +00:00
drh
257e026de9
Merge cygwin and tclsqlite fixes into trunk.
...
FossilOrigin-Name: 121f4d97f9a855131859d342bc2ade5f8c34ba7732029ae156d02cec7cb6dd85
2025-03-27 23:29:25 +00:00
stephan
5ee946f907
Add an explicit db close to fix a file-is-opened failure in session1.test in cygwin.
...
FossilOrigin-Name: c6e4e1cf2b70d2e603ea3faabd9cb5fbd9f5497672574283ace8c62984dfbb97
2025-03-27 18:42:51 +00:00
drh
460e4cb686
Rearrange #includes in FTS3 to avoid a harmless compiler warning.
...
FossilOrigin-Name: c5206cee83a4f1e59bfceda35cdfa528f9b4611eaf306da863ae83e9f93cdeb7
2025-03-27 18:22:11 +00:00
jan.nijtmans
1f3207a52a
Fix for forum-post [/forum/forumpost/b5fde3596c|b5fde3596c]. Also fix encoding issue for non-ASCII characters.
...
Also includes a fix from Stephan Beal, about a missing <stdint.h> include.
FossilOrigin-Name: e60198001e12f85a5d6504ce72226dfceb8666fe5ec649237fa23ae20e8aa32d
2025-03-27 17:30:49 +00:00
jan.nijtmans
d07045119d
shell1.test: == => eq
...
FossilOrigin-Name: 99fdd19193056259d84768f46519328c300976b102f1b1e0b815720df01b28d0
2025-03-27 17:25:38 +00:00
jan.nijtmans
1588d3de37
More ==/!= => eq/ne fixes
...
FossilOrigin-Name: 2aa6c4fa6c9c47c7a8548ac3493bfb9ed4e4dec1b6dc4f3599a0373086b3e917
2025-03-27 14:37:07 +00:00
jan.nijtmans
87b90921b6
In Tcl, always use eq/ne for comparing strings, not ==/!=
...
FossilOrigin-Name: f96a5346e3e890adfdc94a682688c2c15893e50fbaf2a26e5ef39cda8b331ee4
2025-03-27 14:32:57 +00:00
jan.nijtmans
eb2644024a
Merge trunk. Some additional test-fixes for Cygwin
...
FossilOrigin-Name: b36adadfa202fb8951149561471c3e01085d31e1837c99806f308f234cd24a8e
2025-03-27 14:13:12 +00:00
drh
7b3477c776
Fix an off-by-one bug in the ".dbtotxt" command from the shell that results
...
in incorrect output.
FossilOrigin-Name: 2345094e879c5538bfea005785ce0848e6d565a49bcb48b323c258d00ccbe9b8
2025-03-27 10:59:18 +00:00
drh
87ceb6ba9e
Reduce the delay caused by anti-virus retries in Windows when attempting to
...
open a database file with insufficient permission.
FossilOrigin-Name: d25c8a6222d4e3f20c137b1490572ad491d9c404ff12947d5867c3e00fcb615c
2025-03-26 22:23:22 +00:00
drh
a6f6fa8675
On winOpen(), redo the read-only test on every retry attempt. Just
...
don't retry the winAccess() call.
FossilOrigin-Name: ccdd67ad9a508530ccfcec582410768c24bca4eb8b05939577fb99a50dd44b15
2025-03-26 17:05:29 +00:00
drh
4a6de7ff7c
Further attempted improvements at fast-fail for an inaccessible
...
database file.
FossilOrigin-Name: cdeb21a312d4f1a9e3009a0baf0af33857c172f7bc22bca047dcd46a03e9c964
2025-03-26 15:51:05 +00:00
drh
517a0e04d1
Attempt to reduce the amount of retry time when trying to open
...
an inaccessible database file on Windows. See
[forum:/forumpost/e7991420f54dca50|forum thread e7991420f5]
FossilOrigin-Name: 986e45912cde7cb8e6db8ba7a9364aef7187a23032be64ef6cd573163f56676d
2025-03-26 14:45:15 +00:00
stephan
22d502e33a
Merge trunk into cygwin-fixes branch. Add .fossil-settings/binary-glob to squelch warnings about *.db files on Cygwin.
...
FossilOrigin-Name: a8328b921c5504eceacade417e16e713999eff63978caf3418fd79501590b1cb
2025-03-26 00:02:15 +00:00
stephan
6de1c9d559
Configure script internal cleanups. Factor out the superfluous proj-lshift_ and use lassign instead. Add -ro flag to proj-file-write.
...
FossilOrigin-Name: 1f98fc07fdf06d699ffbf1521b0b5e937a582017e4325bd994b488e06becbecc
2025-03-25 01:32:16 +00:00
drh
b0c3118cad
Clarify and reduce redundancy in an assert() in walChecksumBytes().
...
FossilOrigin-Name: 3c53abf5e6df446d569040042363265737aa10fc8aaa20b31c587100c557c5e7
2025-03-24 23:08:40 +00:00
dan
e6e453def6
Test that the sqlite3changeset_apply() function is properly appling indirect changes.
...
FossilOrigin-Name: 1dadea3a79c3edd110b0b32b07287744300958fed31f2da11901a42b16f86669
2025-03-24 19:58:13 +00:00
dan
1b906dd920
Add test cases to session1.test.
...
FossilOrigin-Name: dda9d7cf319e74de7703bda1eb77e3e7aa7459d6fa1508cc1d62cdfc7985c368
2025-03-24 11:13:18 +00:00
stephan
49a015092e
Correct a --force flag which should be -force in a TCL file delete call. Some TCL versions (like the one on my system) accepts either but others don't. Problem reported in [forum:c02224d862|forum post c02224d862].
...
FossilOrigin-Name: 172f4e4772d90f4737eddb43d97a566a6e3b92702c61e23391e43134737cc838
2025-03-23 23:04:48 +00:00
stephan
f58b2c46d0
Remove tool/tclConfigShToAutoDef.sh, as that functionality was moved into autosetup/proj.tcl so that it can be reused in, e.g., autoconf/tea.
...
FossilOrigin-Name: c9c5a15d4d8141aae68d6643869f74879ae053cb86538b805058099af2cec16b
2025-03-23 22:49:00 +00:00
stephan
8d80ca2d1c
Internal configure refactoring to support an ongoing conversion of ./autoconf/tea to autosetup.
...
FossilOrigin-Name: e1d483e342670092c3579f2f0975e49a0c74516ae34103a63b4cde156bf5e92b
2025-03-23 21:38:28 +00:00
drh
75484481c7
Fix the generate_series() enhancement from check-in [d50b784807333c54]
...
so that it works even if the number that "value" is being compared against
is a non-integer floating point number. Bug reported by
[forum:/forumpost/0d5d63257e3ff4f6|forum post 0d5d63257].
FossilOrigin-Name: c113e31b818d16770bec1edc980f6833dfb27c4d74178e66a778fbb5671c3a13
2025-03-22 22:55:33 +00:00
stephan
3f911b12e6
Replace use of autosetup/lib/*.auto for sqlite-custom-... features to avoid the possibility of multiple files being loaded (in an unpredictable order) for that purpose. Instead look for autosetup/sqlite-custom.tcl and source it if it exists. The intent is that sqlite-custom.tcl only ever be added in vendor-specific branches and never in the trunk.
...
FossilOrigin-Name: f3c0071284fbe1c0a8c3fe73792a79f9df6be983e5c9bd1a7e2fe71ba7b2d400
2025-03-22 19:07:54 +00:00
stephan
bf698fd69d
In the post-configure validation, ensure than no more than one autosetup/lib/*.auto file is found, for reasons explained in the validation's error message.
...
FossilOrigin-Name: 50bbd69a684988a1df4c9c7616b76ae62bc4eb755cde18616de58aa0880fd4a7
2025-03-22 18:41:48 +00:00
stephan
0fce9c935f
Slight corrections to the new docs in autosetup/README.md.
...
FossilOrigin-Name: 55029e41e03d9b61b8a53f86d7f69afe71459846f3a1a1723f6934e0d37ca77f
2025-03-22 17:56:20 +00:00
stephan
77dc2d8fb1
Document the new configuration customization approach and extend it to enable sqlite-custom-flags to return an empty string to denote that it does not require any new flags (it may still customize flag default values in such cases).
...
FossilOrigin-Name: b0c7800b0106e90cb7bf7e5d9f48d21f9b058eff6e42339a1621d713ab2dd03c
2025-03-22 17:28:29 +00:00
stephan
d9535334c6
Teach mkautoconfamal.sh to avoid copying autosetup/local.tcl and autosetup/*.auto except for autosetup/lib/CURRENT-BRANCH-NAME.auto (if any), the intent being to use lib/CURRENT-BRANCH-NAME.auto for branch-specific configuration customizations.
...
FossilOrigin-Name: dfe24f13c446de5fdd736ed52fec0fca4637b4151ba008de7a598a2fc9398816
2025-03-22 17:00:32 +00:00
stephan
515b51f635
Add a mechanism to the configure script to allow certain client-specific builds to extend or override the configure options without having to edit sqlite-config.tcl, the goal being to reduce merge conflicts in those builds when updating sqlite-config.tcl from the canonical copy.
...
FossilOrigin-Name: bafab4ee5545c6cf6eafc5e352a7f25dfcbc7e58d4cc9064d05658c39de2af0d
2025-03-22 16:14:34 +00:00
stephan
d877b56688
Configure script internal cleanups and re-orgs. No functional changes.
...
FossilOrigin-Name: f619e40fb05d3e09dca2ad9d9bbf38c66b4b93dd3d4e7c2071db28e671ee6a9c
2025-03-22 12:43:22 +00:00
stephan
51aef0e4da
In the autoconf bundle, do not strip binaries during installation, for parity with the canonical build and the legacy build. Discussed in [forum:9a67df63eda9925c|forum post 9a67df63eda9925c]. A potential TODO here is to add a configure flag which either enables or disables stripping.
...
FossilOrigin-Name: 6d2e57bd34c562a9cd618c178c3f92b869bf5420907057b8d2438b16a7f91d46
2025-03-22 12:15:13 +00:00
stephan
28b7bfc30f
Slightly simplify proj-current-proc-name.
...
FossilOrigin-Name: 6a0ca9f2360d29272d7be97fe9f516c3ac88864f3e729ba65da1ef6211908775
2025-03-21 22:14:30 +00:00
stephan
e02fade10b
Fix a multi-arg expr call in proj-current-proc-name (must be single-arg for portability).
...
FossilOrigin-Name: 914768f3f5d63a891e1cd578afc676960376fc28ee0fa452fcd32cec0ea5cdaf
2025-03-21 21:13:44 +00:00
drh
7f4efdcb65
Teach the CLI that VT100-escape codes that do things like change font
...
colors have zero-width for the purpose of laying out the columns of a
table.
FossilOrigin-Name: 2d0a8a6c38981552748ff5fc2eeba86590e0f116abac260a7fc9318de0a0dbda
2025-03-21 18:15:13 +00:00
stephan
11d5bea210
Flesh out the new proc-debug and its infrastructure a bit.
...
FossilOrigin-Name: ba7f1ff0d7d1d3fb79fc298d99fd27b65f639fb1691a1a9cdc9c006b8ff41212
2025-03-21 16:49:32 +00:00
stephan
eb6997fbac
Proxy configure's msg-debug with proc-debug, which works the same except that it prepends the name of the calling proc to the debug message. No functional changes.
...
FossilOrigin-Name: f0298c773d3490ad3a5b53d2ceeff1bd90e1a7bb5deeba2d24f681ec1bc10510
2025-03-21 16:06:16 +00:00
stephan
315de605af
Teach the configure script to be able find a default installation of libreadline on Haiku OS.
...
FossilOrigin-Name: 260e9884118172ef76457a34042ace301f20abab4ced172f6b6135010c446a68
2025-03-20 13:41:08 +00:00
drh
4c13878ac2
Fix a problem in the sqlite_dbpage() table-valued function when it is
...
trying to truncate a file in locking-mode=EXCLUSIVE and the file was
obtained via sqlite3_deserialize(). Problem found by dbsqlfuzz.
FossilOrigin-Name: 346cf9794c6ce82ac32f7ccabc67240309306626709951593720abd198b103e3
2025-03-20 11:47:39 +00:00
stephan
339f9a33b4
Correct part of [505d9e49f7] and [7126a51ed8] to get sessioninvert tests working on cygwin.
...
FossilOrigin-Name: 83c34decbe336c76062e6b1bfe4c2e8f786841a4b6efa001747e786e872c8c71
2025-03-19 15:21:21 +00:00
stephan
18b250e9c9
Correct part of [04075517] which changed the implicit return value of a test function.
...
FossilOrigin-Name: 505d9e49f7af619eda9e46e7ed19c4446c64628233528e1ab3f70264e1640ace
2025-03-19 14:57:32 +00:00
stephan
f715576a6c
Add some explicit db close calls to work around a process-reaping timing problem on cygwin builds.
...
FossilOrigin-Name: 7126a51ed8a1b90b7f4cf3f1c13f7a1d560ff7a3ae73897ce8d9194df40356ed
2025-03-19 14:52:39 +00:00
stephan
52e2a79304
Test script patches from Jan Nijtmans: always use -DUSE_TCL_STUBS in buildtclext.tcl and improvements in how TRG is populated in testrunner.tcl.
...
FossilOrigin-Name: aa192203aa1aa188866fe00a5d40dc7b7c72b4f38b06da8708ed0a6c8b8638a6
2025-03-19 13:49:34 +00:00
stephan
21aeeb06fe
Merge trunk into the cygwin-fixes branch for the shell test improvements on Windows. An MSC build's make test now has zero failures.
...
FossilOrigin-Name: 2de4efe10c2591192edca3833fc9e2fae10ebc925fb556f5b53ad483b491b5b3
2025-03-19 13:13:12 +00:00
stephan
178edbaa2f
Avoid running test cases involving ANSI control characters or Unicode on Windows in a slave interpreter, as that combination does not work.
...
FossilOrigin-Name: c7fd71c77f1716c9c85d0f41a07ebd7c96f2e9d5e4c1392fefa1fb53f3cbb746
2025-03-19 11:53:46 +00:00
stephan
6e059d9dac
Merge trunk into the cygwin-fixes branch.
...
FossilOrigin-Name: 34eadd374b3c0a8c9e1f5f4a1c60fda8f16b1c56213b8c4047f96390c676b695
2025-03-19 10:14:46 +00:00
drh
8db881d055
Change the generate_series() table-valued function so that its rowid is just an
...
alias for its value. This allows it to be used as the RHS operand of a
RIGHT JOIN. This fixes the issue raised by
[forum:/forumpost/1e17219c88|forum post 1e17219c88].
FossilOrigin-Name: 77db4d85e70fbf358ae2321c2601966666bdb4d971d7c113ce30a3e541458ee8
2025-03-18 20:15:16 +00:00
dan
31fd886576
Fix a problem that could occur when the RHS of an IN operator was a compound SELECT featuring an ORDER BY on a subquery that was flattened into one of the component SELECTs introduced by [baa83b460c677c21]. Forum post [/forumpost/1e17219c88].
...
FossilOrigin-Name: 7101ccd5331e36fd1a539f540e79ce0ce159be76ec422e1d9436eec6f3908c6e
2025-03-18 19:21:04 +00:00
stephan
e435547beb
Internal doc touchups in ext/wasm/mkwasmbuilds.c. No functional changes.
...
FossilOrigin-Name: 47d34260e74912eeae704bff7c4314b893af86ee66dd96a1bc6f450d3e290702
2025-03-18 13:52:53 +00:00
stephan
ccda0f008a
Very slight simplification of the run-fuzzcheck rules.
...
FossilOrigin-Name: c858a39fad30c46aec6a1f81b2d4e56c18ecf7f5cb6d2fe4a32c4b3bb1a6ed64
2025-03-18 12:31:09 +00:00
stephan
a49265b717
General updates to autosetup/README.md.
...
FossilOrigin-Name: be8ad5cf579662c54b7e7bc492d8ca03b1f9032c5dad9a6b20590ca1ac00840b
2025-03-18 11:36:15 +00:00
stephan
17df9cd909
Update the docs in tool/mkccode.tcl to reflect that it's more generic than it was when the docs were written. Change the shebang line to use /bin/env tclsh instead of a hard-coded tclsh path.
...
FossilOrigin-Name: 9300f7f42dfd143f77fd51aa9e080099540854d36b6997ab1a16be7d77f78d8e
2025-03-18 10:28:56 +00:00
drh
7b99cd6063
Prevent integer overflow when parsing NEAR queries in FTS5.
...
FossilOrigin-Name: 1a5283d7dab210badb8a33eac29f44dc8c1c210ffb5ef84f43e348170aa406a6
2025-03-17 15:13:47 +00:00
stephan
1774ec3ad0
Add support for the --with-wasi-sdk configure flag to the autoconf build.
...
FossilOrigin-Name: 44880fa3f0748604ef50b942c28390e041138759efea1d076dfcaa1da48970cb
2025-03-17 14:59:55 +00:00
stephan
d176ef5881
Fix a long-standing filename digest computation bug in the OPFS SAHPool VFS which caused all VFS-stored filenames to have a digest value of 0. See [/forumpost/042d53c928382021] and for full details.
...
FossilOrigin-Name: 493cbe74504e8eb1ca8f2edf49fdab6bebc7fe36ffab06932a4b8c5a4eea86cd
2025-03-16 14:05:42 +00:00
stephan
ab68965794
Add --asan-fsanitize=... configure flag to the canonical build to optionally set -fsantize flags for the fuzzcheck-asan tool. Teach proj-check-fsanitiz to fail for flags which the compiler emits any warning for, for reasons described in its comments.
...
FossilOrigin-Name: 013730e9b92af39cb7fd2871df9b4bc81b8990f918892bd79370704421672da0
2025-03-16 13:09:21 +00:00
stephan
539442300c
Configure-internal doc cleanups. No functional changes.
...
FossilOrigin-Name: be3a2e631100b711996b9524a54fc604966513a62d83fc916270a6226da7adab
2025-03-16 12:27:21 +00:00
stephan
bafddb17d7
Consolidate some much-duplicated run-fuzzcheck recipe code in main.mk.
...
FossilOrigin-Name: c0d9b9fad3a2f23941927f1be2abded3bde2f2b04f7a5f3cc0a54a978020ebaa
2025-03-16 11:24:32 +00:00
drh
fc293f7c0e
Rework the run-fuzzcheck makefile target so that it better exploit parallelism.
...
Test case "<tt>make -j16 run-fuzzcheck FUZZDB=20250222.db</tt>"
went from 596 seconds down to 107 seconds.
FossilOrigin-Name: 18bda13e197e4b4ec7464b3e70012f71edc05f73d8b14bb48bad452f81c7e185
2025-03-16 00:13:29 +00:00
drh
42db4d043e
Enhance the fuzzcheck testing tool with new command-line options:
...
--brief, and --slice M N.
FossilOrigin-Name: e64132723db0c4f2b9a58932a93beb1671e42006eebc1aeaa8f320e717043051
2025-03-15 23:42:32 +00:00
drh
6e5d59e8ef
Make use of the C99 flexible array feature, when available, so that
...
the -fsanitize=bounds-strict option can be used, when available.
[forum:/forumpost/311dbf9a1cadfae6|Forum thread 311dbf9a1c].
FossilOrigin-Name: d4307a0d43f42e96ec06ad2c1d8d0f5c8ecae759bae8231b1998633089809f49
2025-03-15 19:55:19 +00:00
dan
f212fb3362
Speed up parsing of very long fts3 query expressions.
...
FossilOrigin-Name: 2dd5b6895a3b23c2b9cbf0c1c1e802faf8f2b41ef60819eea25d609755266e64
2025-03-15 16:58:39 +00:00
stephan
9f8a238fb5
Configure-internal build cleanups (no functional changes). Add EXTRA_SRC to the deps of sqlite3.c.
...
FossilOrigin-Name: 8afb8bbce8654d6f76207fb136e79dc52b6724a71eae82a4c098690a68eb75a1
2025-03-15 15:19:42 +00:00
stephan
5390f95f07
Minor doc corrections for the sahpool-digest fix and merge in current trunk.
...
FossilOrigin-Name: 500f2e6ec74b4c0e4ac0365ba4e0d81ed6df8dd09dc0f8af65d294c3453f8865
2025-03-14 11:14:52 +00:00
stephan
ff3c451428
Document that sqlite_update_hook() can unset the current hook by passing a NULL callback, to address [forum:652aef4747|forum post 652aef4747].
...
FossilOrigin-Name: 2b582c0097e3374beb280dfa6b03e0dacb9911da1bceb0dce0468e6b7291e74f
2025-03-12 11:41:12 +00:00
drh
72b5c6db35
Avoid running test cases involving ANSI control characters or Unicode
...
on Windows in a slave interpreter, as that combination does not work.
FossilOrigin-Name: f6745a7355c62ee64c08e23b795f437dd74add903b55e1255c1d03f9a811170d
2025-03-11 15:46:23 +00:00
stephan
1fc7844d40
Teach testrunner.tcl to distinguish Cygwin from Windows. This gets it running but then all downstream tests fail, at least in part because of the build target name discrepancies between the platform which requires .exe and those which do not.
...
FossilOrigin-Name: 2861788e479aea12354f2d34d8e6a2706d193642674ef1f4f852f24c877e0140
2025-03-11 11:24:52 +00:00
stephan
e0fa42053f
Merge trunk into the cygwin-fixes branch.
...
FossilOrigin-Name: f3d14433f24f89558e72a9085c950bc72440e9933d6b4ff59d6e603d25e39422
2025-03-10 17:35:00 +00:00
stephan
b37f8b9714
Patch an unnecessary size_t-to-int conversion which warns on some compilers.
...
FossilOrigin-Name: 8681dfdb59d3258663ec176daafd7a52446a207db21fbd1a4d151508092dcbc5
2025-03-10 15:35:43 +00:00
stephan
4cd6c0b81b
Ensure that the 'clean' target for Makefile.msc cleans up the testdir dir, analog to how the canonical makefile works, as stale files there have been leading to test failures.
...
FossilOrigin-Name: a591c018558af70e0ddfdd2d4d61905f030bac01df19ac9b204aed09d44517be
2025-03-10 15:27:17 +00:00
stephan
42e5ceb093
Reimplement pathname conversion on Cygwin. MSC test passes/failures are on par with trunk and 'make test' running on cygwin is down to a single failure.
...
FossilOrigin-Name: 57a4de09149663ac001848773c9dffe53e30f9263e4dacc792a0267401147d25
2025-03-10 15:15:13 +00:00
stephan
05ba11fc95
Tweak [6f24da264cf8d] so that it has no side-effects on autoconf/Makefile.msc.
...
FossilOrigin-Name: d3d322f122e88ea7d7f086f1c7d3ba8ab5ba7c2899d6d1e18b0b593001f01dcf
2025-03-10 14:10:46 +00:00
stephan
49a5da1138
Add tf.bat target to Makefile.msc to facilitate running of individual test scripts via testfixture.exe.
...
FossilOrigin-Name: 6f24da264cf8d4c9fef706e6ab89e8c002ac4abfb79516f65ff4eb806f864959
2025-03-10 09:54:01 +00:00
stephan
065c0a6120
Test app/script patches from Jan Nijtmans for cygwin. Add/replace many more sentinel arguments for TCL variadic functions which specifically need a NULL trailing argument. With this, 'make test' on cygwin runs to completion for me, with 134 of 329227 tests failing. MSC build fails the same 13 tests which fail for me in trunk.
...
FossilOrigin-Name: 84d8fcfca19cd183d05a702d0eb1742bfae462d3383a3db72741a48cefac1058
2025-03-08 06:53:06 +00:00
stephan
7b9407af90
os_win.c patches for Cygwin (described in the cygwin-fixes branch wiki page). Makefile.msc's test target on trunk fails the same 13 tests as this branch.
...
FossilOrigin-Name: 655c60d1926adb552d37441bf9857263eae92e3806a8524e8443b81fdfd8c258
2025-03-07 06:54:04 +00:00
stephan
908c0301d1
Merge trunk into the cygwin-fixes branch (which was inadvertently branched too early).
...
FossilOrigin-Name: a7863b2e2fbea0ea11c494016b99921f70aae09607868aa65af988cbd173b31a
2025-03-06 14:40:45 +00:00
stephan
8199c8d7a7
Cygwin-centric test script tweaks from Jan Nijtmans.
...
FossilOrigin-Name: 9868615b7d41179672dde2eafff878d50cf9d647c7050ccf5103e385fd182fc2
2025-03-06 13:49:27 +00:00
stephan
b6503f1444
Cygwin-centric fixes from Jan Nijtmans.
...
FossilOrigin-Name: 205979813c7300debb5f1ba270583ef2f08e069d6d01865b5910702889a5c1ed
2025-03-06 13:38:07 +00:00
stephan
69eaadbee3
Merge trunk into the sahpool-digest branch.
...
FossilOrigin-Name: fc1eeb7d1f2880907b0fe71a8c572dd7cd74a5d65ec0177332976ad2f8c2b216
2025-02-26 03:32:52 +00:00
stephan
d2f7dfa619
More work on the sahpool digest fix. New/fixed versions can read legacy (no digest) files but the reverse is only possible in limited circumstances (when files originated from a legacy version). The burning question is whether the real fix would be to remove this digest check altogether, as it only applies in a very limited context, and the fact that it was broken for some 18 months unnoticed suggests that its value might not be worth the CPU cycles.
...
FossilOrigin-Name: 0df62b776c68bebb0e187b353b6f29b0a41a29f0a1c8d6728fa6b9f7ce0d13f7
2025-02-26 03:03:08 +00:00
stephan
c97abeac0b
Add a test app to assist in validating the SAHPool digest calculation fix.
...
FossilOrigin-Name: a1e304b8020025cc73a658bd8c7697d59b4f3ad96cac0a3e36553a3207d13dc6
2025-02-03 17:21:54 +00:00
stephan
40ce00b546
Initial work on a fix for the SAHPool VFS's effectively-no-op digest calculation, as reported in [ https://github.com/sqlite/sqlite-wasm/issues/97 |ticket #97 of the downstream npm subproject]. This requires more testing alongside databases created before this version to ensure that it's backwards-compatible.
...
FossilOrigin-Name: 9234c33f92d92bfddc6211c9c587f1072e70837c0ffe1416ef7d84d59bacd364
2025-02-03 16:26:30 +00:00
drh
a3ee3860a2
Merge all the latest trunk enhancements into the exists-to-join branch.
...
FossilOrigin-Name: 9084a4c8726a2c7ba1c381886e29c7b86121d531282be0d63d5988d84f6f448d
2024-07-31 23:46:10 +00:00
drh
c96e47c80e
Merge the latest trunk enhancements into the exists-to-join branch.
...
FossilOrigin-Name: fc643f8a12e9b7448136b281f798e18dfebe0a3df5115d930b965c8a33933e2d
2024-06-27 14:54:15 +00:00
drh
620a00ee32
Do not attempt the exists-to-join optimization if the FROM clause is full.
...
FossilOrigin-Name: 8e3a1d2850337a902ab36b1d6a0dad4ae35030b71d1e15547f6e7487c1f86d18
2024-06-20 12:07:25 +00:00
dan
62b954d545
Add tests for the change on this branch.
...
FossilOrigin-Name: ae19ff9ba819439fd107e745b6e8e503e5b68bfdb9da58b74035413704ad3caf
2024-06-14 18:06:25 +00:00
dan
0d92e66dfc
Do not attempt the exists-to-join optimization for expressions from the ON clause of joins.
...
FossilOrigin-Name: 4666433cbd9af21c2e0440b10bcb39878624a39485e2bb514553b276acb8a401
2024-06-12 17:01:00 +00:00
drh
ddc62664bf
Provide the ability to disable the exists-to-join optimization using
...
SQLITE_TESTCTRL_OPTIMIZATIONS. Provide tree-trace output for the optimization.
FossilOrigin-Name: 33a3f327855b427ae6ba0057218d043a1417bc9d780728f47f23acdd836e1686
2024-06-11 18:22:48 +00:00
drh
b4f41b801a
Merge trunk enhancements into the exists-to-join branch.
...
FossilOrigin-Name: 5f25a9518a675efbd0525cc2f5595ee7bc7122be7cfecdf6b20c909185dea370
2024-06-11 17:37:36 +00:00
dan
df77e56cde
Add missing calls to sqlite3exprSkipCollateAndLikely() to the enchancement on this branch.
...
FossilOrigin-Name: 078537d057d638389e3ab3bc04bcac53f342c7bf1d8d75222296ef42d09e9ee7
2024-06-10 19:45:33 +00:00
dan
dc9a262319
Fix a crash that could occur when the SELECT in an EXISTS(SELECT ...) used an unknown collation sequence.
...
FossilOrigin-Name: f3009a6d7facd1ead520d588c5ad089db76d8641cd3dae076f2405492d7defcd
2024-06-10 19:31:18 +00:00
dan
b111f1cb2a
Add extra tests for the changes on this branch.
...
FossilOrigin-Name: a6365c778f2a6d6fa78e8520553373898f382ce73bf6496533e26291648ef5d1
2024-06-08 18:13:12 +00:00
dan
5525ac1049
Experimental optimization to rewrite a SELECT with an EXISTS(...) expression in the WHERE clause as a join.
...
FossilOrigin-Name: 972a33db0b0e924b78d5309d222d8ea298bd59c72da14ea2d14e8e2caaad1e0a
2024-06-07 21:00:42 +00:00