]> git.ipfire.org Git - thirdparty/sqlite.git/log
thirdparty/sqlite.git
10 months agoAttempt to improvement performance of multiple OP_Columns that occur in a row. column-optimization
drh [Tue, 11 Feb 2025 16:00:52 +0000 (16:00 +0000)] 
Attempt to improvement performance of multiple OP_Columns that occur in a row.
Minimal improvement for a lot of complexity and risk.

FossilOrigin-Name: 53478f29347c7f17d46ec2a1e7c390c9be9e9fc32f31da77a4ba7a9d67440a8e

10 months agoRemove a pointless line of code.
drh [Mon, 10 Feb 2025 19:48:13 +0000 (19:48 +0000)] 
Remove a pointless line of code.

FossilOrigin-Name: 57b2b812c8c5524f315e20cee0e6a12a3b1635aeb42925bf891532a7029d0eb0

10 months agoAdd the --size option to the test/speedtest.tcl script.
drh [Mon, 10 Feb 2025 19:12:18 +0000 (19:12 +0000)] 
Add the --size option to the test/speedtest.tcl script.

FossilOrigin-Name: 6b9007cb30257ca97de74dec1df47f46f238f034083517a51c24334e4bd30663

10 months agoMinor autosetup doc tweaks.
stephan [Mon, 10 Feb 2025 18:41:46 +0000 (18:41 +0000)] 
Minor autosetup doc tweaks.

FossilOrigin-Name: bb53beb267ee5f5836020a58f32f1bed8deb587890eef9a6e034dad53f8c3f42

10 months agoMake the "mix1" testset the default for speedtest1.
drh [Mon, 10 Feb 2025 16:34:30 +0000 (16:34 +0000)] 
Make the "mix1" testset the default for speedtest1.

FossilOrigin-Name: 7a0c3d0e14984dd49a7c1e824b9e50564094ad57c43182bfec7624a55815f961

10 months agoEnhance speedtest1 with a new testset that calls sqlite3_open() and uses the
drh [Mon, 10 Feb 2025 16:13:56 +0000 (16:13 +0000)] 
Enhance speedtest1 with a new testset that calls sqlite3_open() and uses the
connection many times.

FossilOrigin-Name: ce307addb0c7cf72e4cca066521df6e15d1220bce303a3796a794a2ae5fa95b3

10 months agoAdd jimsh.exe and jimsh0.exe to the clean rules in Makefile.msc so that stale builds...
stephan [Mon, 10 Feb 2025 15:58:22 +0000 (15:58 +0000)] 
Add jimsh.exe and jimsh0.exe to the clean rules in Makefile.msc so that stale builds of those files from msys2 and friends do not cause mysterious build errors.

FossilOrigin-Name: 44b4e4db321815c6fc0327ed7b97df868833654411e882b70f54ad3f6d212987

10 months agoconfigure: when dlopen() is not found, only fail fatally if --enable-loadable-module...
stephan [Mon, 10 Feb 2025 15:01:14 +0000 (15:01 +0000)] 
configure: when dlopen() is not found, only fail fatally if --enable-loadable-module is explicitly provided, else warn instead. Based on discussion around [forum:2efe9c33bd9021ca|forum post 2efe9c33bd9021ca]. Update proj-indented-notice to behave like its docs say it should when the -error flag is used.

FossilOrigin-Name: f28e52cbf9e80cb5a1cde7cba099e2c2b6787a77263796e4f9febf3f30bc99dc

10 months agoConvert some expensive NEVER() and ASSERT() macros into assert()s.
drh [Mon, 10 Feb 2025 11:16:37 +0000 (11:16 +0000)] 
Convert some expensive NEVER() and ASSERT() macros into assert()s.

FossilOrigin-Name: 4aad891802d9d87f1ff3cbbf4bc70fa242c6782088189a2bd5d6f8863f552d29

10 months agoSmall performance increase in jsonTranslateBlobToText().
drh [Mon, 10 Feb 2025 00:20:50 +0000 (00:20 +0000)] 
Small performance increase in jsonTranslateBlobToText().

FossilOrigin-Name: 3b1dcac2eeaf5f97450919f2a6eed74a4d54fb2b812bdb4a580f79d075e99dfe

10 months agoPerformance optimization to the substr() SQL function.
drh [Sun, 9 Feb 2025 20:23:29 +0000 (20:23 +0000)] 
Performance optimization to the substr() SQL function.

FossilOrigin-Name: ce228ce3d0132ad758b5b7464fcf22ae5976df3c02ec948280cc76290c79ed0b

10 months agoPerformance and size optimization for the sqlite3ColumnIndex() routine.
drh [Sun, 9 Feb 2025 19:49:46 +0000 (19:49 +0000)] 
Performance and size optimization for the sqlite3ColumnIndex() routine.

FossilOrigin-Name: a93e3fe0ee8f98a7ec0dfb2e1abf432cc9d5f9d3ad345b5db261475215d43df9

10 months agoUpdate the 'clean' rules for autoconf/Makefile.in to account for [6092b0b8].
stephan [Sun, 9 Feb 2025 05:37:25 +0000 (05:37 +0000)] 
Update the 'clean' rules for autoconf/Makefile.in to account for [6092b0b8].

FossilOrigin-Name: f3a35fdc9113ad5f1fed6a2f474aee670e1793d355475a7971d376bf33823cc4

10 months agoApply [6092b0b8] to autoconf/Makefile.in.
stephan [Sun, 9 Feb 2025 05:30:47 +0000 (05:30 +0000)] 
Apply [6092b0b8] to autoconf/Makefile.in.

FossilOrigin-Name: 9ae245cff49716e4c0bbd3fbb3f82276e5fb54d595d1e1d9a452edef45d7740f

10 months agoconfigure: if the linker supports --out-implib, generate libsqlite3.X.a, where X...
stephan [Sun, 9 Feb 2025 04:38:56 +0000 (04:38 +0000)] 
configure: if the linker supports --out-implib, generate libsqlite3.X.a, where X is the platform's DLL file extension. Discussion in/around [forum:0c7fc097b2|forum post 0c7fc097b2].

FossilOrigin-Name: 6092b0b86bf93a3d58a83774b6d07ef9735e6c8a0f2ac2d0a6d263c2e9f1e3ca

10 months agowasm: add some build-time validation to ensure that the problem fixed in [65798c09a00...
stephan [Sun, 9 Feb 2025 04:16:01 +0000 (04:16 +0000)] 
wasm: add some build-time validation to ensure that the problem fixed in [65798c09a00662a3] does not recur. Ensure that files generated via mkwasmbuilds.c have the generated makefile as a dependency.

FossilOrigin-Name: 55e01365946b3432e93da5c08200e476e2a134c98b963b4170e4dfae8408a005

10 months agowasm: when building in -O0 mode (typical dev mode), use -sASSERTIONS=2, else -sASSERT...
stephan [Sun, 9 Feb 2025 03:24:00 +0000 (03:24 +0000)] 
wasm: when building in -O0 mode (typical dev mode), use -sASSERTIONS=2, else -sASSERTIONS=0, in response [https://github.com/emscripten-core/emscripten/pull/23629/commits/7e3e35cbff9c5688eacb3cddc5045f872d744efd|Emscripten checkin 7e3e35cbff9], which adds assertions to check for the condition reported in [https://github.com/emscripten-core/emscripten/issues/23420|Emscripten ticket 23420]. Update some unrelated JS-side internal docs.

FossilOrigin-Name: 1f554610ba5d9d474ec4570bb7ca09125fd2cdfb4976530a4227cc6ebdf3a962

10 months agoJS: add a mechanism to the Worker1 exec API to fetch the last_insert_rowid(), as...
stephan [Sun, 9 Feb 2025 02:41:35 +0000 (02:41 +0000)] 
JS: add a mechanism to the Worker1 exec API to fetch the last_insert_rowid(), as requested in [forum:56bc35390183f5d5|forum post 56bc353901].

FossilOrigin-Name: c22c48360756b1c7e2f5a9c01aff799bc188e100d364931de0dc3686e5de57a9

10 months agoconfigure: when transfering ENABLE/OMIT flags from CFLAGS to OPT_FEATURE_FLAGS, also...
stephan [Sun, 9 Feb 2025 01:25:00 +0000 (01:25 +0000)] 
configure: when transfering ENABLE/OMIT flags from CFLAGS to OPT_FEATURE_FLAGS, also do the same for CPPFLAGS and remove those ENABLE/OMIT flags from CFLAGS/CPPFLAGS to mimic legacy build behavior. Strip ENABLE/OMIT flags from BUILD_CFLAGS but do not transfer those to OPT_FEATURE_FLAGS, also to mimic legacy behavior. This is the second part of a fix discussed at [forum:9801e54665afd728|forum post 9801e54665afd728].

FossilOrigin-Name: 16d307cc6c1e203900e7a2dc0730fc0e453946622a2114a07d64ebb99045cfbf

10 months agoAdd the "star" testset to speedtest1. Include it as part of "mix1".
drh [Sun, 9 Feb 2025 00:54:56 +0000 (00:54 +0000)] 
Add the "star" testset to speedtest1.  Include it as part of "mix1".

FossilOrigin-Name: f1345b84eaae5404268df1d0449c409fe5c4a4f9742bd67a75c7333c8c9cd597

10 months agoPut a 16-byte hash table for column names on each Table object, to speed
drh [Sat, 8 Feb 2025 16:16:08 +0000 (16:16 +0000)] 
Put a 16-byte hash table for column names on each Table object, to speed
up column name lookups.

FossilOrigin-Name: 11eb8f99e5c4974cb6ba39e5bbc99f6b88b9e01006b70d5fea85c2a6d4f7044f

10 months agoUse the sqlite3ColumnIndex() routine to look up a column in a table, rather
drh [Sat, 8 Feb 2025 14:15:42 +0000 (14:15 +0000)] 
Use the sqlite3ColumnIndex() routine to look up a column in a table, rather
than using a custom loop.  Performance improvement, size reduction, and
complexity decrease.

FossilOrigin-Name: 351dbbc2bf0b23efdc625ddaa5dc2239cf2990addf071a04bd41612b341de8c8

10 months agoFix GCC-isms and compiler warnings introduced by recent check-ins
drh [Sat, 8 Feb 2025 13:34:19 +0000 (13:34 +0000)] 
Fix GCC-isms and compiler warnings introduced by recent check-ins
[c56092507c967230] and [6e57848fe1e0e2b5].

FossilOrigin-Name: 91102c04375f83cffcd0f3204870e476636f651710e9e6fb773cf74085ef7636

10 months agoImprovements to the symbol table hash: faster lookups with fewer calls to
drh [Sat, 8 Feb 2025 12:04:25 +0000 (12:04 +0000)] 
Improvements to the symbol table hash: faster lookups with fewer calls to
sqlite3StrICmp() for schemas with many symbols and large names.

FossilOrigin-Name: 6e57848fe1e0e2b533dd65c2bc5fbac660202cf91cb94ac5468a3434e367a087

10 months agoImprovements to the hash table used to store symbols in the schema, so that hash-improvements
drh [Sat, 8 Feb 2025 11:15:41 +0000 (11:15 +0000)] 
Improvements to the hash table used to store symbols in the schema, so that
it works better (requires fewer calls to sqlite3StrICmp()) for large schemas,
and uses less code space.

FossilOrigin-Name: 0318b68c845c84eded757c67f820e1783551574ac9e5670be640c4bfe22a934b

10 months agobuild: work around a report of (install -d DIR) failing in one environment if DIR...
stephan [Fri, 7 Feb 2025 19:18:20 +0000 (19:18 +0000)] 
build: work around a report of (install -d DIR) failing in one environment if DIR already exists.

FossilOrigin-Name: 8f7b7840d48c391d43ac034ebfee9227dc1c2800adda24f02f3d3bb942f4380e

10 months agoFix comments on the Parse.nMaxArgs field so that they are correct. Add
drh [Fri, 7 Feb 2025 19:09:20 +0000 (19:09 +0000)] 
Fix comments on the Parse.nMaxArgs field so that they are correct.  Add
assert()s to ensure they are correct.  Other Parse changes to reduce the
amount of memset() needed to initialize it.

FossilOrigin-Name: c56092507c96723030589ddd9121bc993d615a7acd453305fc3b1dbb9e30554c

10 months agoFurther reduction in the amount of memset() needed to initialize the Parse
drh [Fri, 7 Feb 2025 15:49:21 +0000 (15:49 +0000)] 
Further reduction in the amount of memset() needed to initialize the Parse
object.

FossilOrigin-Name: 45e462c0060e51c3375a226d636148e3415ee6020e544ecc84861c7aef4ecf7b

10 months agoMac-specific build fixes discussed in [forum:9dfd5b8fd525a5d7|forum thread 9dfd5b8fd5...
stephan [Fri, 7 Feb 2025 14:44:31 +0000 (14:44 +0000)] 
Mac-specific build fixes discussed in [forum:9dfd5b8fd525a5d7|forum thread 9dfd5b8fd525a5d7]: rename dylib links and add legacy-compatibility versioning stamps to libsqlite3.dylib.

FossilOrigin-Name: 668bcf327a82a63d45be8cf38fdddc855dbcefdedf6c208e091eb7e2d244929d

10 months agoReduce the amount of memset() needed to initialize the Parse object.
drh [Fri, 7 Feb 2025 13:37:15 +0000 (13:37 +0000)] 
Reduce the amount of memset() needed to initialize the Parse object.

FossilOrigin-Name: 284538d8486ef3e9bee1ab980043b53c144743c31b984be13a5cc137e7cbec31

10 months agoconfigure: change extension of static libraries from .lib to .a on msys/cygwin, as...
stephan [Fri, 7 Feb 2025 12:58:09 +0000 (12:58 +0000)] 
configure: change extension of static libraries from .lib to .a on msys/cygwin, as per discussion in [forum:02db2d4240|forum post 02db2d4240]. Replace unidiomatic JS-style use of inner procs in autosetup/proj.tcl with TCL lambdas.

FossilOrigin-Name: 46f51e2a3707614a2b3ca6261bc6e0e8835477fdb7cbcf2f06b20cdebde2bab9

10 months agoReorder a piece of ext/wasm/GNUmakefile to correct the timing of various var accesses...
stephan [Fri, 7 Feb 2025 12:33:48 +0000 (12:33 +0000)] 
Reorder a piece of ext/wasm/GNUmakefile to correct the timing of various var accesses. Fixes a problem [https://github.com/sqlite/sqlite-wasm/pull/99|reported in the downstream npm subproject] and explains the confusion in [4aa025a943a4024094b9] (which has been reverted).

FossilOrigin-Name: 65798c09a00662a3598f01571d6f3a2dc750c3d0b127c344590539244afe4aa7

10 months agoFix out-of-tree builds of the autoconf bundle, as reported in [forum:a0cd0beb1baa6bef...
stephan [Fri, 7 Feb 2025 11:15:58 +0000 (11:15 +0000)] 
Fix out-of-tree builds of the autoconf bundle, as reported in [forum:a0cd0beb1baa6bef|forum post a0cd0beb1baa6bef].

FossilOrigin-Name: d47964a65bcfd4bc0b06baca281467a0b7fc87eba912a19c0974f63a54928ff8

10 months agoBump TEA configure.ac version number.
stephan [Fri, 7 Feb 2025 01:43:05 +0000 (01:43 +0000)] 
Bump TEA configure.ac version number.

FossilOrigin-Name: a1a9c780d1f1b47b0408397edded9c5d230c7b144207ad142d06c048792d31fa

10 months agoAdjust the test/speedtest.tcl script so that it uses an on-disk database
drh [Thu, 6 Feb 2025 17:29:14 +0000 (17:29 +0000)] 
Adjust the test/speedtest.tcl script so that it uses an on-disk database
rather than an in-memory database.

FossilOrigin-Name: e93d7aa1db9bdbf1996c4c168e67284177e384b7acf176d74a0458258faab05c

10 months agoFix a harmless typo in a comment.
drh [Thu, 6 Feb 2025 17:10:38 +0000 (17:10 +0000)] 
Fix a harmless typo in a comment.

FossilOrigin-Name: ed82272904deb37640286448e03153316f828c629547a615a504af1d7ec5a278

10 months agoBump version number to 3.50.0 for the next dev cycle.
stephan [Thu, 6 Feb 2025 13:36:31 +0000 (13:36 +0000)] 
Bump version number to 3.50.0 for the next dev cycle.

FossilOrigin-Name: 46d08071f3f9fef78bc2444b52060e0e7de8c357a2aa213ac13c565e33acc4a0

10 months agoFix a dependencies/order-of-operations bug in ext/wasm/GNUmakefile which causes creat...
stephan [Thu, 6 Feb 2025 13:18:49 +0000 (13:18 +0000)] 
Fix a dependencies/order-of-operations bug in ext/wasm/GNUmakefile which causes creation of files filtered via c-pp to fail if the ext/wasm/jswasm dir did not exist beforehand.

FossilOrigin-Name: 4bac76138853a89484d3ac0486a9ed5143aa671b13b4b3abb704c1487213b388

10 months agoVersion 3.49.0 version-3.49.0
drh [Thu, 6 Feb 2025 11:55:18 +0000 (11:55 +0000)] 
Version 3.49.0

FossilOrigin-Name: 4a7dd425dc2a0e5082a9049c9b4a9d4f199a71583d014c24b4cfe276c5a77cde

10 months agoFix a harmless unused-parameter compiler warning introduced by [75f3d8744879].
drh [Wed, 5 Feb 2025 16:08:11 +0000 (16:08 +0000)] 
Fix a harmless unused-parameter compiler warning introduced by [75f3d8744879].

FossilOrigin-Name: 9f28f6694f97d5ee0345b45f9bf81e3fdce0990ce32fb9bdbbaac079126a67c9

10 months agoSummarize known incompatibilities/gotches between JimTCL and canonical TCL, and their...
stephan [Wed, 5 Feb 2025 12:56:55 +0000 (12:56 +0000)] 
Summarize known incompatibilities/gotches between JimTCL and canonical TCL, and their workarounds. Doc changes only.

FossilOrigin-Name: 60c932e67b886d4c050698f36e1d3fc04eb99473d62bb3b1585a97d90e27227e

10 months agoUpstream JimTCL patch and minor tcl script tweaks to support (fconfigure -translation...
stephan [Wed, 5 Feb 2025 12:49:15 +0000 (12:49 +0000)] 
Upstream JimTCL patch and minor tcl script tweaks to support (fconfigure -translation binary) for better cross-platform build portability.

FossilOrigin-Name: 0974a17c4565f202777fc6203df20dca19acc1e8740ede15334783f41e3e5054

10 months agoAttempted improvements to the SQLITE_DBCONFIG_... documentation.
drh [Wed, 5 Feb 2025 12:02:43 +0000 (12:02 +0000)] 
Attempted improvements to the SQLITE_DBCONFIG_... documentation.

FossilOrigin-Name: baac853871ad307b67b4d624b9ee47fc1313f1aa62c9f8072fb49e97aa33db94

10 months agoDetect and report signed integer overflow in the sumInverse() routine,
drh [Tue, 4 Feb 2025 02:38:23 +0000 (02:38 +0000)] 
Detect and report signed integer overflow in the sumInverse() routine,
used by window functions.

FossilOrigin-Name: 317e9a470fba2a4b717b9cb66488b8fccb44810a80f3a7deaf1ea81906e2b8d2

10 months agoTest case for the FTS3 fix in the previous check-in.
drh [Mon, 3 Feb 2025 23:27:27 +0000 (23:27 +0000)] 
Test case for the FTS3 fix in the previous check-in.

FossilOrigin-Name: 459d8f695ef868d0ec09920ab2035eebd36a66051f9905e2605f4600623faa47

10 months agoFix a potential UAF in FTS3.
drh [Mon, 3 Feb 2025 23:19:42 +0000 (23:19 +0000)] 
Fix a potential UAF in FTS3.

FossilOrigin-Name: 75f3d87448793fc7fd68d817874d561842e029a2d6c1ea4abcec39764cd38469

10 months agoNew dbsqlfuzz case added to fuzzdata8.db. fuzzer-20250203
drh [Mon, 3 Feb 2025 21:24:40 +0000 (21:24 +0000)] 
New dbsqlfuzz case added to fuzzdata8.db.

FossilOrigin-Name: 7ee20cfc237229dbea7116149c0c35883f7b8087b9ccdce6dca16b6da1c6caf8

10 months agoThe Parse.addrExplain field is never even if SQLITE_OMIT_EXPLAIN is defined.
drh [Mon, 3 Feb 2025 21:04:21 +0000 (21:04 +0000)] 
The Parse.addrExplain field is never even if SQLITE_OMIT_EXPLAIN is defined.

FossilOrigin-Name: 5d81a984c6aabb9fa9180efde8ca942b40f1ec18ff5a89f2fbb1252734f051d3

10 months agoEnhance fuzzcheck so that the --sqlid and --dbid options can take a range
drh [Mon, 3 Feb 2025 18:53:02 +0000 (18:53 +0000)] 
Enhance fuzzcheck so that the --sqlid and --dbid options can take a range
of IDs to run.

FossilOrigin-Name: 408fa57f048e05a261fb62b45ae44b8a97c97fc01e3776124cbef6595df579d4

10 months agoFixes and improved documentation to the new --sqlid and --dbid range fuzzcheck-improvements
drh [Mon, 3 Feb 2025 18:49:06 +0000 (18:49 +0000)] 
Fixes and improved documentation to the new --sqlid and --dbid range
options in fuzzcheck.

FossilOrigin-Name: 59e26632449163a36b803cc7027ed99c1f6b675dda6f0b2b12bbe55884923f08

10 months agoEnhance fuzzcheck so that the --sqlid and --dbid options can specify a
drh [Mon, 3 Feb 2025 18:36:05 +0000 (18:36 +0000)] 
Enhance fuzzcheck so that the --sqlid and --dbid options can specify a
range of tests to be run.

FossilOrigin-Name: cdd0af6f86e49ade1339ad5a3cc444400a9722a9efdf84a30b3ff9428b7ac36d

10 months agoFix for a potential UAF in FTS5.
drh [Mon, 3 Feb 2025 18:05:54 +0000 (18:05 +0000)] 
Fix for a potential UAF in FTS5.

FossilOrigin-Name: e33f2fedda17b4f3678fc23c438093c256b0c125da5f1ac42ecaf3d604d54b6a

10 months agoImprove the JS-side sqlite3_set_auxdata() test to also trigger the case that the...
stephan [Mon, 3 Feb 2025 18:01:42 +0000 (18:01 +0000)] 
Improve the JS-side sqlite3_set_auxdata() test to also trigger the case that the aux data actually gets reused. Test changes only, no library code.

FossilOrigin-Name: 9f27379d860518e6e097a2c999da04176812260a61bf11fe495c3efd76971806

10 months agoFix a use-after-free case in fts5 provoked by fuzzdata8.db. Tcl test case pending. fuzz-data
dan [Mon, 3 Feb 2025 17:54:55 +0000 (17:54 +0000)] 
Fix a use-after-free case in fts5 provoked by fuzzdata8.db. Tcl test case pending.

FossilOrigin-Name: a4962df665084e423e020be9a2834b6886a8e3feb461cff5358b61398a2a20d2

10 months agoNew test case for test/fuzzdata8.db
drh [Mon, 3 Feb 2025 17:45:41 +0000 (17:45 +0000)] 
New test case for test/fuzzdata8.db

FossilOrigin-Name: 8a882f976e22100b91c7ca4119123f16ad5f03311f0a6dc17449bcdcff29618c

10 months agoRework [76c8435a] to eliminate automatic JS-to-WASM function conversions of sqlite3_s...
stephan [Mon, 3 Feb 2025 17:34:12 +0000 (17:34 +0000)] 
Rework [76c8435a] to eliminate automatic JS-to-WASM function conversions of sqlite3_set_auxdata() destructors because it can leads to leaks on every call of a UDF. This feature never worked before [76c8435a] but fixing it was ill-conceived because of the memory leakage it introduces. WASM function pointers can still be used as destructors in this context.

FossilOrigin-Name: 3fb993af0caf041da934cea29c039b27c468be0b75bce1537a6425767cf9bf8d

10 months agoAdd a more complete test for [76c8435a] and add some commentary about (A) the inabili...
stephan [Mon, 3 Feb 2025 14:55:56 +0000 (14:55 +0000)] 
Add a more complete test for [76c8435a] and add some commentary about (A) the inability to automatically clean up automatically-generated WASM proxy functions for sqlite3_set_auxdata() destructors and (B) how to deal with (A) to avoid leaking WASM proxy functions.

FossilOrigin-Name: d693c2dddbd10a2e0b77893b04b11502e30b768f1b06814105f7f35172845fb9

10 months agoFix the build process on Windows so that it generates identical sqlite3.c,
drh [Mon, 3 Feb 2025 14:44:16 +0000 (14:44 +0000)] 
Fix the build process on Windows so that it generates identical sqlite3.c,
sqlite3.h, and shell.c files on Windows and Unix.  This patch also includes
a change to JS bindings that got caught up in the branch.

FossilOrigin-Name: 91ef45fc2902e46813366ec6b8317209f39f10e4a23c3808e33aceedab9da6c7

10 months agoBring the autoconf-tarball Makefile.msc into alignment with the main windows-build-issue
drh [Mon, 3 Feb 2025 14:40:05 +0000 (14:40 +0000)] 
Bring the autoconf-tarball Makefile.msc into alignment with the main
Makefile.msc.

FossilOrigin-Name: 52a7a162d131532de8f4403b099fa122fc72c80f71494fb561afc4e0ff8e6bf4

10 months agoCorrect the FuncPtrAdapter signature for the JS binding of sqlite3_set_auxdata()...
stephan [Mon, 3 Feb 2025 14:04:27 +0000 (14:04 +0000)] 
Correct the FuncPtrAdapter signature for the JS binding of sqlite3_set_auxdata(). Reported in [https://github.com/sqlite/sqlite-wasm/issues/92|the npm subproject, ticket #92].

FossilOrigin-Name: 76c8435a5f390001038b8ee94322ff478c9d5f29501ed1c5891c952a41e377aa

10 months agoAdjust the build process to avoid extra CR characters inserted by jimsh
drh [Mon, 3 Feb 2025 13:20:11 +0000 (13:20 +0000)] 
Adjust the build process to avoid extra CR characters inserted by jimsh
on Windows.

FossilOrigin-Name: 1f54853932cec9ba20e9be48a59f1817b8b45e4c4d6ef8a06d34f86dd688e28e

10 months agoThe "clean" target on Makefile.msc should not delete the auto.def file.
drh [Mon, 3 Feb 2025 12:42:03 +0000 (12:42 +0000)] 
The "clean" target on Makefile.msc should not delete the auto.def file.

FossilOrigin-Name: 72fbcedfb09febb72fa325cb21d160cd33dca7fe5579817143f47d90a20ec2ef

10 months agoAdd a header comment to test/speedtest1.c that outlines how to compile the
drh [Sun, 2 Feb 2025 18:01:32 +0000 (18:01 +0000)] 
Add a header comment to test/speedtest1.c that outlines how to compile the
program using historical amalgamation sources, for comparison testing.

FossilOrigin-Name: 602d4dd69ec9a724c69cb41ab15376ec731bfd4894fac0a2b25076b857786c6d

10 months agoUpdate to the "--help" output from speedtest1.
drh [Sun, 2 Feb 2025 16:52:21 +0000 (16:52 +0000)] 
Update to the "--help" output from speedtest1.

FossilOrigin-Name: 5216452047eecdd6c0f6ab85b304f975ed05a394a4ad9ae793fb65d645502b12

10 months agoURL typo fix in code comments. No code changes.
stephan [Sun, 2 Feb 2025 12:15:25 +0000 (12:15 +0000)] 
URL typo fix in code comments. No code changes.

FossilOrigin-Name: 002a123094e4ef14eb5ec28033adca6083ba2717e1eaa23e80595e37a947e6c2

10 months agoAdd a missing "db2 close" to the ext/session/session_gen.test test module.
drh [Sat, 1 Feb 2025 23:49:01 +0000 (23:49 +0000)] 
Add a missing "db2 close" to the ext/session/session_gen.test test module.

FossilOrigin-Name: 4068f586ddadd3a818645574f7584fcee6d373dbf45805c545100883b495598a

10 months agoFix a comment typo - in a comment used to generate documentation.
drh [Sat, 1 Feb 2025 23:34:33 +0000 (23:34 +0000)] 
Fix a comment typo - in a comment used to generate documentation.

FossilOrigin-Name: b8de75eeded79a8312218d7a543e7c7d11181c9f4004e875495608d11a81ff38

10 months agoRemove an ALWAYS() added by [2567298f4b0fdfeb] because dbsqlfuzz found a way
drh [Sat, 1 Feb 2025 23:28:49 +0000 (23:28 +0000)] 
Remove an ALWAYS() added by [2567298f4b0fdfeb] because dbsqlfuzz found a way
to reach it.  The test case was added to TH3.

FossilOrigin-Name: d08a7aa8987458a91fcb861d58289e622ba8722936c7874a284f9f2fd782e269

10 months agoEnable SQLITE_ENABLE_NORMALIZE for several test configurations.
drh [Sat, 1 Feb 2025 21:06:49 +0000 (21:06 +0000)] 
Enable SQLITE_ENABLE_NORMALIZE for several test configurations.

FossilOrigin-Name: b07c64077a3912ef7cdf23e9411df6387f38baa32f5a11fffec5ba4f93935e27

10 months agoFix an issue with sqlite3_normalized_sql() caused by changes needed to
drh [Sat, 1 Feb 2025 20:53:17 +0000 (20:53 +0000)] 
Fix an issue with sqlite3_normalized_sql() caused by changes needed to
support SQLITE_DBCONFIG_ENABLE_COMMENT.

FossilOrigin-Name: 79d287a39443f2d098fcc24199627555a656b34aa5bf5d484f91cb513d83e143

10 months agoJS doc typo fixes. No functional changes.
stephan [Sat, 1 Feb 2025 09:44:48 +0000 (09:44 +0000)] 
JS doc typo fixes. No functional changes.

FossilOrigin-Name: e0d9c74c1cdddb2321131255b94f9cda6530be3f2a06aed4abb54dcda092481e

10 months agoTweaks to [4b4f33d791fe4318] to make it easier to test.
drh [Fri, 31 Jan 2025 20:18:34 +0000 (20:18 +0000)] 
Tweaks to [4b4f33d791fe4318] to make it easier to test.

FossilOrigin-Name: 2567298f4b0fdfeb42aa6bba7e0bec3bc8d0b89bf644a79b41893dd6a6c5774c

10 months agoFix test case numbering in tests recently added to like3.test.
drh [Fri, 31 Jan 2025 18:56:58 +0000 (18:56 +0000)] 
Fix test case numbering in tests recently added to like3.test.

FossilOrigin-Name: 6df2098c548b58c2910837726b666a628d5c712c560c0221a771e8181f71fae7

10 months agoExpose the new SQLITE_DBCONFIG_ENABLE_ATTACH_CREATE/WRITE and SQLITE_DBCONFIG_ENABLE_...
stephan [Fri, 31 Jan 2025 18:45:03 +0000 (18:45 +0000)] 
Expose the new SQLITE_DBCONFIG_ENABLE_ATTACH_CREATE/WRITE and SQLITE_DBCONFIG_ENABLE_COMMENTS (from [325e547a21955]) to JS/WASM.

FossilOrigin-Name: 8da1a9af66f905c683e9c3445d609b5c0e11ac912be192c468ddd79f237837f4

10 months agoRemove an assert() that is not true if a trace-callback is deregistered while there...
dan [Fri, 31 Jan 2025 18:33:37 +0000 (18:33 +0000)] 
Remove an assert() that is not true if a trace-callback is deregistered while there are active statements.

FossilOrigin-Name: 0ecfc4d0ebdb272a69f8f98ddb069c7e0735fb899804027eb16f241d83b3d046

10 months agoFix a problem with LIKE and GLOB processing in utf-16be databases in cases where...
dan [Fri, 31 Jan 2025 14:52:36 +0000 (14:52 +0000)] 
Fix a problem with LIKE and GLOB processing in utf-16be databases in cases where the utf-8 encoding of a character ends with the byte 0xBF.

FossilOrigin-Name: 4b4f33d791fe4318c4597bee7d2f9e486ed223e731982af470f5cc0dbdc600fc

10 months agoIf any errors occur while processing sqlite_dbpage changes, cancel
drh [Fri, 31 Jan 2025 14:52:05 +0000 (14:52 +0000)] 
If any errors occur while processing sqlite_dbpage changes, cancel
pending truncate operations.

FossilOrigin-Name: 6138e0dc4e0e4e19cb048fe0cd969156151fdc427eee21188d2a822642aad043

10 months agoThree new options to sqlite3_db_config(): ATTACH_CREATE, ATTACH_WRITE,
drh [Fri, 31 Jan 2025 13:32:03 +0000 (13:32 +0000)] 
Three new options to sqlite3_db_config():  ATTACH_CREATE, ATTACH_WRITE,
and COMMENTS.

FossilOrigin-Name: 325e547a2195571ece4bb22ca65d67d8c2cb42030618916d37930666cf221917

10 months agoMinor wasm-specific doc touchups.
stephan [Fri, 31 Jan 2025 12:30:37 +0000 (12:30 +0000)] 
Minor wasm-specific doc touchups.

FossilOrigin-Name: 56b618da9073db8b8d5dafa177a3c9e4c4d927bf512e14b0e6d23937f91ce4cf

10 months agoImprovements to the SQLITE_DBCONFIG option documentation. extra-security
drh [Fri, 31 Jan 2025 12:09:36 +0000 (12:09 +0000)] 
Improvements to the SQLITE_DBCONFIG option documentation.

FossilOrigin-Name: 59f0ba10062a6ccfd56061a16af3436b9e1b9d23378bff3302bcf33bb3137cb9

10 months agoCorrect a typo in tool/emcc.sh.in which could cause all of the configure-time work...
stephan [Fri, 31 Jan 2025 11:45:55 +0000 (11:45 +0000)] 
Correct a typo in tool/emcc.sh.in which could cause all of the configure-time work to locate the emcc binary to go unused. Reported in [forum:feb325cdde5b6f37|forum post feb325cdde5b6f37].

FossilOrigin-Name: f66efd5b531210407ee8f30cdf6684a7610479fd8810a609c54469f7424a0644

10 months agoAdd the SQLITE_DBCONFIG_ENABLE_COMMENTS setting (default on) to enable or
drh [Fri, 31 Jan 2025 01:34:19 +0000 (01:34 +0000)] 
Add the SQLITE_DBCONFIG_ENABLE_COMMENTS setting (default on) to enable or
disable the ability to include comments in SQL input text.

FossilOrigin-Name: 393749a2e22d5c8eba36e2106a35909420aa6316652d1ab4f18ef699247b6fba

10 months agoMerge all the latest trunk changes into the extra-security branch.
drh [Fri, 31 Jan 2025 00:54:59 +0000 (00:54 +0000)] 
Merge all the latest trunk changes into the extra-security branch.

FossilOrigin-Name: 86ba57561a8d8c14e401c06b2345a9417053aa3a5f0c84e52460f23f5e6aa8d0

10 months agoThe reuse-subroutine optimization [c9a3498113074bbc] might have generated
drh [Thu, 30 Jan 2025 21:12:58 +0000 (21:12 +0000)] 
The reuse-subroutine optimization [c9a3498113074bbc] might have generated
byte-code that loops forever.  This check-in fixes the problem.

FossilOrigin-Name: 0cc4ed8c6e53aca1f5e94c132bedbc7f561c04a77f1a30b965ffe7560634bfeb

10 months agoRemove an unused parameter from an internal-use subroutine in the TCL interface.
drh [Thu, 30 Jan 2025 16:07:51 +0000 (16:07 +0000)] 
Remove an unused parameter from an internal-use subroutine in the TCL interface.

FossilOrigin-Name: a700692b39e24f5ca9ea6f879d413e20c2ad2b85f62c867407dafe111f13d931

10 months agoImprovements to the TCL interface for Tcl9 as suggested by Jan Nijtmans.
drh [Thu, 30 Jan 2025 16:00:28 +0000 (16:00 +0000)] 
Improvements to the TCL interface for Tcl9 as suggested by Jan Nijtmans.

FossilOrigin-Name: d76c5db866de2732b68401a4c3e39acddc7a99bed965160c1796477c062b478a

10 months agoUpdates to the compile-for-windows.md document.
drh [Thu, 30 Jan 2025 13:54:32 +0000 (13:54 +0000)] 
Updates to the compile-for-windows.md document.

FossilOrigin-Name: bcd22ed686954657ba820d53dec255d33797924f76e57b931016813581e04e06

10 months agoMinor code de-duplication across the top-level auto.def and autoconf/auto.def.
stephan [Thu, 30 Jan 2025 12:19:30 +0000 (12:19 +0000)] 
Minor code de-duplication across the top-level auto.def and autoconf/auto.def.

FossilOrigin-Name: 3c990d77cb83ab371d92c97e0528f790ab6126c60f48ff77e48bd166d7834cf0

10 months agoDisable a test case that (intentionally) does use-after-free, as it does
drh [Thu, 30 Jan 2025 12:01:24 +0000 (12:01 +0000)] 
Disable a test case that (intentionally) does use-after-free, as it does
occasionally cause problems even for non-sanitizer builds.

FossilOrigin-Name: 23c7d5bea351c04785153ddb30e19c1236db9d11054ab8229893531026b53655

10 months agoFix build regression, introduced in [d2fe6b05f38d9d] (3.48.0), in which SQLITE_OMIT...
stephan [Thu, 30 Jan 2025 11:19:16 +0000 (11:19 +0000)] 
Fix build regression, introduced in [d2fe6b05f38d9d] (3.48.0), in which SQLITE_OMIT and SQLITE_ENABLE flags passed to configure via CFLAGS were not propagated to the OPT_FEATURE_FLAGS list. Reported in [forum:9801e54665afd728|forum post 9801e54665afd728].

FossilOrigin-Name: ec71d9dcd582188d7fb4ab945187de1023eaaecffeeb2903a6fcc49650bd21e9

10 months agoFix bug in sessions handling of FK constraints introduced by [e09a0c02] (released...
dan [Wed, 29 Jan 2025 18:53:19 +0000 (18:53 +0000)] 
Fix bug in sessions handling of FK constraints introduced by [e09a0c02] (released in 3.48.0). Bug was preventing a changeset containing FK violations from being applied even when the xConflict(CHANGESET_FOREIGN_KEY) returned OMIT.

FossilOrigin-Name: d7c07581203a0a88456588e49e51b40a8341b0e7121809f75be0ee882d91650f

10 months agoEnhance the if() and iif() SQL functions so that they support any
drh [Tue, 28 Jan 2025 20:32:48 +0000 (20:32 +0000)] 
Enhance the if() and iif() SQL functions so that they support any
number of arguments greater than or equal to two.
Suggested by [forum:/forumpost/40f7867f75f80|forum post 40f7867f75f80].

FossilOrigin-Name: fb76d184ee5afc41009c4023bb68b3ddd42c9235a79ec9695c26f5bbe9a1aa25

10 months agoFix sessions module handling of tables with generated columns.
dan [Tue, 28 Jan 2025 19:03:37 +0000 (19:03 +0000)] 
Fix sessions module handling of tables with generated columns.

FossilOrigin-Name: 437fb316389bc3c24c5cdb4d01edfc81e2c2e9f2b399fc2a95b05d279361d8ec

10 months agoFix a copy/paste typo in the output of vfstrace for xDlClose().
drh [Tue, 28 Jan 2025 18:03:22 +0000 (18:03 +0000)] 
Fix a copy/paste typo in the output of vfstrace for xDlClose().

FossilOrigin-Name: 1d57b57c85bb8cb9b8a1808b771bb91eeb8150efd14f9064a390e533e715bab7

10 months agoSimplifh the IdList object to remove unnecessary fields. Performance
drh [Tue, 28 Jan 2025 12:50:17 +0000 (12:50 +0000)] 
Simplifh the IdList object to remove unnecessary fields.  Performance
increases by about 0.8%.

FossilOrigin-Name: a4625bb995dd5582d1f3cf0c2e54eb3f01f1cc1405811dda86ebd38b2b858994

10 months agoFix typo in speedtest.md.
drh [Tue, 28 Jan 2025 10:56:22 +0000 (10:56 +0000)] 
Fix typo in speedtest.md.

FossilOrigin-Name: 984a9cc22c7c8492bf4fae482749663899b0e33a25c32e6ae5c5e98fc12bb83e

10 months agoApparently I got the logic of [abfe488ed67e2e35] confused, even backwards.
drh [Tue, 28 Jan 2025 01:10:45 +0000 (01:10 +0000)] 
Apparently I got the logic of [abfe488ed67e2e35] confused, even backwards.
Change it so that the SQLITE_USE_W32_FOR_CONSOLE_IO macro causes Win32 APIs
to be used for console I/O and for stdio to be used otherwise.  This is
reported to be necessary for builds that use a C-language runtime other than
the one provided by Microsoft.  This changes if for Windows only.  It is a
bug fix, though we don't have a test case that will demonstrate a malfunction.

FossilOrigin-Name: 925e97e6f4238f02259a0c95b1fc668ae32a95329242f8eeae236ef207aca112

10 months agoRemove an ALWAYS() in the star-query heuristic that is sometimes false if you
drh [Tue, 28 Jan 2025 00:48:01 +0000 (00:48 +0000)] 
Remove an ALWAYS() in the star-query heuristic that is sometimes false if you
have a corrupt database.  dbsqlfuzz c37ba7728d79859b79c8341b59297e88fba017d3.
Test case in TH3.

FossilOrigin-Name: 6b9a339628eb8bfb6dfbee02000a6ac91cc8a9ae16bd990e62c4142b9f912c36

10 months agoUse hashing to accelerate column matching on INSERT statements. Code is
drh [Mon, 27 Jan 2025 21:18:13 +0000 (21:18 +0000)] 
Use hashing to accelerate column matching on INSERT statements.  Code is
smaller and about 1.8% faster overall according to test/speedtest.tcl.

FossilOrigin-Name: 8be956383e0344fb613ec2e56fce7b518f439ae34bf9ddb424de2bd9b31c9889

10 months agoEnhance ./configure to issue an unambiguious error if the pathname to either
drh [Mon, 27 Jan 2025 17:48:51 +0000 (17:48 +0000)] 
Enhance ./configure to issue an unambiguious error if the pathname to either
the source tree or the build directory contains any space characters.

FossilOrigin-Name: 614ae5c74f3b534f50432c875681d7a1e6135be883508939c9c57822cc1e9361