]> git.ipfire.org Git - thirdparty/sqlite.git/log
thirdparty/sqlite.git
4 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

4 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

4 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

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

FossilOrigin-Name: bb53beb267ee5f5836020a58f32f1bed8deb587890eef9a6e034dad53f8c3f42

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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