]> git.ipfire.org Git - thirdparty/sqlite.git/log
thirdparty/sqlite.git
10 months agoMerge all of the latest branch-3.46 into the begin-concurrent branch as a begin-concurrent-3.46
drh [Sat, 10 Aug 2024 19:59:31 +0000 (19:59 +0000)] 
Merge all of the latest branch-3.46 into the begin-concurrent branch as a
new sub-branch called begin-concurrent-3.46.

FossilOrigin-Name: 6cc144624da86c6a90fa13f8f9b5af8d0dfb71b86be5126916887d1b2d74c578

10 months agoRevision to check-in d9f726ade6b258f8 so that OOM and other unrelated failures
drh [Sat, 10 Aug 2024 16:29:29 +0000 (16:29 +0000)] 
Revision to check-in d9f726ade6b258f8 so that OOM and other unrelated failures
are not overridden by a syntax error in the tokenizer spec.

FossilOrigin-Name: fc956353d3762d0e655b88f9d0c1a3840b40453a22e97160ccdf60485be56a92

10 months agoFix behavior change in the offset() SQL function introduced by
drh [Sat, 10 Aug 2024 14:56:06 +0000 (14:56 +0000)] 
Fix behavior change in the offset() SQL function introduced by
check-in f0b671183f44d0ae.

FossilOrigin-Name: d6fc6e5f0a68c5b34c0f93e14a38a7e1bc1b72a66f2bcc400c3d7e0f0bab5a92

10 months agoCherrypick ALTER TABLE fixes from trunk so that ALTER TABLE no longer
drh [Sat, 10 Aug 2024 13:45:25 +0000 (13:45 +0000)] 
Cherrypick ALTER TABLE fixes from trunk so that ALTER TABLE no longer
returns SQLITE_INTERNAL instead of SQLITE_ERROR after malformed input.

FossilOrigin-Name: 6decf00f7c56746fac31469ccc098a5be1344b2cafa8011bfcfbc7923e3cd97b

10 months agoCherrypick various minor fixes from trunk into branch-3.46.
drh [Sat, 10 Aug 2024 11:02:23 +0000 (11:02 +0000)] 
Cherrypick various minor fixes from trunk into branch-3.46.

FossilOrigin-Name: 6047b18ee3c4d8f2661386ef68c717f5892651c3d6f7e29a98a6b2795b3382d3

10 months agoEnhancements to covering-index prediction.
drh [Sat, 10 Aug 2024 10:14:47 +0000 (10:14 +0000)] 
Enhancements to covering-index prediction.
Add early detection of over-prediction of covering-indexes so that
sqlite3_prepare() will return an error rather than just generate bad
bytecode.

FossilOrigin-Name: 4afe3201f005bfd1aa66bbeebac659323d8a35dbee04d50fbf77ba96a94db91e

10 months agoRemove unused static var cBadGroup from ext/consio/console_io.c to resolve a compiler...
stephan [Fri, 9 Aug 2024 12:20:15 +0000 (12:20 +0000)] 
Remove unused static var cBadGroup from ext/consio/console_io.c to resolve a compiler warning reported in the fossil forum. This is a build fix, not a functional change.

FossilOrigin-Name: be3de2e600037aa30a8c2cd7d6cfe8f2ba5a9c3e89ac99e87634e2c8c67c1846

10 months agoEnsure sqlite3expert.c unregisters any SQL user-functions it registers with the datab...
dan [Thu, 8 Aug 2024 15:42:46 +0000 (15:42 +0000)] 
Ensure sqlite3expert.c unregisters any SQL user-functions it registers with the database handle before returning.

FossilOrigin-Name: 270831444812d77e2b3db9534753600f9aa5c88cbf29094feeba549e860a714b

10 months agoDo not let the number of terms on a VALUES clause be limited by
drh [Thu, 8 Aug 2024 14:49:54 +0000 (14:49 +0000)] 
Do not let the number of terms on a VALUES clause be limited by
SQLITE_LIMIT_COMPOUND_SELECT, even if the VALUES clause contains elements
that appear to be variables due to the use of double-quoted string literals.

FossilOrigin-Name: 05dbfad70c3eb39f84b91503fc9b4c1cb96843e5e6599584077b1a630936ddc7

10 months agoMove a misplaced va_end, as reported in [forum:702c79e9da|forum post 702c79e9da].
stephan [Thu, 8 Aug 2024 10:55:15 +0000 (10:55 +0000)] 
Move a misplaced va_end, as reported in [forum:702c79e9da|forum post 702c79e9da].

FossilOrigin-Name: 569824c7ff79ed1aadd2a6bce34bfcd8bf4f68db9565f56b803182adad526bc7

10 months agoImproved robustness of parsing of tokenize= arguments in FTS5.
drh [Tue, 6 Aug 2024 22:54:56 +0000 (22:54 +0000)] 
Improved robustness of parsing of tokenize= arguments in FTS5.

FossilOrigin-Name: 7a65ac42c2723b785786cf15f4b267ebfbd4f848f9fc6b37dcf9fac9abd0398c

11 months agoSlight doc touchup for [af41a1e6fc8b36e9bf65]/[c7519d98ff09e] based on feedback....
stephan [Mon, 15 Jul 2024 10:13:02 +0000 (10:13 +0000)] 
Slight doc touchup for [af41a1e6fc8b36e9bf65]/[c7519d98ff09e] based on feedback. No code changes.

FossilOrigin-Name: a61997c315ce70d60f3722a2b3b3d06ba592ce1cafed1639a9d5f162f712ae03

11 months agoWork around a difficult-to-trigger Atomics API message-passing quirk in the OPFS...
stephan [Fri, 12 Jul 2024 13:51:40 +0000 (13:51 +0000)] 
Work around a difficult-to-trigger Atomics API message-passing quirk in the OPFS VFS which appears in rare instances in some browsers when running high I/O loads. This resolves [https://github.com/sqlite/sqlite-wasm/issues/12 | issue #12 of the npm distribution].

FossilOrigin-Name: c7519d98ff09ed96c3c6f2cccf16f8efa19133e12cbb077fc86526f0e81f0470

12 months agoImprove the JS-exception-to-C-result-code conversion to account for the case of a...
stephan [Mon, 17 Jun 2024 13:06:53 +0000 (13:06 +0000)] 
Improve the JS-exception-to-C-result-code conversion to account for the case of a file disappearing while the OPFS VFS is waiting to acquire a lock on it.

FossilOrigin-Name: d34e788044eec3bf90d6d2db5a2ce20b0b8aea926f776d21c2cb58124773e544

12 months agoFix a potential db corruption case triggered by the OPFS VFS's xCheckReservedLock...
stephan [Wed, 12 Jun 2024 21:08:02 +0000 (21:08 +0000)] 
Fix a potential db corruption case triggered by the OPFS VFS's xCheckReservedLock() implementation.

FossilOrigin-Name: a7cd07d96ef420bb1512e6d575bf756809561a536c627900d0eeac879f72e63b

12 months agoDisable the omit-noop-join optimization when there are 64 or more terms in
drh [Sun, 9 Jun 2024 17:58:09 +0000 (17:58 +0000)] 
Disable the omit-noop-join optimization when there are 64 or more terms in
the ORDER BY clause.

FossilOrigin-Name: a7fe90c1581e7e4ffbcb6fb9bcf1db7631cde612ad1d4a33b6b9a22640db5817

13 months agoFix an fts5 problem with secure-delete mode causing integrity-check to erroneously...
drh [Wed, 5 Jun 2024 16:50:34 +0000 (16:50 +0000)] 
Fix an fts5 problem with secure-delete mode causing integrity-check to erroneously report a corrupt index.

FossilOrigin-Name: 0a7fa0a434bb84023bf9075463613857966ca579e18de903c0d9b1561acf42c6

13 months agoFix a possible buffer overwrite in the ".import" command.
drh [Mon, 27 May 2024 11:38:03 +0000 (11:38 +0000)] 
Fix a possible buffer overwrite in the ".import" command.

FossilOrigin-Name: 55eee9f920e5dfdb88be5bb294707e743fa7ffe679fb0ff1e8f04b3a67ee271e

13 months agoEnsure that sqlite3ViewGetColumnNames() returns non-zero on any error.
drh [Sat, 25 May 2024 23:17:49 +0000 (23:17 +0000)] 
Ensure that sqlite3ViewGetColumnNames() returns non-zero on any error.

FossilOrigin-Name: 01ead0a2d98cab8c58216387d76756419e20b827adba809596a2ad67382b9278

13 months agoIncrease the version number to 3.46.1
drh [Thu, 23 May 2024 23:34:45 +0000 (23:34 +0000)] 
Increase the version number to 3.46.1

FossilOrigin-Name: 170e3a91d53ec28ae25e6b0d15ef3af65438f776097a0b8b538f66c37583eeb5

13 months agoFix the window-function group_concat() so that it returns an empty string
drh [Thu, 23 May 2024 23:30:27 +0000 (23:30 +0000)] 
Fix the window-function group_concat() so that it returns an empty string
if it has one or more empty string inputs.

FossilOrigin-Name: 7fe11274fc05a3773846ab1908fcaf4dc6a1b5a95d8b6abad253137aee097379

13 months agoVersion 3.46.0 for the begin-concurrent branch
drh [Thu, 23 May 2024 14:04:16 +0000 (14:04 +0000)] 
Version 3.46.0 for the begin-concurrent branch

FossilOrigin-Name: e3f8c70ef5a7349c0ebcb807b3ec4ad1f228f8afce1122889571fbf7471e68e4

13 months agoVersion 3.46.0 version-3.46.0
drh [Thu, 23 May 2024 13:25:27 +0000 (13:25 +0000)] 
Version 3.46.0

FossilOrigin-Name: 96c92aba00c8375bc32fafcdf12429c58bd8aabfcadab6683e35bbb9cdebf19e

13 months agoEnsure an sqlite_dbdata cursor is properly reset before being used again, even if...
dan [Tue, 21 May 2024 17:37:50 +0000 (17:37 +0000)] 
Ensure an sqlite_dbdata cursor is properly reset before being used again, even if it has already encountered database corruption.

FossilOrigin-Name: 3210e1ca4d0efedf9710c97abd050ba10d3af98cb1f029c26daa84daf42fbc7e

13 months agoMerge the latest trunk enhancements into the begin-concurrent branch.
drh [Tue, 21 May 2024 15:17:13 +0000 (15:17 +0000)] 
Merge the latest trunk enhancements into the begin-concurrent branch.

FossilOrigin-Name: 5c1c8651d122f811dfc3dd08007214c1b38e1229b13b3a8a50a8753ef3767988

13 months agoDo not attempt to run mmapcorrupt.test with builds that do not support mmap().
dan [Tue, 21 May 2024 14:54:46 +0000 (14:54 +0000)] 
Do not attempt to run mmapcorrupt.test with builds that do not support mmap().

FossilOrigin-Name: 54a49f1847f95c377f0f611eb10f635b879bba8c2eb25e65e2f66a56f4f9a505

13 months agoFix harmless compiler warnings.
drh [Tue, 21 May 2024 13:34:26 +0000 (13:34 +0000)] 
Fix harmless compiler warnings.

FossilOrigin-Name: aab59f9f7c1c4cfac4d29d7c7a381583295312baf3b9a75e30a617b1541e12e1

13 months agoFix the -> and ->> operators so that when the RHS is a string that looks like
drh [Tue, 21 May 2024 11:11:29 +0000 (11:11 +0000)] 
Fix the -> and ->> operators so that when the RHS is a string that looks like
a number, it is still treated as a string, because that is what PG does.
[forum:/forumpost/9e52cdfe15c3926e|Forum post 9e52cdfe15c3926e].

FossilOrigin-Name: de8182cf1773ac0d04268d896a613841cf6bf61f9f030342170657d5e06f2acb

13 months agoOmit a capi3 test from 2007 that depends upon undefined behavior (UAF).
drh [Mon, 20 May 2024 19:59:32 +0000 (19:59 +0000)] 
Omit a capi3 test from 2007 that depends upon undefined behavior (UAF).

FossilOrigin-Name: a60a0b75137c015e97b8dcd0070444fcb608f502ce88b2ee744dd6230dbdc120

13 months agoDo not run the tests in recovercorrupt4.test with the inmemory_journal permutation.
dan [Mon, 20 May 2024 19:51:06 +0000 (19:51 +0000)] 
Do not run the tests in recovercorrupt4.test with the inmemory_journal permutation.

FossilOrigin-Name: c13205d66b8406cccfc937c88ac515fa758fe2ade8b3d30f0c1e79fe974e9600

13 months agoImprovements to the documentation of sqlite3_vtab_distinct(). Do not allow
drh [Mon, 20 May 2024 17:52:35 +0000 (17:52 +0000)] 
Improvements to the documentation of sqlite3_vtab_distinct().  Do not allow
sqlite3_vtab_distinct() to return 2 or 3 if the rowid column of the virtual
table is used, as doing so might lead to an incorrect answer.

FossilOrigin-Name: 08058d66d1bde4fcf8324482ee4c6c030c681383470d5076b6f75b74aac2ae29

13 months agoImprovements to the sqlite3_vtab_distinct() documentation. vtab-distinct-fix
drh [Mon, 20 May 2024 16:00:27 +0000 (16:00 +0000)] 
Improvements to the sqlite3_vtab_distinct() documentation.

FossilOrigin-Name: 6ee041d34f292b94701919f51bbb9e12bcb9e0c4f45e4c0b83f30ff328070637

13 months agoFix the definition of sqlite3_vtab_distinct() such that return codes 2 and
drh [Sat, 18 May 2024 20:00:08 +0000 (20:00 +0000)] 
Fix the definition of sqlite3_vtab_distinct() such that return codes 2 and
3 mean that all rows must be distinct over "colUsed" which is a superset of
"aOrderBy".  Also, disallow return codes 2 and 3 if the rowid of the virtual
table is accessed.

FossilOrigin-Name: 922731ce98c0ce7837784ff7966049e59fa73da2aa04abf3506503b6fc4aa048

13 months agoJS error message and doc typos reported in the forum. No code changes.
stephan [Sat, 18 May 2024 15:21:45 +0000 (15:21 +0000)] 
JS error message and doc typos reported in the forum. No code changes.

FossilOrigin-Name: 1a073f9acfb691eebf4a8cc78a72ff47ebbb6aba4acede6755fa3faefae48f2b

13 months agoImprovements to a VDBE comment. No changes to anything that affects queries.
drh [Fri, 17 May 2024 22:51:03 +0000 (22:51 +0000)] 
Improvements to a VDBE comment.  No changes to anything that affects queries.

FossilOrigin-Name: c2188da860a1debd7c5d28b223deeef15035c33c2c5aefae9d9b620b6a2b4677

13 months agoAdd extra tests for the error messages generated by sqlite3_declare_vtab() when passe...
dan [Thu, 16 May 2024 16:22:51 +0000 (16:22 +0000)] 
Add extra tests for the error messages generated by sqlite3_declare_vtab() when passed something other than a well-formed CREATE TABLE statement.

FossilOrigin-Name: 5fa0c2a026f0467af3a76ea80cee8168b7a49553c350f642d1dff02ff9e7aeed

13 months agoThe sqlite3_declare_vtab() interface should return SQLITE_ERROR, not
drh [Thu, 16 May 2024 15:57:42 +0000 (15:57 +0000)] 
The sqlite3_declare_vtab() interface should return SQLITE_ERROR, not
SQLITE_MISUSE when a nonsense SQL input is provided, for legacy compatibility.
[forum:/forumpost/4b875d7b2a|Forum post 4b875d7b2a].

FossilOrigin-Name: 1ec2961a0341619ae88832942b52606b3246fc0de07ca6da0300e4bfc656ecf0

13 months agoFix a case where an error in the ORDER BY clause of an aggregate function that is...
drh [Thu, 16 May 2024 00:20:43 +0000 (00:20 +0000)] 
Fix a case where an error in the ORDER BY clause of an aggregate function that is part of a trigger body might cause an assert() to fail in an ALTER TABLE command.  dbsqlfuzz 899d9255555a07f1fe11a0bb51a2fe197b3150cd

FossilOrigin-Name: 953271f29e7bd6ba9b85f73250b1c22b08eef317f9ac3c7c3d92cbaa57d7efd5

13 months agoBack out the assert() fixes from [a9443dbfbe25e588] and alter-table-fix
drh [Wed, 15 May 2024 23:36:24 +0000 (23:36 +0000)] 
Back out the assert() fixes from [a9443dbfbe25e588] and
[3afaeac56dff58db] (but keep the corresponding test cases) because they
are both made obsolete by the previous fix on this branch.

FossilOrigin-Name: 3120c7c8a3565b8a3ca321129c09db96839c2f9af1777fc7a1668fef81973603

13 months agoFix a case where an error in the ORDER BY clause of an aggregate function that is...
dan [Wed, 15 May 2024 21:38:04 +0000 (21:38 +0000)] 
Fix a case where an error in the ORDER BY clause of an aggregate function that is part of a trigger body might cause an assert() to fail in an ALTER TABLE command.

FossilOrigin-Name: b79a8be37b44c1eff7d00f7af7cd9d0e13614ce5961bb88ddb9ec63f6a846c78

13 months agoIf there is no data available for a field in a corrupted record, but the type is...
dan [Wed, 15 May 2024 15:06:27 +0000 (15:06 +0000)] 
If there is no data available for a field in a corrupted record, but the type is available, have the recovery extension substitute 0, 0.0, '' or X'' instead of a NULL value.

FossilOrigin-Name: 8eb326c24981647e2df90e4b9d75db52a552bd997bd821f5898c7ff3fb93a57d

13 months agoAdd tests to bestindexC.test. No changes to code.
dan [Sat, 11 May 2024 16:44:56 +0000 (16:44 +0000)] 
Add tests to bestindexC.test. No changes to code.

FossilOrigin-Name: 58d938c0e03c3c8d8796c537f89e69734ba6263d60ba37e345259cb6fdffbea5

13 months agoFix aggregate function processing to correctly deal with OOMs inside of
drh [Fri, 10 May 2024 18:24:15 +0000 (18:24 +0000)] 
Fix aggregate function processing to correctly deal with OOMs inside of
sqlite3ParserAddCleanup().
(dbsqlfuzz b2d11ca70e55ee8bde48ae0b53fa3e9355812f95).
Also add improved testing support by causing sqlite3FaultSim(300) to
simulate an OOM inside of sqlite3ParserAddCleanup() and by adding
improved fault-sim support to the CLI.

FossilOrigin-Name: c6fd70b3c23fa00eaac9286d4a67e5c8ac76f926c11c220250c34032647bedc1

13 months agoAdd a test for the fixes on this branch. cleanup-testing
dan [Fri, 10 May 2024 18:15:03 +0000 (18:15 +0000)] 
Add a test for the fixes on this branch.

FossilOrigin-Name: 716088d673b80446ea5f9cb83f6aad8a9ea2ec769d4894e02ab916930e4cf169

13 months agoThe sqlite3FaultSim(300) error from [1e8863909ac369e5] must be treated as
drh [Fri, 10 May 2024 18:10:34 +0000 (18:10 +0000)] 
The sqlite3FaultSim(300) error from [1e8863909ac369e5] must be treated as
an OOM, since it simulates an OOM.  Also fix deferred deletion of Expr objects
from [a53bdd311c4154fd] so that it does not corrupt the AST if an OOM occurs.

FossilOrigin-Name: c623d9a51e0ae6b4a8e1186714d14e7aa3df55246e123323481f07f07749dea5

13 months agoImprovements to the ".testctrl fault_install" command in the CLI.
drh [Fri, 10 May 2024 17:05:24 +0000 (17:05 +0000)] 
Improvements to the ".testctrl fault_install" command in the CLI.

FossilOrigin-Name: 48b34ded82d0cec8a7dd67431f057b320b8c459b1b78c0fbf79bc2b355e85d4e

13 months agoAdd an sqlite3FaultSim(300) call to the sqlite3ParserAddCleanup() routine
drh [Fri, 10 May 2024 16:28:35 +0000 (16:28 +0000)] 
Add an sqlite3FaultSim(300) call to the sqlite3ParserAddCleanup() routine
for more precise simulation of OOM errors in that routine.

FossilOrigin-Name: 1e8863909ac369e5e62e82e53b6e5a7cc6794100cef281ede00b0bb9bbc28594

13 months agoSquelch two OMIT-flag-related warnings reported in [forum:388243d9882067a9|forum...
stephan [Fri, 10 May 2024 09:26:53 +0000 (09:26 +0000)] 
Squelch two OMIT-flag-related warnings reported in [forum:388243d9882067a9|forum post 388243d9882067a9]. No functional changes.

FossilOrigin-Name: 1d6716054d7fc50df237996c3db30e5fb8e32acbf48cb8b9af472360515945c4

13 months agoAdd a maintenance-reminder comment explaining [dc58ed65492857].
stephan [Thu, 9 May 2024 18:39:54 +0000 (18:39 +0000)] 
Add a maintenance-reminder comment explaining [dc58ed65492857].

FossilOrigin-Name: 857f5d7fadce1cfe30b3468826f403f736cfecacb1eb6d3b858b01ea3cfd6ffc

13 months agoReformulate a for-in loop to a for loop in wasm.xWrap() to work around a downstream...
stephan [Thu, 9 May 2024 18:00:14 +0000 (18:00 +0000)] 
Reformulate a for-in loop to a for loop in wasm.xWrap() to work around a downstream framework-level misbehavior, as reported in [forum:b549992634b55104|forum post b549992634b55104].

FossilOrigin-Name: dc58ed654928574ef254af289bd21c654c587aac80aea36ab96772c35d4ca754

13 months agoRename a shadowed local var, as reported in [forum:2ba65af3148585cf|forum post 2ba65a...
stephan [Wed, 8 May 2024 17:57:45 +0000 (17:57 +0000)] 
Rename a shadowed local var, as reported in [forum:2ba65af3148585cf|forum post 2ba65af31]. No functional changes.

FossilOrigin-Name: d030c87c4d410e9ca2b90ec7cb63e752f4490c60e2feac84f233861593142c7d

13 months agoFix a hyperlink typo in session documentation.
drh [Wed, 8 May 2024 11:51:56 +0000 (11:51 +0000)] 
Fix a hyperlink typo in session documentation.

FossilOrigin-Name: 42d67c6fed3a5f21d7b71515aca471ba61d387e620022735a2e7929fa3a237cf

13 months agoFix bug in test script sessionconflict.test.
dan [Tue, 7 May 2024 19:45:05 +0000 (19:45 +0000)] 
Fix bug in test script sessionconflict.test.

FossilOrigin-Name: e29decb8b1991bb586f41fd74bbaa4d6c4bd63e22617145828b2500d697d7869

13 months agoEnsure successive scans of pragma virtual tables return consistent rowids.
dan [Tue, 7 May 2024 17:58:07 +0000 (17:58 +0000)] 
Ensure successive scans of pragma virtual tables return consistent rowids.

FossilOrigin-Name: 6838bf3ac130c5862f5fbc718b3e49ece154fa840b6539af2616cffa31e73808

13 months agoFix a compilation error in test/lemon-test01.y, reported in [forum:f0ad095705|forum...
stephan [Tue, 7 May 2024 13:20:24 +0000 (13:20 +0000)] 
Fix a compilation error in test/lemon-test01.y, reported in [forum:f0ad095705|forum post f0ad095705].

FossilOrigin-Name: 576b68c8b5132eb8901789b7fafb37e5ad7a00c1c7154090b42ddc5934ac0396

13 months agoWhen extracting links from sqlar archives, clobber any existing file or link, and...
dan [Mon, 6 May 2024 20:21:31 +0000 (20:21 +0000)] 
When extracting links from sqlar archives, clobber any existing file or link, and do not call utimes() to set the timestamp - it looks through the link and operates on the target.

FossilOrigin-Name: 2bf8c3f99ad8b74f707d17272fa12b674bec66082d3e8349ebef3dac42ba0782

13 months agoOmit redundant unary + operators from the AST.
drh [Mon, 6 May 2024 20:18:30 +0000 (20:18 +0000)] 
Omit redundant unary + operators from the AST.

FossilOrigin-Name: f81cc149e5e308785502b36e83eaaf3d31c72520793e0596d5496abd70f9cda8

13 months agoAvoid unnecessary recursion in sqlite3ExprDeleteNN(). This complicates the
drh [Mon, 6 May 2024 19:04:46 +0000 (19:04 +0000)] 
Avoid unnecessary recursion in sqlite3ExprDeleteNN().  This complicates the
code, but it is needed to prevent nuisance "stack overflow" reports from
OSSFuzz while it is running the latest ASAN.

FossilOrigin-Name: 70abc144ca90a58ea25dc2d90683545246c084d961215c20ec070b0abe640371

13 months agoAdd new sessions API sqlite3changegroup_add_change().
dan [Mon, 6 May 2024 17:55:19 +0000 (17:55 +0000)] 
Add new sessions API sqlite3changegroup_add_change().

FossilOrigin-Name: 5eaab43ce48bb8d710f784ecd6aa9a4b3e708b44b0f7e49daf66a3f8bc2b9873

13 months agoEdit comments in sqlite3session.h. changegroup-add-change
dan [Mon, 6 May 2024 17:32:26 +0000 (17:32 +0000)] 
Edit comments in sqlite3session.h.

FossilOrigin-Name: 49f84878e21f85d44d8429cdc2908f87383e59737e1af3fdbccf0c276d883567

13 months agoAdd tests for sqlite3changegroup_add_change().
dan [Mon, 6 May 2024 17:21:23 +0000 (17:21 +0000)] 
Add tests for sqlite3changegroup_add_change().

FossilOrigin-Name: 9d67bedc20c3a59e5488f0eaea6a6611940a9cb63f7cf5e687b061cb5d510943

13 months agoFix problem in sqlar_uncompress() when being used to extract symbolic links.
dan [Mon, 6 May 2024 11:27:47 +0000 (11:27 +0000)] 
Fix problem in sqlar_uncompress() when being used to extract symbolic links.

FossilOrigin-Name: 4d90c3f179a3d7355b6b0202faf56f0be4be56986920576e528208cb84daa4af

14 months agoAdd comment to the test/lemon-test01.y file indicating that it does not work
drh [Sun, 5 May 2024 10:00:02 +0000 (10:00 +0000)] 
Add comment to the test/lemon-test01.y file indicating that it does not work
and is for historical reference only.

FossilOrigin-Name: 9bdf73a8d4a3b4a72f2882252f9ed29a6f1a26d3f50c071f27455bcf10458c4b

14 months agoAdd new sessions API sqlite3changegroup_add_change().
dan [Sat, 4 May 2024 21:10:24 +0000 (21:10 +0000)] 
Add new sessions API sqlite3changegroup_add_change().

FossilOrigin-Name: 73647db1ddfdaf40cbf18f1e47c10b4a906489f6d34d7667f0f2ff532f1eb37c

14 months agoAdd test cases to test/in7.test. No code changes.
dan [Sat, 4 May 2024 16:50:47 +0000 (16:50 +0000)] 
Add test cases to test/in7.test. No code changes.

FossilOrigin-Name: 8c3086f9fe502dfc4a1fa610a23794fb037721df29dc5d2126cfb749a9d44a50

14 months agoAssume that an SQL function is able to return a subtype if any of its
drh [Sat, 4 May 2024 15:10:37 +0000 (15:10 +0000)] 
Assume that an SQL function is able to return a subtype if any of its
arguments are SQL functions that are able to return subtypes.  This closes
a corner-case hole in the patch at [ba789a7804ab96d8].

FossilOrigin-Name: b36d499e4cdb41a5d7e44a1c4347a059d7654f85ade9c5c04d18ac95ddc09fde

14 months agoAssume that a function is able to return a subtype if either (1) it is itself func-rw-subtype
drh [Sat, 4 May 2024 15:04:45 +0000 (15:04 +0000)] 
Assume that a function is able to return a subtype if either (1) it is itself
marked with SQLITE_RESULT_SUBTYPE, or (2) one of its arguments is a function
that is able to return a subtype.  This check-in backs out the code changes
from the previous two on this same branch, but keeps the test cases from
the previous two.

FossilOrigin-Name: f16b200f25a0ec59ad765d254d81c3ffdba21f79e6e82807a7b80d00627952e2

14 months agoFunctions that pass through the sqlite3_value of one of their arguments must
drh [Sat, 4 May 2024 11:31:34 +0000 (11:31 +0000)] 
Functions that pass through the sqlite3_value of one of their arguments must
also be marked as SQLITE_RESULT_SUBTYPE, in case one of their arguments has
a subtype.

FossilOrigin-Name: 2f9fba931d9f80b3d5dffb175180098756bccc6a8f665d7aaf8826970ab60d72

14 months agoThe coalesce(), ifnull(), and iif() functions pass through subtype values
drh [Fri, 3 May 2024 19:35:43 +0000 (19:35 +0000)] 
The coalesce(), ifnull(), and iif() functions pass through subtype values
from their arguments, and hence need to have the SQLITE_RESULT_SUBTYPE flag
set.  This fixes an corner-case for the patch at [ba789a7804ab96d8].

FossilOrigin-Name: cdd1610c44876623e629bb8e5779ea689e6d23c545552b088eca63ad2d1cf8da

14 months agoFix a problem with queries that use "IN(...) ORDER BY ... NULLS LAST" or similar...
dan [Thu, 2 May 2024 19:22:23 +0000 (19:22 +0000)] 
Fix a problem with queries that use "IN(...) ORDER BY ... NULLS LAST" or similar introduced by [d7648e21605a0b38].

FossilOrigin-Name: 26b2d9390f1273ee0e3f3c96f6bc5bf0e9c1dcfd0d9ecd993dba487ef5a07f7e

14 months agoAvoid an assert failure accessible only when internal testing features are enabled...
dan [Thu, 2 May 2024 18:16:23 +0000 (18:16 +0000)] 
Avoid an assert failure accessible only when internal testing features are enabled. dbsqlfuzz crash-66abacda6bca6bd531e25595e8c8068e2c710326.txt.

FossilOrigin-Name: fbc446daac761dd1b66a85c9b61e1d5af194a8fd665600c43a874da38cc6ec10

14 months agoFix a case where the recovery extension might write uninitialized data to the recover...
dan [Thu, 2 May 2024 17:46:52 +0000 (17:46 +0000)] 
Fix a case where the recovery extension might write uninitialized data to the recovered database.

FossilOrigin-Name: 8519b4d0393ed17eed06bceffbc891fe8cae0bc1d466a79eba0602ef46b07c56

14 months agoAvoid an OP_Next in cases where an IN(...) query against a UNIQUE index may return...
dan [Thu, 2 May 2024 14:48:58 +0000 (14:48 +0000)] 
Avoid an OP_Next in cases where an IN(...) query against a UNIQUE index may return at most 1 row.

FossilOrigin-Name: d7648e21605a0b381b1935a47e5a77bdfacc4cc96f03d6bb7956f8f4e6a40648

14 months agoFix the CREATE TABLE performance issue described by
drh [Thu, 2 May 2024 12:14:31 +0000 (12:14 +0000)] 
Fix the CREATE TABLE performance issue described by
[forum:/forumpost/4cf69794d9dfff7c|forum thread 4cf69794d9dfff7c] in two
different ways:  (1) Omit the call to PRAGMA integrity_check('X') that was
being done after CREATE TABLE "X" because the result was being ignored and
the integrity_check was not doing anything other than burning CPU cycles.
(2) Do not interpret the argument to PRAGMA integrity_check as a number if it
is in fact a string that looks like a number.

FossilOrigin-Name: 71f08b912251c8a3ac1bd8e344903336648e4187f7493f8c126e60b3b51b9f09

14 months agoAdd a test case to the fix to PRAGMA integrity_check in the previous check-in. faster-create
drh [Thu, 2 May 2024 12:00:36 +0000 (12:00 +0000)] 
Add a test case to the fix to PRAGMA integrity_check in the previous check-in.

FossilOrigin-Name: 39a57b596d309d9e2d4c59409fe5d36e0665781ce0307d157ff8b6e883161bbb

14 months agoDo not accept a string that looks like a number used as an argument to
drh [Thu, 2 May 2024 11:52:31 +0000 (11:52 +0000)] 
Do not accept a string that looks like a number used as an argument to
PRAGMA integrity_check as a number.  Treat it as a table name that just
happens to look like a number.

FossilOrigin-Name: b04e7a23478f1012e501a810f3e09cca81a66e802f5f72cae80c81120174e2cb

14 months agoOmit the OP_SqlExec to "PRAGMA integrity_check" added by [348fa7aaf7958b3f]
drh [Thu, 2 May 2024 11:51:26 +0000 (11:51 +0000)] 
Omit the OP_SqlExec to "PRAGMA integrity_check" added by [348fa7aaf7958b3f]
because it is a no-op.  Even if the integrity_check failes, the CREATE TABLE
is stull successful.  The OP_SqlExec just burns CPU cycles for no reason.

FossilOrigin-Name: 532795acd1c800751737fe70148f9ae691e9cf11b836577f8538421d24cab2fe

14 months agoAvoid an OP_Next in cases where an IN(...) query against a UNIQUE index may return... unique-in-opt
dan [Wed, 1 May 2024 19:48:24 +0000 (19:48 +0000)] 
Avoid an OP_Next in cases where an IN(...) query against a UNIQUE index may return at most 1 row.

FossilOrigin-Name: 560f64157d2fe40e107582eebb6526185c9c43305e364f4132e182dbec5b210a

14 months agoFix another problem in the recovery extension where a corrupt sqlite_schema table...
dan [Wed, 1 May 2024 16:25:46 +0000 (16:25 +0000)] 
Fix another problem in the recovery extension where a corrupt sqlite_schema table could lead to excessive memory consumption.

FossilOrigin-Name: 1c7e33a8aa0e6122b5ef606e4a7d95e8ecd9440216d4b099fe8f2a40653422be

14 months agoFix a problem causing the recovery extension to use excessive memory and CPU time...
dan [Wed, 1 May 2024 14:42:20 +0000 (14:42 +0000)] 
Fix a problem causing the recovery extension to use excessive memory and CPU time in some cases.

FossilOrigin-Name: 8de85170d53e1d2a2abe14508a222377b9493e25f3174b8f0f773427deb8df26

14 months agoAvoid 32-bit overflow when calculating ncycle for ".scanstats vm".
dan [Tue, 30 Apr 2024 19:34:15 +0000 (19:34 +0000)] 
Avoid 32-bit overflow when calculating ncycle for ".scanstats vm".

FossilOrigin-Name: 2858efa06d4fc7b412b892f35f5e9a766b467b4a5b74d602a030d25443f9efb4

14 months agoFix issues in [/info/1e227ad9f413227f|LIMIT/OFFSET support for virtual tables].
drh [Fri, 26 Apr 2024 19:10:15 +0000 (19:10 +0000)] 
Fix issues in [/info/1e227ad9f413227f|LIMIT/OFFSET support for virtual tables].
The first problem was reported by
[forum:/forumpost/c243b8f856|forum post c243b8f856].  That report prompted
an enhancement to the generate_series() (also included in this merge) which
in turn identified other similar issues.

FossilOrigin-Name: 5f6c079d847e3664ec5acaf1b3e989efe0d548c211ae4a18936162b36df89065

14 months agoInternal JS doc touchups. No functional changes.
stephan [Fri, 26 Apr 2024 18:42:50 +0000 (18:42 +0000)] 
Internal JS doc touchups. No functional changes.

FossilOrigin-Name: 626b997b4e727554d7ec8b60fb37b2a94cb861a87325da4ae484bd9aa8961ca5

14 months agoAdditional internal docs in the wasm utilities.
stephan [Fri, 26 Apr 2024 18:24:23 +0000 (18:24 +0000)] 
Additional internal docs in the wasm utilities.

FossilOrigin-Name: 5a2245a9ebae6d23cd343e46b9d730f66ec4d5ffc91b83ed11a0fbd2194ad807

14 months agoAllow virtual table implementations to handle OFFSET but not LIMIT, but not LIMIT... vtab-limit-fix
dan [Fri, 26 Apr 2024 18:13:11 +0000 (18:13 +0000)] 
Allow virtual table implementations to handle OFFSET but not LIMIT, but not LIMIT but not OFFSET.

FossilOrigin-Name: 90e5c8226a695e838e8c1703a9b8598e654d216799e8806c4d1a1f20c28c6486

14 months agoHave where.c ignore any plan from a virtual table that tries to use LIMIT/OFFSET...
dan [Fri, 26 Apr 2024 17:19:59 +0000 (17:19 +0000)] 
Have where.c ignore any plan from a virtual table that tries to use LIMIT/OFFSET without also using all WHERE constraints.

FossilOrigin-Name: 7d30596496c6a7a37b925f13d8d94d5de224ec31bb86594fa4cc07b10082e776

14 months agoFurther fixes and improvements to the generate_series() enhancements on
drh [Fri, 26 Apr 2024 17:09:33 +0000 (17:09 +0000)] 
Further fixes and improvements to the generate_series() enhancements on
this branch.

FossilOrigin-Name: b7d9bd7ee2f4100608063fdf7648f290351465d393bc876a89704f643358853e

14 months agoUse hex flag masks rather than decimals in ext/misc/series.c.
drh [Fri, 26 Apr 2024 14:36:28 +0000 (14:36 +0000)] 
Use hex flag masks rather than decimals in ext/misc/series.c.

FossilOrigin-Name: a94e2cd02873c283d46bf6c21d0306ad454881d7882bb167d043cc79f79a2396

14 months agoFix a problem allowing a LIMIT constraint to be passed to a virtual table in cases...
dan [Fri, 26 Apr 2024 14:32:58 +0000 (14:32 +0000)] 
Fix a problem allowing a LIMIT constraint to be passed to a virtual table in cases where there exist WHERE terms that cannot also be passed.

FossilOrigin-Name: 72c8ed9698dd2aadee7b84fd293e8306233f0fe5b5b5731687482444fdf461c7

14 months agoFix handling of LIMIT and OFFSET in virtual tables that are part of
drh [Fri, 26 Apr 2024 13:38:43 +0000 (13:38 +0000)] 
Fix handling of LIMIT and OFFSET in virtual tables that are part of
a compound SELECT.

FossilOrigin-Name: 40421c1c4ed5bb1ed79ad7ee37cb5a4f0b7864c1eb94abd8ee357ab2202cad30

14 months agoEnhance the generated_series() table-valued-function to respond to
drh [Fri, 26 Apr 2024 13:30:48 +0000 (13:30 +0000)] 
Enhance the generated_series() table-valued-function to respond to
LIMIT and OFFSET.  Use this to add new test cases for LIMIT and OFFSET
on virtual tables in a compound SELECT.

FossilOrigin-Name: 408d47ecaa3b906d0886f76a22b76339ec5878270ffe8d1838c74de09c29a33e

14 months agoAdd test demonstrating the problem at [forum:/forumpost/c243b8f856|forum post c243b8f...
dan [Fri, 26 Apr 2024 12:01:17 +0000 (12:01 +0000)] 
Add test demonstrating the problem at [forum:/forumpost/c243b8f856|forum post c243b8f856]. No fix yet.

FossilOrigin-Name: 1685495c0a00238c9c92cce01af8108204a2fad22433ed3e7bba3c9da9ee0766

14 months agoFix the TreeView display of a LIMIT clause on a compound query. Debugging
drh [Fri, 26 Apr 2024 11:32:50 +0000 (11:32 +0000)] 
Fix the TreeView display of a LIMIT clause on a compound query.  Debugging
code only - not part of production builds.

FossilOrigin-Name: 38f1e5ce4eedd59fbeb0a0d676d26dfe8a3313189ab9b9e4a5a1ed6721b73a14

14 months agoImprovement to the way that affinity is determined for columns of a
drh [Thu, 25 Apr 2024 23:26:11 +0000 (23:26 +0000)] 
Improvement to the way that affinity is determined for columns of a
compound subquery.  The affinity is the affinity of the left-most
arm of the compound subquery that has an affinity other than NONE, adjusted
to accommodate the data types coming out of the other arms.

FossilOrigin-Name: e6df846f36209bac3e420dd80ce2bbbd87ab7a20b8063fce05f78a3c7ab6027e

14 months agoFurther improvements to the computation of affinity for compound subqueries: compound-subquery-affinity
drh [Thu, 25 Apr 2024 17:52:10 +0000 (17:52 +0000)] 
Further improvements to the computation of affinity for compound subqueries:
make sure that the selected affinity is compatible with a literal values in
arms to the left of the arm that is used to determine affinity.

FossilOrigin-Name: bbdf22e3d989f42b963f1f2f219dfeac11db786f17ac27097ab72f72e7638a2a

14 months agoBack out the previous change on this branch. In its place: Determine the
drh [Thu, 25 Apr 2024 16:55:53 +0000 (16:55 +0000)] 
Back out the previous change on this branch.  In its place:  Determine the
affinity of a subquery by the left-most arm of the subquery that has an
affinity other than NONE.  In other words, scan from left to right looking
for an arm of the compound subquery with an affinity of BLOB, TEXT, INTEGER,
or REAL and pick the first one found.  Or stay with NONE if no arm has a
defined affinity.  Test cases added.

FossilOrigin-Name: b8ec8511b1968bbc1472b3e2e21f0fef1d5becebeb31f9d13ee3ca9e13abb1e5

14 months agowasm: add a makefile comment about the static sqlite3.h/c version info injected into...
stephan [Thu, 25 Apr 2024 06:52:19 +0000 (06:52 +0000)] 
wasm: add a makefile comment about the static sqlite3.h/c version info injected into the JS files possibly differing from the runtime-emited version info when a user provides their own sqlite3.c.

FossilOrigin-Name: d99a01a0f6e1f70f70c9a0625aeaa8a8015eba352bcfb3978eafca6df10ba5a8

14 months agoAn experimental minor tweak to the way affinities are computed for compound
drh [Wed, 24 Apr 2024 19:49:52 +0000 (19:49 +0000)] 
An experimental minor tweak to the way affinities are computed for compound
subqueries, when the actual affinity is ambiguous.

FossilOrigin-Name: 779723ad792ca24dd07b7a1425303c76b44bb173e718a33c26c9f7644e9912cb

14 months agoIf a RETURNING clause contains a subquery that references the table that is
drh [Wed, 24 Apr 2024 16:36:37 +0000 (16:36 +0000)] 
If a RETURNING clause contains a subquery that references the table that is
being updated in the statement that includes the RETURNING clause, then mark
the subquery as correlated sot hat it is recomputed for each result and not
just computed once and reused.  See
[forum:/forumpost/2c83569ce8945d39|forum post 2c83569ce8945d39].

FossilOrigin-Name: 9ea6bcc8fdf6aadb756ec5bcaaa7af314167f8973bdd32fd23f83bd964f0c21e

14 months agoFix a case where a corrupt stat4 record could go unrecognized due to integer overflow.
dan [Wed, 24 Apr 2024 14:18:20 +0000 (14:18 +0000)] 
Fix a case where a corrupt stat4 record could go unrecognized due to integer overflow.

FossilOrigin-Name: 240a4a48b27a2b1070bba6d7da76a8df8e3f1808e262045d7ad2cf910df08f3d