]> git.ipfire.org Git - thirdparty/sqlite.git/log
thirdparty/sqlite.git
9 months agoFix the preupdate hook so that it works when the "old.*" row has a column with a... preupdate-hook-fix
dan [Wed, 18 Sep 2024 15:02:27 +0000 (15:02 +0000)] 
Fix the preupdate hook so that it works when the "old.*" row has a column with a non-NULL default value that was added by ALTER TABLE ADD COLUMN after the current record was created.

FossilOrigin-Name: 00a398cf900179aa5a8aab09fe4a671d99e7a31583282848ef39390f2ef246eb

9 months agoFix harmless static analyzer warning in sqlite3-rsync.
drh [Tue, 17 Sep 2024 22:57:08 +0000 (22:57 +0000)] 
Fix harmless static analyzer warning in sqlite3-rsync.

FossilOrigin-Name: a63e412b6b2939422ecfa99d91fccb7a9c61e1533bb0db20ff12f3815ef41a2c

9 months agoAdd assert() statements to some of the sqlite3_bind() APIs that help human
drh [Tue, 17 Sep 2024 21:42:04 +0000 (21:42 +0000)] 
Add assert() statements to some of the sqlite3_bind() APIs that help human
readers and static analyzers, both, reason about the code and verify that it
is memory safe.

FossilOrigin-Name: 97528788145b83a1486dbaf09326ebedbc07bd0b47a57cdff773885b0b984604

9 months agoIn sqlite3-rsync, do not allow the '/' character to appear anywhere in the
drh [Tue, 17 Sep 2024 10:36:33 +0000 (10:36 +0000)] 
In sqlite3-rsync, do not allow the '/' character to appear anywhere in the
USER@HOST: prefix to one of the argument databases.

FossilOrigin-Name: 6089a90463dcb3ba8e1584cfc5e2528fbc131311c6df7834fb41a5614a8ca9e8

9 months agoFix a typo in an error message in sqlite3-rsync.
drh [Mon, 16 Sep 2024 20:53:52 +0000 (20:53 +0000)] 
Fix a typo in an error message in sqlite3-rsync.

FossilOrigin-Name: 3f25d6c8eac25de4afff486b134a339bc06404ddaed15b46db48c6770535b1e6

9 months agoCleanup the sqlite3-rsync executable as part of "make clean"
drh [Mon, 16 Sep 2024 14:11:14 +0000 (14:11 +0000)] 
Cleanup the sqlite3-rsync executable as part of "make clean"

FossilOrigin-Name: 8c5e481b49d86d97fefa345d0c1b96c050846ef9fc51d8b9dd203ee35afd6f6d

9 months agoIn sqlite3-rsync,
drh [Mon, 16 Sep 2024 10:58:11 +0000 (10:58 +0000)] 
In sqlite3-rsync,
open the replica database using ATTACH since the sqlite3_dbpage virtual table
is technically a part of "main".  This avoids locking problems.

FossilOrigin-Name: 39c56c836a8ae52c5b42cc0d04b92f7c0e6889a03c4fdffd301209383b7c1f87

9 months agoImproved error message in sqlite3-rsync if the SQL statement for ORIGIN_TXN
drh [Mon, 16 Sep 2024 09:12:11 +0000 (09:12 +0000)] 
Improved error message in sqlite3-rsync if the SQL statement for ORIGIN_TXN
fails.

FossilOrigin-Name: 73bde71ed10f52b851e220de35519d5fb7e65a932437ab82a194faff490b7930

9 months agoProvide more opportunity for the remote side in sqlite3-rsync to send error
drh [Sun, 15 Sep 2024 18:37:34 +0000 (18:37 +0000)] 
Provide more opportunity for the remote side in sqlite3-rsync to send error
messages back to the local side.  Be sure to invoke pclose2() when done.

FossilOrigin-Name: 23a63505152ff995e4ce0963dc4ab9f76ed55da7e7f5e1b85a2577473642e3ad

9 months agoMerge subsequent changes to sqlite-rsync that were accidentally missed by
drh [Sat, 14 Sep 2024 16:52:45 +0000 (16:52 +0000)] 
Merge subsequent changes to sqlite-rsync that were accidentally missed by
the prior check-in.

FossilOrigin-Name: 50762ba0783a04e0dcd9456a1ae17d875b0a9272f2f09854a23d9d5253761e9f

9 months agoEnhancements to sqlite_dbpage() so that it accepts INSERT statements that can
drh [Sat, 14 Sep 2024 16:39:02 +0000 (16:39 +0000)] 
Enhancements to sqlite_dbpage() so that it accepts INSERT statements that can
extend or truncate the database.  Add the sqlite3-rsync utility program that
make a copy of a live database over SSH.

FossilOrigin-Name: b7a8ce4c8c5fc6a3b4744d412d96f99d2452eb4086ad84472511da3b4d6afec6

9 months agoCLI arg handling robustness improvements. sqlite3-rsync
stephan [Sat, 14 Sep 2024 16:30:01 +0000 (16:30 +0000)] 
CLI arg handling robustness improvements.

FossilOrigin-Name: 129aca54f6b791c222b51f3eb01569e1e569269860e153b005140eb65af378b9

9 months agoAdd the --version option.
drh [Sat, 14 Sep 2024 16:28:38 +0000 (16:28 +0000)] 
Add the --version option.

FossilOrigin-Name: 9961334c8007e7cb6ae55885075b74acddc4fa701b359cf67e0f3c237d7eba4a

9 months agoNew debugging options: --logfile, --errorfile, --remote-errorfile.
drh [Sat, 14 Sep 2024 16:03:16 +0000 (16:03 +0000)] 
New debugging options:  --logfile, --errorfile, --remote-errorfile.
If page 1 changes, always send it last.

FossilOrigin-Name: 2d8cd76691554578e987ce682cf0c42c083711dd1511a178148978182ef43ba2

9 months agoAlways show the -v traffic message even if there are multiple -v options.
drh [Sat, 14 Sep 2024 11:38:46 +0000 (11:38 +0000)] 
Always show the -v traffic message even if there are multiple -v options.

FossilOrigin-Name: fc05a5b7f77cdbfcc659d49eb09569a64a172362cb90199e2861028085178f10

9 months agoAdd the --logfile FILE option for debugging.
drh [Sat, 14 Sep 2024 11:23:57 +0000 (11:23 +0000)] 
Add the --logfile FILE option for debugging.

FossilOrigin-Name: 30e1b92d5663e24d2f325f2bab35f81b55848ef39d15688e40b9005269626303

9 months agoImproved error messages coming out of sqlite3-rsync.
drh [Sat, 14 Sep 2024 10:59:32 +0000 (10:59 +0000)] 
Improved error messages coming out of sqlite3-rsync.

FossilOrigin-Name: 452fb6de3984c3cb10d30b51dcdb2574578ca128a0c519b2bd43df0bdd343083

9 months agoMake the output from sqlite3-rsync with a single -v option the same as it
drh [Sat, 14 Sep 2024 10:48:05 +0000 (10:48 +0000)] 
Make the output from sqlite3-rsync with a single -v option the same as it
is with regular rsync.  Only show the SSH command with two or more -v options,
or if there is an error in popen2().

FossilOrigin-Name: 105ec44b470318fc9ff1773027c4064343f224068c9b6e71c5618f18f7dfcc3f

9 months agoMerge sqlite_dbpage fixes into the sqlite3-rsync branch.
drh [Fri, 13 Sep 2024 23:41:16 +0000 (23:41 +0000)] 
Merge sqlite_dbpage fixes into the sqlite3-rsync branch.

FossilOrigin-Name: dff76b7a3436031ea5a61b8a44ddfa1d40ea20c983f3d34a8501cd7074db68b8

9 months agoBug fix in the enhanced sqlite_dbpage for when truncating two or more dbpage
drh [Fri, 13 Sep 2024 21:47:57 +0000 (21:47 +0000)] 
Bug fix in the enhanced sqlite_dbpage for when truncating two or more
ATTACH-ed databases within the same transaction.

FossilOrigin-Name: 6aa9c8e79b440c6419e65990d9ceba8f00a6f975455138cf2aa82b113daec825

9 months agoFix harmless compiler warning on Windows.
drh [Fri, 13 Sep 2024 16:12:54 +0000 (16:12 +0000)] 
Fix harmless compiler warning on Windows.

FossilOrigin-Name: 86e0219d977c493ac19d00c3ddcf560eb317d506c7cf6e4ef17e92daa91e1762

9 months agoClose the db as sqlite3_analyzer exits. (See [forum:af384c2315d9718a|forum post,...
larrybr [Fri, 13 Sep 2024 16:10:04 +0000 (16:10 +0000)] 
Close the db as sqlite3_analyzer exits. (See [forum:af384c2315d9718a|forum post, "sqlite3_analyzer not closing WAL-mode db cleanly" ].)

FossilOrigin-Name: 94ceac98845e31249b656dcdb8a58f456b9212dc83968ea333852a66d72a0dae

9 months agoImproved informational output from sqlite3-rsync.
drh [Fri, 13 Sep 2024 13:53:20 +0000 (13:53 +0000)] 
Improved informational output from sqlite3-rsync.

FossilOrigin-Name: e55e3e8ec2fe3a9190872d999cee55c85bde92667040cc166233faaa2fa34266

9 months agoPreveious check-in was actually doing an 8-round KeccakF1600. This one
drh [Fri, 13 Sep 2024 12:35:04 +0000 (12:35 +0000)] 
Preveious check-in was actually doing an 8-round KeccakF1600.  This one
corrects that to just 6 rounds.

FossilOrigin-Name: 3c36f5814f25483586c4fd49ef2fe5c7c0ff8c59672b1622c92061ec0ba8547a

9 months agoChange the hash algorithm from SHA1 to a 6-round KeccakF1600 with a rate
drh [Fri, 13 Sep 2024 12:28:11 +0000 (12:28 +0000)] 
Change the hash algorithm from SHA1 to a 6-round KeccakF1600 with a rate
of 160.  This uses about 1/3rd fewer CPU cycles.

FossilOrigin-Name: 96c7f47a8f59e5078bd296979421c1b57fbcb7be261f8a7a0b1d22a4b5914db0

9 months agoFurther enhancement to PTRMAP display in showdb: Show the details of invalid
drh [Fri, 13 Sep 2024 11:14:10 +0000 (11:14 +0000)] 
Further enhancement to PTRMAP display in showdb:  Show the details of invalid
entries that are within the range of the database file.  Continue to ignore
invalid entries beyond the end of the database file.

FossilOrigin-Name: 4cad385b90eaca2d90e3375e473472145af4134160b81097a8535d06638c2e4a

9 months agoBetter initialization of new database files in sqlite3-rsync.
drh [Thu, 12 Sep 2024 23:30:29 +0000 (23:30 +0000)] 
Better initialization of new database files in sqlite3-rsync.

FossilOrigin-Name: 75d5a8eb3d4ece06900109ad4022ba2a3e82de2f0acb012e3a02bfb4326bfa6d

9 months agoEnhancement to the "showdb" utility such that the "ptrmap" command shows
drh [Thu, 12 Sep 2024 21:58:31 +0000 (21:58 +0000)] 
Enhancement to the "showdb" utility such that the "ptrmap" command shows
PTRMAP entries that extend off the end of the database, as long as they
appear to be well-formatted.

FossilOrigin-Name: a9f95fe5ce90ab9864165e603f3a34013c3c98d03f1db689996f4a32086e2ed6

9 months agoAdd RSYNC_OPT to the sqlite3-rsync build flags.
stephan [Thu, 12 Sep 2024 21:03:11 +0000 (21:03 +0000)] 
Add RSYNC_OPT to the sqlite3-rsync build flags.

FossilOrigin-Name: b2a3497e5525dd33faf70961107a0529f476735fef756953c66e105747271c6d

9 months agoPort some of the shell's CLI flag-handling code into sqlite3-rsync to make the arg...
stephan [Thu, 12 Sep 2024 18:15:28 +0000 (18:15 +0000)] 
Port some of the shell's CLI flag-handling code into sqlite3-rsync to make the arg handling more robust.

FossilOrigin-Name: 53fb9b11807ff7accd8cd41f9cb6516d2503f161ea976940437a1d3aae868665

9 months agoReplica must be in writable_schema mode.
drh [Thu, 12 Sep 2024 17:06:02 +0000 (17:06 +0000)] 
Replica must be in writable_schema mode.

FossilOrigin-Name: e385525793c7d74ce8ee139c9d6cfc1248834754598f3fd45b22b9426ff106ee

9 months agoImproved --commcheck. Add the infoMsg() function which is useful for
drh [Thu, 12 Sep 2024 16:54:34 +0000 (16:54 +0000)] 
Improved --commcheck.  Add the infoMsg() function which is useful for
debugging.

FossilOrigin-Name: b979d02ffd1370d8840328bce06c76c224f0fc1fb54b47d6c904547580a820a1

9 months agoPass the names of both the origin and the replica databases to the remote
drh [Thu, 12 Sep 2024 15:51:56 +0000 (15:51 +0000)] 
Pass the names of both the origin and the replica databases to the remote
side, so that if the remote is the replica, it will have access to the
origin database name in case the replica name is really a directory.

FossilOrigin-Name: 435c30171d3c6073b7aaf5cc11cc4813f6a2d225ae6dce1b0e478f0cd5a0b532

9 months agoAdd a protocol version number to the first message, and give the two sides
drh [Thu, 12 Sep 2024 15:36:34 +0000 (15:36 +0000)] 
Add a protocol version number to the first message, and give the two sides
an opportunity to negotiate a suitable protocol number, for future
compatibility.  Send the page size as a power-of-two.

FossilOrigin-Name: df0623aae1154281157409f62d6d3fb3ce41829281d53bc55868ce44b3d36883

9 months agoAdd sha1() functions to the CLI. Fix sha1b() such that it actually returns
drh [Thu, 12 Sep 2024 14:43:05 +0000 (14:43 +0000)] 
Add sha1() functions to the CLI.  Fix sha1b() such that it actually returns
a BLOB.

FossilOrigin-Name: fe65821a3b912f061026e6fd7174be26897010e6b474e2780350cac60faebaad

9 months agoImproved debugging output.
drh [Thu, 12 Sep 2024 12:04:53 +0000 (12:04 +0000)] 
Improved debugging output.

FossilOrigin-Name: 80461e0d724963aaf2646005298f1194c5f1c4c9ae41c1085d4d137ed485bd9f

9 months agoProgress on the sqlite3-rsync utility. This is an incremental check-in. It
drh [Wed, 11 Sep 2024 17:02:44 +0000 (17:02 +0000)] 
Progress on the sqlite3-rsync utility.  This is an incremental check-in.  It
does compile, but it does not work.

FossilOrigin-Name: fa06977b6db7fa745720561ec0b10570cf7e71598dc7a7c5ee650640e5bdf6f5

9 months agoDisable the debug-use-only functions sqlite3_mutex_held() and
drh [Wed, 11 Sep 2024 12:17:26 +0000 (12:17 +0000)] 
Disable the debug-use-only functions sqlite3_mutex_held() and
sqlite3_mutex_notheld() when compiling with TSAN in as much as those
routines cause TSAN to complain.  Response to
[https://issues.chromium.org/issues/41427446].

FossilOrigin-Name: db702dd78500a0839b0b2810a580d3634df49275470787b170973a86b73826d3

9 months agoImproved SSH infrastructure. The foundation is now in place to begin working
drh [Tue, 10 Sep 2024 22:14:18 +0000 (22:14 +0000)] 
Improved SSH infrastructure.  The foundation is now in place to begin working
on the actual sync protocol.  Still experimental.  Still a work in progress.

FossilOrigin-Name: 9a1a95f523a96303aad57e2422c2b51ea7e125f5490f32f7a2929d49b6c69ef8

9 months agoAlternative implementation of fts5 locale=1 feature that allows blobs to be stored...
dan [Tue, 10 Sep 2024 20:32:36 +0000 (20:32 +0000)] 
Alternative implementation of fts5 locale=1 feature that allows blobs to be stored in indexed columns of fts5 locale=1 tables.

FossilOrigin-Name: 198305de92ebba7045d8ec7d2de98511f3b00924f808a3811f061dca47b01ec7

9 months agoRemove a stray "breakpoint" from a test script. fts5-locale-alternate
dan [Tue, 10 Sep 2024 18:38:47 +0000 (18:38 +0000)] 
Remove a stray "breakpoint" from a test script.

FossilOrigin-Name: 7d87a27a01311153ddee122cedecedc3bcc331618dc2ab1da397a3b257dc21cf

9 months agoInitial infrastructure for the sqlite3-rsync utility. Prototype only.
drh [Tue, 10 Sep 2024 17:05:12 +0000 (17:05 +0000)] 
Initial infrastructure for the sqlite3-rsync utility.  Prototype only.
Does not work.

FossilOrigin-Name: 397b2d37b7a6619b0c1eee201065585d03496f94786b21540f613e4716d56612

9 months agoFix a test in fts3corrupt4.test that would fail if SQLITE_ENABLE_FTS5 was not defined.
dan [Tue, 10 Sep 2024 16:40:08 +0000 (16:40 +0000)] 
Fix a test in fts3corrupt4.test that would fail if SQLITE_ENABLE_FTS5 was not defined.

FossilOrigin-Name: 437849c80851da842b5c4fd37d5c147f821abc541e9b4d6f9000c12983548844

9 months agoAlternative implementation of fts5 locale=1 feature that allows blobs to be stored...
dan [Tue, 10 Sep 2024 16:19:31 +0000 (16:19 +0000)] 
Alternative implementation of fts5 locale=1 feature that allows blobs to be stored in indexed columns of fts5 locale=1 tables.

FossilOrigin-Name: 55c5c119a0a77fac2c9f46d718ef78c0f33ed3520e10c240cf5bf1801e0586ee

9 months agoAdd the ability for sqlite_dbpage to truncate the database file by writing
drh [Tue, 10 Sep 2024 12:09:03 +0000 (12:09 +0000)] 
Add the ability for sqlite_dbpage to truncate the database file by writing
a NULL page.  Experimental.

FossilOrigin-Name: eb3c89ee2e4c5425be75deaf46a06a9cd8b210c695b918dd63a78f930c6e6b63

9 months agoFix an OOM-handling problem affecting locale=1 fts5 tables.
dan [Mon, 9 Sep 2024 19:12:57 +0000 (19:12 +0000)] 
Fix an OOM-handling problem affecting locale=1 fts5 tables.

FossilOrigin-Name: d8103684f660ff9b3186d0f89afb113ca580bd16f0bf413ed8a9434236b54426

9 months agoGeneralize the sqlite3_dbpage virtual table so that it is able to write
drh [Mon, 9 Sep 2024 18:45:58 +0000 (18:45 +0000)] 
Generalize the sqlite3_dbpage virtual table so that it is able to write
new pages onto the end of the database file using INSERT.

FossilOrigin-Name: fe0d67e72d4228661c021f227bfc0d5ddb1b726db0f36c7221ead8dd8bd1dc73

9 months agoMove the vfstrace extension out of src/ and into ext/misc/. Make it a
drh [Mon, 9 Sep 2024 15:39:40 +0000 (15:39 +0000)] 
Move the vfstrace extension out of src/ and into ext/misc/.  Make it a
standard part of the CLI.  Improve its output.  Also fix some unrelated
comment typos.

FossilOrigin-Name: 123cb1f579daec3ed092fe9dd1bc0d3250f2b56d4cda1efa92af139029e112e2

9 months agoFix dependencies in makefiles to include ext/misc/vfstrace.c as necessary. vfstrace
drh [Mon, 9 Sep 2024 15:33:37 +0000 (15:33 +0000)] 
Fix dependencies in makefiles to include ext/misc/vfstrace.c as necessary.
Improved xFileControl() output from vfstrace.c.

FossilOrigin-Name: e8f2d6313075c92fdeebcdfd8b50f43e9d45225890b2ef6b77148a766a42e940

9 months agoFix harmless compiler warnings in the vfstrace.c extension.
drh [Mon, 9 Sep 2024 15:19:26 +0000 (15:19 +0000)] 
Fix harmless compiler warnings in the vfstrace.c extension.

FossilOrigin-Name: f23954e604bf4da45f07194b54a4fe1c83002ab65d6c6f0ac095e88baba18547

9 months agoFix harmless compiler warnings in FTS5.
drh [Mon, 9 Sep 2024 15:12:21 +0000 (15:12 +0000)] 
Fix harmless compiler warnings in FTS5.

FossilOrigin-Name: aa75e701de61fe63ec15c35d70e53e950ff73b0dcb0d871dd8721412f3af297a

9 months agoMove the vfstrace extension out of src/ over into ext/misc/ where it belongs.
drh [Mon, 9 Sep 2024 14:50:23 +0000 (14:50 +0000)] 
Move the vfstrace extension out of src/ over into ext/misc/ where it belongs.
Make it part of the standard build for the CLI.  Bring some of the vfstrace
output up-to-date.

FossilOrigin-Name: 055b97de8d2397987d72dbab1cde78ece2d1c066e95042b4ed6b7b36b2cf9006

9 months agoFix a problem with fts5 locale=1 tables and UPDATE statements that may affect more...
dan [Sat, 7 Sep 2024 16:22:22 +0000 (16:22 +0000)] 
Fix a problem with fts5 locale=1 tables and UPDATE statements that may affect more than one row.

FossilOrigin-Name: 70e42f941c0778a04b82655409c7caf4c1039589f7e43a8ec1e736ea8f931b26

9 months agoFix an off-by-one error in the routines that bind the special $test_TTT and
drh [Sat, 7 Sep 2024 16:04:04 +0000 (16:04 +0000)] 
Fix an off-by-one error in the routines that bind the special $test_TTT and
$int_NNN parameters for fuzz testing.  Fix to testing logic only - no changes
to the SQLite core.

FossilOrigin-Name: 6206b90a4ec3f05e3bbb4844e71569bbde7df237550569e6419ff7c3146505dc

9 months agoAdd tests for an fts5 NEAR() expression with a single argument phrase.
dan [Fri, 6 Sep 2024 20:12:59 +0000 (20:12 +0000)] 
Add tests for an fts5 NEAR() expression with a single argument phrase.

FossilOrigin-Name: e319d43bfd5ee4ed92b93531b239af4d1be0a8215b2a06c3532122ff2c7b6a7c

9 months agoResolve the "No rule to make target '0'" error when building with --disable-tcl.
stephan [Fri, 6 Sep 2024 15:01:00 +0000 (15:01 +0000)] 
Resolve the "No rule to make target '0'" error when building with --disable-tcl.

FossilOrigin-Name: d94541ae76b5d8b69f5524f10dcccc0814283f438a03f553848ed631a1983633

9 months agoFix a harmless stray carriage-return character.
drh [Fri, 6 Sep 2024 14:01:48 +0000 (14:01 +0000)] 
Fix a harmless stray carriage-return character.

FossilOrigin-Name: 84a6c5f975de36ba93b888e01cc5188717b5644ab8384beb8fd8906bdfc8e227

9 months agoIn testrunner.tcl, correctly capture and display information about the
drh [Fri, 6 Sep 2024 13:13:25 +0000 (13:13 +0000)] 
In testrunner.tcl, correctly capture and display information about the
system under test:  hostname, OS, pointer size, byte-order.

FossilOrigin-Name: ec75cfc5d4b69e4aed64d17748cac15cd62a759a1cbe7feaa4580ad8346b0b95

9 months agoFix harmless compiler warnings.
drh [Fri, 6 Sep 2024 11:21:53 +0000 (11:21 +0000)] 
Fix harmless compiler warnings.

FossilOrigin-Name: 60fb8ee153ec293b6b3a4170dafa305e4c16af575aced72daef46116d8dc2bb6

9 months agoA testcase() macro added to help ensure that the fix to the omit-noop-join
drh [Fri, 6 Sep 2024 10:35:36 +0000 (10:35 +0000)] 
A testcase() macro added to help ensure that the fix to the omit-noop-join
optimization from yesterday does not regress.

FossilOrigin-Name: 224628b1039b996499e0d806fc0215f175da6f1059eb1b9ac491ac11126971ab

9 months agoClarification and simplification to the README.md file and to the instructions
drh [Fri, 6 Sep 2024 09:49:13 +0000 (09:49 +0000)] 
Clarification and simplification to the README.md file and to the instructions
for building on Windows.

FossilOrigin-Name: f69ef1a37b2778bdf73ee7e3b3edd74f7344ab8e5eedbedc22203c782e521f5b

9 months agoFix a testrunner status reporting problem introduced by [aa5f10f21dbfb24e].
drh [Thu, 5 Sep 2024 23:40:13 +0000 (23:40 +0000)] 
Fix a testrunner status reporting problem introduced by [aa5f10f21dbfb24e].

FossilOrigin-Name: d20c65c3b4256a662ebf7ed024b7b7adaceca90358f58111dc645da322000794

9 months agoEnsure that the WhereInfo.revMask bitmap is adjusted when tables are removed
drh [Thu, 5 Sep 2024 23:22:55 +0000 (23:22 +0000)] 
Ensure that the WhereInfo.revMask bitmap is adjusted when tables are removed
from the FROM clause by the Omit-Noop-Join optimization of
[0cd82ee9a8413cf1].  Fix for the issue described by
[forum:/forum/8a1e467e905b8d27|format post 8a1e467e905b8d27].

FossilOrigin-Name: 22ca5a2ffb89ccb5f337993b5a95e27c449c39014284156eabc33da012a8759c

10 months agoUpdate notes on build procedures in the README.md file.
drh [Thu, 5 Sep 2024 15:55:04 +0000 (15:55 +0000)] 
Update notes on build procedures in the README.md file.

FossilOrigin-Name: 1d12744fe7cc294994e53e1ffe72799d0321dd5c1ef031213f083e200918fee5

10 months agoTestrunner.tcl enhancements: (1) Attempt to build the SQLite tcl extension
drh [Thu, 5 Sep 2024 15:28:15 +0000 (15:28 +0000)] 
Testrunner.tcl enhancements:  (1) Attempt to build the SQLite tcl extension
if it is not already available.  (2) testrunner target "devtest" is added as
an alias for "mdevtest".  (3) Try to keep summary information at the end of
a test below 80-characters per line.  (4) Update the Makefile.in so that
the "clean" target removes the tcl extension built by item 1 above.

FossilOrigin-Name: aa5f10f21dbfb24ee54ca96bfb7b013ae29e26fec05b80681f19cc63d9face49

10 months agoEnhance testrunner.tcl to keep track of the platform and SQLite version
drh [Thu, 5 Sep 2024 12:06:45 +0000 (12:06 +0000)] 
Enhance testrunner.tcl to keep track of the platform and SQLite version
as reported by individual test cases and to report that information in the
summary at the end of each test run.

FossilOrigin-Name: 80ebb7c7e686cd936ac834f2258f585a7004762593e0bc859ecd75d6fb0badfd

10 months agoFaster implementation of the aggregate_test_counts procedure inside of
drh [Thu, 5 Sep 2024 11:46:43 +0000 (11:46 +0000)] 
Faster implementation of the aggregate_test_counts procedure inside of
testrunner.tcl.

FossilOrigin-Name: a01d869520329fb9e786cdc65f359785a95d19d289e4c6b844c758d6e5385aaf

10 months agoMake the default TCLDIR be C:\Tcl in the Makefile.msc.
drh [Wed, 4 Sep 2024 18:51:59 +0000 (18:51 +0000)] 
Make the default TCLDIR be C:\Tcl in the Makefile.msc.

FossilOrigin-Name: c2c0a9176ae7291a0b72f3d048a2ef5716c325b9f693cdc5eada552e0c881a9d

10 months agoFix a bug in the parsing of some corner-case JSON PATH strings that contain
drh [Wed, 4 Sep 2024 16:01:44 +0000 (16:01 +0000)] 
Fix a bug in the parsing of some corner-case JSON PATH strings that contain
escaped double-quotes.

FossilOrigin-Name: 60ac55c4b76355aaf7cbde38bf1f6082ff5612bf4ffc49ab69d00fd4e3d64e64

10 months agoPut a proper shebang at the start of the testrunner.tcl script and make the
drh [Wed, 4 Sep 2024 13:42:19 +0000 (13:42 +0000)] 
Put a proper shebang at the start of the testrunner.tcl script and make the
script executable.

FossilOrigin-Name: c0c6e9abebf76358625f30a179658319b260baba6eded2a4c5ad356143e36f97

10 months agoMake extra efforts to delete the over-size directory names created by
drh [Wed, 4 Sep 2024 13:09:58 +0000 (13:09 +0000)] 
Make extra efforts to delete the over-size directory names created by
the win32longpath.test module.

FossilOrigin-Name: 3c8035ed3f023fb31f65f298fb9ce19d4fa7a5511bd90877b27969f5f0892472

10 months agoAdd the "joblist" command to testrunner.tcl
drh [Wed, 4 Sep 2024 11:22:47 +0000 (11:22 +0000)] 
Add the "joblist" command to testrunner.tcl

FossilOrigin-Name: f64469f4806d4d5d7103c171a37a542c7aab9db09a226bccd8411e9ccd55353d

10 months agoEnhance the "errors" command in testrunner.tcl so that it accepts the
drh [Tue, 3 Sep 2024 16:04:34 +0000 (16:04 +0000)] 
Enhance the "errors" command in testrunner.tcl so that it accepts the
"-s" or "--summary" argument to see a list of failed jobs, and so that
an additional argument is a GLOB pattern that restricts the output to
jobs whose names match that pattern.

FossilOrigin-Name: dcbebe30f594a99e23b5ccd8d199b92118204a3e52e75c78d98c394601252e81

10 months agoFix ext/consio so that it works correctly with SQLITE_USE_ONLY_WIN32.
drh [Tue, 3 Sep 2024 14:15:57 +0000 (14:15 +0000)] 
Fix ext/consio so that it works correctly with SQLITE_USE_ONLY_WIN32.

FossilOrigin-Name: efc6f3d7e92a25f440fb8d392daf325af5ca7dca104a5bb4bd59f7df93af53b0

10 months agoIn testrunner.tcl, compile the Windows Default configuration using
drh [Tue, 3 Sep 2024 14:00:36 +0000 (14:00 +0000)] 
In testrunner.tcl, compile the Windows Default configuration using
SQLITE_ENABLE_STMT_SCANSTATUS.

FossilOrigin-Name: 49e8b1635f29d9fd0dc2ef6e312fd4129f2283f68e9423d95ff9b55077688ad7

10 months agoFix harmless compiler warnings in the percentile extension.
drh [Tue, 3 Sep 2024 12:41:21 +0000 (12:41 +0000)] 
Fix harmless compiler warnings in the percentile extension.

FossilOrigin-Name: c5557f281c6294b6db6682349d245feac7c6ce7f4f61356f486afdf186c566c4

10 months agoIn testrunner.tcl, allow setting njob to zero, which causes no new jobs
drh [Tue, 3 Sep 2024 10:53:32 +0000 (10:53 +0000)] 
In testrunner.tcl, allow setting njob to zero, which causes no new jobs
to be launched and for the process to shut down once all current jobs are
completed.

FossilOrigin-Name: 0ef65fd4ba17def4c13986365b3af300c4024725af4bc314845d1af8be568ab4

10 months agoCause cfGets() (under SQLITE_USE_ONLY_WIN32) to better emulate fgets().
larrybr [Tue, 3 Sep 2024 02:09:13 +0000 (02:09 +0000)] 
Cause cfGets() (under SQLITE_USE_ONLY_WIN32) to better emulate fgets().

FossilOrigin-Name: 2d783524d1671d988ebb1b21c83de99c9f335963b6c20cf4df612f58c13da913

10 months agoFix possible NULL pointer dereference following OOM in the new error reporting
drh [Mon, 2 Sep 2024 21:59:31 +0000 (21:59 +0000)] 
Fix possible NULL pointer dereference following OOM in the new error reporting
logic of the percentile extension.

FossilOrigin-Name: 7891a266c4425722ae8b9231397ef9e42e2432be9e6b70632dfaf9ff15300d2c

10 months agoFix a technically undefined signed integer overflow in fts5.
dan [Mon, 2 Sep 2024 18:41:59 +0000 (18:41 +0000)] 
Fix a technically undefined signed integer overflow in fts5.

FossilOrigin-Name: e6bec37ea1ca51e1d048941ce4c5211d8fc5c5e3556a1441f9c79b036843f9e3

10 months agoMake the percential extension easier to incorporate as a built-in on Windows
drh [Mon, 2 Sep 2024 17:27:10 +0000 (17:27 +0000)] 
Make the percential extension easier to incorporate as a built-in on Windows
applications.

FossilOrigin-Name: 831e2be4117dc7f5113f66d3e484ca34e4405444ac7b0def12ee9a00608d40da

10 months agoRemove some debug/test code from percentile. Make the extension easier to
drh [Mon, 2 Sep 2024 14:46:56 +0000 (14:46 +0000)] 
Remove some debug/test code from percentile.  Make the extension easier to
statically link.

FossilOrigin-Name: 6e5f146e274b210749dd8923a2da56905eb098b5a66699ff9130e3e51b1ff662

10 months agoEnhance the percentile extension to support percentile_cont() and
drh [Mon, 2 Sep 2024 12:07:37 +0000 (12:07 +0000)] 
Enhance the percentile extension to support percentile_cont() and
percentile_disc().  Add support for ordered-set aggregate notation in
the parser when compiling with SQLITE_ENABLE_ORDERED_SET_AGGREGATES.  A
new function property SQLITE_SELFORDER1 must appear on any aggregate function
that wants to take advantage of the ordered-set aggregate notation.

FossilOrigin-Name: 557bd245ef24af15da1374762bbeb9b8b0241da06e604efdf00d567a9ed09216

10 months agoImproved error messages on percentile functions. More tests cases for ordered-set-agg
drh [Mon, 2 Sep 2024 11:17:04 +0000 (11:17 +0000)] 
Improved error messages on percentile functions.  More tests cases for
percentile and for ordered-set aggregates.

FossilOrigin-Name: e1bca168e70335fa2f9537632fd16e374c566a564fab4974c0b8f61cb63d08ce

10 months agoChange the name of the enabling compile-time macro to
drh [Mon, 2 Sep 2024 09:40:37 +0000 (09:40 +0000)] 
Change the name of the enabling compile-time macro to
SQLITE_ENABLE_ORDERED_SET_AGGREGATES.

FossilOrigin-Name: 3b1cdddf8339cc339ec74cd8be2bfa42e62b500048a444eb9e5d9817bc4702ae

10 months agoMore internal documentation improvements.
drh [Sun, 1 Sep 2024 23:56:14 +0000 (23:56 +0000)] 
More internal documentation improvements.

FossilOrigin-Name: 8b91b74931c36e1955ef933a07d8ec40c8b54c882efe7084d179168867c5244f

10 months agoImproved documentation of recent enhancements to the percentile extension.
drh [Sun, 1 Sep 2024 23:47:20 +0000 (23:47 +0000)] 
Improved documentation of recent enhancements to the percentile extension.

FossilOrigin-Name: 51e7b4c9cf19a5986432a76c5fd30cef715c170a403d7b4304a8c5888c445a91

10 months agoThe WITHIN GROUP (ORDER BY ...) syntax is now a compile-time option:
drh [Sun, 1 Sep 2024 23:27:34 +0000 (23:27 +0000)] 
The WITHIN GROUP (ORDER BY ...) syntax is now a compile-time option:
SQLITE_ENABLE_ORDERED_SET_FUNCS.  There is no increment in the code size
if the option is omitted.

FossilOrigin-Name: c9367e2532d653738af27c4d92810eb648a9e12f72d7223017c87cb0dddc6804

10 months agoImplement percentile_cont() and percentile_disc().
drh [Sun, 1 Sep 2024 20:24:24 +0000 (20:24 +0000)] 
Implement percentile_cont() and percentile_disc().

FossilOrigin-Name: b1a93f67d6b21df6fe3247c9333fead61dd425574f66ea3eb06b80c2b06f616a

10 months agoNo prepare-time penality for ordered-set aggregates for applications that
drh [Sun, 1 Sep 2024 19:19:26 +0000 (19:19 +0000)] 
No prepare-time penality for ordered-set aggregates for applications that
do not use them.

FossilOrigin-Name: e070c16d2183312e416ff6af770346041e4d3836c4db2c9ea6049f63fb0eaa07

10 months agoMerge fixes from trunk into the ordere-set-agg branch.
drh [Sun, 1 Sep 2024 18:57:52 +0000 (18:57 +0000)] 
Merge fixes from trunk into the ordere-set-agg branch.

FossilOrigin-Name: 7528ddcfdf155116353266e00e6408c526e29f04cb00ca2d9e84b105329b17c0

10 months agoImproved sort function in the percentile extension.
drh [Sun, 1 Sep 2024 18:54:31 +0000 (18:54 +0000)] 
Improved sort function in the percentile extension.

FossilOrigin-Name: 9f84e8d59bcda642e732565e840f6a880a01b2fc65af2651248f6a8a6e1cb65a

10 months agoFix to the quicksort algorithm in the percentile extension.
drh [Sun, 1 Sep 2024 10:52:20 +0000 (10:52 +0000)] 
Fix to the quicksort algorithm in the percentile extension.

FossilOrigin-Name: 54313f74b24c46f1afa1ff082ef569fa46938527095be358015e7047e17702ac

10 months agoAdd error checking: Do not allow functions other than those in the
drh [Sat, 31 Aug 2024 22:22:24 +0000 (22:22 +0000)] 
Add error checking: Do not allow functions other than those in the
percentile extension to use the ordered-set aggregate notation.

FossilOrigin-Name: 317d901429303340290334dbe7680a36339df0a50b586e3f71b6c5e5eba6d411

10 months agoDemonstration of how ordered-set aggregates might be parsed and integrated
drh [Sat, 31 Aug 2024 20:09:37 +0000 (20:09 +0000)] 
Demonstration of how ordered-set aggregates might be parsed and integrated
into the existing parse tree, should we decide to support them.

FossilOrigin-Name: ef9777890001ba0122d3add799795e118fd87243f42731ab84d4748b67605647

10 months agoInclude percentile() and merge() in the fuzzcheck test utility.
drh [Sat, 31 Aug 2024 19:24:17 +0000 (19:24 +0000)] 
Include percentile() and merge() in the fuzzcheck test utility.

FossilOrigin-Name: d1d0942a947803d45a1fd9068f3518cf412178b6b9bafcb82db44c52d5820c11

10 months agoOmit the percentile_cont() function added by [095c22e62248f8ef] (and not yet
drh [Sat, 31 Aug 2024 18:35:10 +0000 (18:35 +0000)] 
Omit the percentile_cont() function added by [095c22e62248f8ef] (and not yet
released) since its usage conflicts with the PG percentile_cont() function.

FossilOrigin-Name: 3fe0a852978f3f1218e37a58f0d3b54016d4116a3301aa32efa7c4c12c767755

10 months agoAllow percentile() and median() to act as window functions.
drh [Sat, 31 Aug 2024 18:08:31 +0000 (18:08 +0000)] 
Allow percentile() and median() to act as window functions.

FossilOrigin-Name: 94cf96af8fee55449080655bddf81cbf5c078a02d7bb5dd7e4903b36f83a8c07

10 months agoStill more test cases. percentile-window
drh [Sat, 31 Aug 2024 17:50:06 +0000 (17:50 +0000)] 
Still more test cases.

FossilOrigin-Name: f09904608195dac38172b0dd4dcab3190f33c116d468beff27f913a7433b400e

10 months agoAdd more test cases.
drh [Sat, 31 Aug 2024 17:27:55 +0000 (17:27 +0000)] 
Add more test cases.

FossilOrigin-Name: 0d0e5456793b4bef673ebc7fcc1c393a6d3c817363d948ddfe06d60eab56dc24