]>
git.ipfire.org Git - thirdparty/sqlite.git/log
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
stephan [Fri, 7 Feb 2025 01:43:05 +0000 (01:43 +0000)]
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
drh [Thu, 6 Feb 2025 17:10:38 +0000 (17:10 +0000)]
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
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
drh [Thu, 6 Feb 2025 11:55:18 +0000 (11:55 +0000)]
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
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
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
drh [Wed, 5 Feb 2025 12:02:43 +0000 (12:02 +0000)]
Attempted improvements to the SQLITE_DBCONFIG_... documentation.
FossilOrigin-Name:
baac853871ad307b67b4d624b9ee47fc1313f1aa62c9f8072fb49e97aa33db94
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
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
drh [Mon, 3 Feb 2025 23:19:42 +0000 (23:19 +0000)]
drh [Mon, 3 Feb 2025 21:24:40 +0000 (21:24 +0000)]
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
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
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
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
drh [Mon, 3 Feb 2025 18:05:54 +0000 (18:05 +0000)]
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
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
drh [Mon, 3 Feb 2025 17:45:41 +0000 (17:45 +0000)]
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
stephan [Mon, 3 Feb 2025 17:21:54 +0000 (17:21 +0000)]
Add a test app to assist in validating the SAHPool digest calculation fix.
FossilOrigin-Name:
a1e304b8020025cc73a658bd8c7697d59b4f3ad96cac0a3e36553a3207d13dc6
stephan [Mon, 3 Feb 2025 16:26:30 +0000 (16:26 +0000)]
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
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
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
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
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
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
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
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
drh [Sun, 2 Feb 2025 16:52:21 +0000 (16:52 +0000)]
Update to the "--help" output from speedtest1.
FossilOrigin-Name:
5216452047eecdd6c0f6ab85b304f975ed05a394a4ad9ae793fb65d645502b12
stephan [Sun, 2 Feb 2025 12:15:25 +0000 (12:15 +0000)]
URL typo fix in code comments. No code changes.
FossilOrigin-Name:
002a123094e4ef14eb5ec28033adca6083ba2717e1eaa23e80595e37a947e6c2
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
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
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
drh [Sat, 1 Feb 2025 21:06:49 +0000 (21:06 +0000)]
Enable SQLITE_ENABLE_NORMALIZE for several test configurations.
FossilOrigin-Name:
b07c64077a3912ef7cdf23e9411df6387f38baa32f5a11fffec5ba4f93935e27
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
stephan [Sat, 1 Feb 2025 09:44:48 +0000 (09:44 +0000)]
drh [Fri, 31 Jan 2025 20:18:34 +0000 (20:18 +0000)]
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
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
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
stephan [Fri, 31 Jan 2025 17:47:47 +0000 (17:47 +0000)]
Minor cleanups in the opfs-sahpool pause/unpause API demo.
FossilOrigin-Name:
e205cdc468e02eefdeb8d391d921aa2d4d28a8b7b87036d6d937a9928261a413
stephan [Fri, 31 Jan 2025 16:34:52 +0000 (16:34 +0000)]
Add the conventional license header to sahpool-worker.js and correct the date on the header in sahpool-pausing.js.
FossilOrigin-Name:
f7c3026b0d2e33cc4e3b906810d860b155b1ff714bbe4e1eb9ee392122217efa
stephan [Fri, 31 Jan 2025 16:25:18 +0000 (16:25 +0000)]
Add a small test app demonstrating cooperative semi-concurrency of the opfs-sahpool VFS using its un/pauseVfs() APIs.
FossilOrigin-Name:
09570c55a23e5af76dd2153a5b28a493f498d7d4a08b0089f3074d0a2c5d3d29
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
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
stephan [Fri, 31 Jan 2025 14:25:38 +0000 (14:25 +0000)]
Cleanups in the opfs-sahpool VFS pause/unpause feature and its tests.
FossilOrigin-Name:
184ba37702f63196deca91d273e798ca895fbb301938e6264bc82815a4e33149
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
stephan [Fri, 31 Jan 2025 12:39:07 +0000 (12:39 +0000)]
stephan [Fri, 31 Jan 2025 12:30:37 +0000 (12:30 +0000)]
drh [Fri, 31 Jan 2025 12:09:36 +0000 (12:09 +0000)]
Improvements to the SQLITE_DBCONFIG option documentation.
FossilOrigin-Name:
59f0ba10062a6ccfd56061a16af3436b9e1b9d23378bff3302bcf33bb3137cb9
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
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
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
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
dan [Thu, 30 Jan 2025 17:04:28 +0000 (17:04 +0000)]
Fix a problem causing the write-lock to be held when it should not be in some circumstances following a SEH exception.
FossilOrigin-Name:
7eb5accb7cf937fc967dcd86da0af813fb18a2697348bd231fbefd3c09b930ab
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
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
dan [Thu, 30 Jan 2025 15:26:16 +0000 (15:26 +0000)]
Have sqlite3_enable_setlk(-1) configure indefinite blocking locks where they are supported.
FossilOrigin-Name:
62009565d2f2a2c4d347e1da0d5b4ad43056742df47fd6ddb92e62f53a2b57f1
drh [Thu, 30 Jan 2025 13:54:32 +0000 (13:54 +0000)]
Updates to the compile-for-windows.md document.
FossilOrigin-Name:
bcd22ed686954657ba820d53dec255d33797924f76e57b931016813581e04e06
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
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
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
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
stephan [Wed, 29 Jan 2025 11:28:18 +0000 (11:28 +0000)]
Simplify how OpfsSAHPoolUtil.unpauseVfs()'s returned promise is handled.
FossilOrigin-Name:
d651b8da5a84cd54d71f15bd34e4db685674ef73f26f5cc26b7af5321a2ec05e
stephan [Wed, 29 Jan 2025 11:08:11 +0000 (11:08 +0000)]
Add experimental support to pause/unpause an SAHPool OPFS VFS, as discussed in [forum:
fe8cdb8431c32455 |forum post
fe8cdb8431c32455 ], the intent being enable a page to relinquish, perhaps temporarily, the VFS such that the VFS's storage can be accessed by another page/tab.
FossilOrigin-Name:
1d2683fe9e4be01c3137e750900f54d287e7d96185e66924d24b50f4647e7ef1
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
dan [Tue, 28 Jan 2025 19:03:37 +0000 (19:03 +0000)]
Fix sessions module handling of tables with generated columns.
FossilOrigin-Name:
437fb316389bc3c24c5cdb4d01edfc81e2c2e9f2b399fc2a95b05d279361d8ec
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
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
drh [Tue, 28 Jan 2025 10:56:22 +0000 (10:56 +0000)]
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
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
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
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
drh [Mon, 27 Jan 2025 14:12:14 +0000 (14:12 +0000)]
Avoid splitting a hyperlink across lines in the documentation comment for
sqlite3_serialize().
FossilOrigin-Name:
74b770bd445d98ff883000ab2e31603d729e415e4e4f640646eef30825634f48
dan [Mon, 27 Jan 2025 11:50:03 +0000 (11:50 +0000)]
Add the sqlite3_setlk_timeout() API. For setting the timeout used by SQLITE_ENABLE_SETLK_TIMEOUT blocking locks without also setting the regular retry-based busy-timeout.
FossilOrigin-Name:
4a7eb492797abb47b18b7dfc557aeae43a0dea5b861efc203398d5059b10d131
drh [Sun, 26 Jan 2025 23:34:49 +0000 (23:34 +0000)]
Make two private routines in FTS "static" so that they are not callable from
outside of SQLite itself.
FossilOrigin-Name:
9b11bed0448b95319206b413c35f23bb80f3f4c0a4394d40f2e64066400a01ed
drh [Sun, 26 Jan 2025 20:09:57 +0000 (20:09 +0000)]
Further comment improvements in the star-query heuristic. Add an ALWAYS()
on an unreachable branch to achieve MC/DC.
FossilOrigin-Name:
5e18ce68fbc5e73e6694936f3ba71f5b5e3758cf380951805ca6ea6a3f0943aa
drh [Sun, 26 Jan 2025 17:29:33 +0000 (17:29 +0000)]
Small size and complexity reduction on the star-query heuristic. Improved
comments for the star-query heuristic.
FossilOrigin-Name:
a7ecb2f4b7eee78b88f1b2e026dffed2007ca4ffeb152632624ab2582839b250
drh [Sat, 25 Jan 2025 23:04:05 +0000 (23:04 +0000)]
Revise the strategy used by the star-query heuristic: Instead of decreasing
the cost of all fact-table WhereLoops, increase the run-cost of WhereLoops that
are SCANs of dimension tables.
FossilOrigin-Name:
1bc09c9e8bd77ac41ecbe510c7e003757fc11d0f586da6cdf3584315aa9d6407
drh [Sat, 25 Jan 2025 14:30:36 +0000 (14:30 +0000)]
Improvments to debug output on the star-query heuristic.
FossilOrigin-Name:
b3ebeb0682a2c837987acf4ed92f06cf91aea235830c5a0f9dd1ce64afe16e84
drh [Sat, 25 Jan 2025 00:07:14 +0000 (00:07 +0000)]
Avoid calling computeMxChoice() after an OOM as some assert()s can fail
in that routine if a prior OOM occurred while building the WhereLoop array.
FossilOrigin-Name:
8b9e621dbf599d7e75e07d75d4c400247d693ea76e00eba0919f4e33e3e10bdd
drh [Fri, 24 Jan 2025 20:59:12 +0000 (20:59 +0000)]
stephan [Fri, 24 Jan 2025 18:37:55 +0000 (18:37 +0000)]
Clarify handling of a NULL for the 2nd argument to sqlite3_serialize(), as pointed out in [forum:
3df7168b90 |forum post
3df7168b90 ].
FossilOrigin-Name:
340edbe5540762656b648c18a359ab7039b4a0af15db199fc86317a415e2bafa
drh [Fri, 24 Jan 2025 16:37:31 +0000 (16:37 +0000)]
Improve the star-query heuristic so that it does a better job of identifying
actual star queries. Also includes improved diagnostic output from the
query planner.
FossilOrigin-Name:
7cfbe14d199bb631abd4d009698eeaee9b8450d5061ded612095ee4738ac6a1f
drh [Fri, 24 Jan 2025 16:27:18 +0000 (16:27 +0000)]
The debugging output for WhereLoop objects now shows cost
estimate changes due to the star-query heuristic.
FossilOrigin-Name:
a280f5f5480e560fc2b80e8947d8062e8b3487d930e71cb60fc9ba90d87977c1
drh [Fri, 24 Jan 2025 15:55:20 +0000 (15:55 +0000)]
Minor tweaks to the star-query detection and processing.
FossilOrigin-Name:
61f76a45ac7aa454419fd7539a3d8e60f0733fb5a2abd034d795328f3c1b6e9b
dan [Fri, 24 Jan 2025 15:49:47 +0000 (15:49 +0000)]
Fix a race condition causing SQLite to use a busy-handler for an operation that should not.
FossilOrigin-Name:
6ab9ed8eef77781898375038ab05fc6e5f46b745e4906691393b8b1d90570eb6
stephan [Fri, 24 Jan 2025 15:41:33 +0000 (15:41 +0000)]
Correct a version number in autosetup/README.md.
FossilOrigin-Name:
c338caf0fd4adc7baacf20f6d4274b1776b9487a5a976b8d85e490791be82b11
drh [Fri, 24 Jan 2025 14:51:15 +0000 (14:51 +0000)]
When looking for star-queries, do not count a table as a dimension table
if that table is separated from the fact table by an OUTER or CROSS join
or if the table is a self-join.
FossilOrigin-Name:
5aebd7df0d577e98b3affd22b84b42dfe84a9f37fa29187505cc245b95460ba4
stephan [Fri, 24 Jan 2025 14:13:20 +0000 (14:13 +0000)]
Update autosetup/README.md to reflect recent refactoring.
FossilOrigin-Name:
601636829b79888deda7d4dc5786f82b4f0b302d84663ee96b4d47fcb429abcf
stephan [Fri, 24 Jan 2025 12:54:59 +0000 (12:54 +0000)]
Replace a handful of hard tabs in string literals with \t in mkwasmbuilds.c.
FossilOrigin-Name:
e8e4d497a7b6aae450cb93927c7583fcce3fe971cd3691f9d9cad605de3cfb1f
stephan [Fri, 24 Jan 2025 09:21:39 +0000 (09:21 +0000)]
stephan [Fri, 24 Jan 2025 09:18:19 +0000 (09:18 +0000)]
Update ext/wasm/README.md to reflect simplifications permitted by the current configure script behavior.
FossilOrigin-Name:
9abb56c6acb1c84c2df8534ca3ebb2894afd68bc7b8331d4d12611896c576749
stephan [Fri, 24 Jan 2025 08:58:54 +0000 (08:58 +0000)]
Remove extraneous are-we-making-clean guards from the generated wasm build rules, as that guard is set at a higher level. Rename a makefile call()able for consistency.
FossilOrigin-Name:
7f9074e2a7ff62bdcf343895e80a51224de62a22afbbf82068ec5fea7eeda0bb