]> git.ipfire.org Git - thirdparty/sqlite.git/log
thirdparty/sqlite.git
3 years agoFix the finish_test proc in tester.tcl so that it works for Windows test
drh [Wed, 20 Oct 2021 18:17:31 +0000 (18:17 +0000)] 
Fix the finish_test proc in tester.tcl so that it works for Windows test
builds.  Fix for problem introduced yesterday by check-in [3658417bf300e004].

FossilOrigin-Name: f52b84e69e5fcbe59ccc6163e7e78aa3822f2c354c88f8a76a2d1d4c90a99821

3 years agoEnabled the testcase() macros under SQLITE_DEBUG.
drh [Wed, 20 Oct 2021 17:58:33 +0000 (17:58 +0000)] 
Enabled the testcase() macros under SQLITE_DEBUG.

FossilOrigin-Name: 0ae8dd132db8331ca9cc42ad511066924f9d3a1d158ecdb630cebc41b6bd2493

3 years agoFix a problem with the CARRAY extension when the SQLITE_TRANSIENT destructor
drh [Wed, 20 Oct 2021 13:48:12 +0000 (13:48 +0000)] 
Fix a problem with the CARRAY extension when the SQLITE_TRANSIENT destructor
is used for non-text arrays.
[forum:/forumpost/48e525b266|Forum thread 48e525b266].

FossilOrigin-Name: cac910c15f409c5358843643b2f90252eb90328b9e5ff84cedbccb604d9891af

3 years agoEnsure that valid bytecode is generated for RETURNING clauses even if
drh [Wed, 20 Oct 2021 12:52:12 +0000 (12:52 +0000)] 
Ensure that valid bytecode is generated for RETURNING clauses even if
the schema is corrupt and PRAGMA writable_schema is set so that the
schema parse returns no errors.
dbsqlfuzz cb21825bdcd6fdb4b686ce4f6e2f45e781d2f220

FossilOrigin-Name: 699117156e0b5a7beda606de56bd511af322e3efa4eee6e60f0a8d60561def64

3 years agoFix a case in the fts3 offsets() function where a corrupt database record could lead...
dan [Wed, 20 Oct 2021 11:40:34 +0000 (11:40 +0000)] 
Fix a case in the fts3 offsets() function where a corrupt database record could lead to dereferencing an uninitialized pointer.

FossilOrigin-Name: 7b7d31a6153b1505288eb3e849d0d9ef9e88e961c7b2f918ef5582fd77990f6d

3 years agoImproved cleanup in finish_test so that specifying multiple test modules
drh [Tue, 19 Oct 2021 18:59:10 +0000 (18:59 +0000)] 
Improved cleanup in finish_test so that specifying multiple test modules
on the "./testfixture" command-line is more likely to work.

FossilOrigin-Name: 3658417bf300e004e5166ee69aa2d8c70697b87ea7456cb6337b0ad6d60257d5

3 years agoFix permutations.test so that it can be called with a test file pattern that uses...
dan [Tue, 19 Oct 2021 18:53:30 +0000 (18:53 +0000)] 
Fix permutations.test so that it can be called with a test file pattern that uses square brackets.

FossilOrigin-Name: 55b6241871a3b52d835ebdc52a1ce6c736861cf7a03331391c5d6ffd39720514

3 years agoUpdate test scripts to unregister the test devsim VFS after it is used.
dan [Tue, 19 Oct 2021 18:40:00 +0000 (18:40 +0000)] 
Update test scripts to unregister the test devsim VFS after it is used.

FossilOrigin-Name: bb0e18ae4a49c305dd8b26886a3a4f3c6dad380edca57af835da4ad470ca8eb6

3 years agoRemove an incorrect assert() added 4 days ago by check-in [9e2f06b84f994277].
drh [Sun, 17 Oct 2021 10:31:09 +0000 (10:31 +0000)] 
Remove an incorrect assert() added 4 days ago by check-in [9e2f06b84f994277].
Replace it with a testcase() macro.

FossilOrigin-Name: 03dff7196bb00f8e32f574f65745ceafb33ee3fdd169263121342859c362eca5

3 years agoFix a harmless scan-build warning in FTS5.
drh [Sat, 16 Oct 2021 19:50:03 +0000 (19:50 +0000)] 
Fix a harmless scan-build warning in FTS5.

FossilOrigin-Name: 0bf42bb5611dc3f672cb898b8be245fd25f7a3862c1e0734effd18d75e812f22

3 years agoAdd NEVER() macros on branches that become unreachable due to the
drh [Sat, 16 Oct 2021 18:53:36 +0000 (18:53 +0000)] 
Add NEVER() macros on branches that become unreachable due to the
previous check-in.

FossilOrigin-Name: 5fa272cc033216ed2d3b16078db58accf4d9a3d10e6dd64d362ef844b3e267b6

3 years agoHave the btree layer detect when a "DELETE FROM tbl" statement is clearing a database...
dan [Sat, 16 Oct 2021 17:09:36 +0000 (17:09 +0000)] 
Have the btree layer detect when a "DELETE FROM tbl" statement is clearing a database page that is still in use (due to database corruption) and report SQLITE_CORRUPT.

FossilOrigin-Name: a6fda39e81d0da98dd6b60b32e6df786f0089c1f4ac7f3a2936afd118bd04353

3 years agoFix an assert() in fts5 that could fail with a corrupt database.
dan [Sat, 16 Oct 2021 13:59:08 +0000 (13:59 +0000)] 
Fix an assert() in fts5 that could fail with a corrupt database.

FossilOrigin-Name: e99979855de937ed5ee0994b180054501400bf8776fb70acd31786d2ba1ad49a

3 years agoProtect the WhereTerm.u union using nearby assert()s and/or branches.
drh [Fri, 15 Oct 2021 17:06:16 +0000 (17:06 +0000)] 
Protect the WhereTerm.u union using nearby assert()s and/or branches.

FossilOrigin-Name: 8a56de5b9c6f4522000f8d991373490b67b9e9d97f03c1ca2cf32816d84789ef

3 years agoProtect the JsonNode.u union using nearby assert()s and branches.
drh [Fri, 15 Oct 2021 16:15:04 +0000 (16:15 +0000)] 
Protect the JsonNode.u union using nearby assert()s and branches.

FossilOrigin-Name: 7b8ea2298927fd34f27b3345add3ce751ed728387fe3d9207b601ba6449d5af9

3 years agoFix a signed integer overflow in fts5 leading to a segfault that could occur when...
dan [Thu, 14 Oct 2021 21:13:02 +0000 (21:13 +0000)] 
Fix a signed integer overflow in fts5 leading to a segfault that could occur when processing corrupt records.

FossilOrigin-Name: 69a3ff0cc159cdf84a5367eaf708882ddeda4fa65c96a5b546ae4a0114f02cb7

3 years agoProtect access to the WhereLoop.u union using nearby assert()s and
drh [Thu, 14 Oct 2021 19:28:28 +0000 (19:28 +0000)] 
Protect access to the WhereLoop.u union using nearby assert()s and
branches.

FossilOrigin-Name: bdd840216cc4c5293c112f182a189f7562b3cc0f6270e3c4af5eb2e8bd61ccc9

3 years agoUpdate requirement marks. No changes to code.
drh [Thu, 14 Oct 2021 17:30:32 +0000 (17:30 +0000)] 
Update requirement marks.  No changes to code.

FossilOrigin-Name: 3a6887a543ac348d1a0d4b7f54b13c9dae929c3fa3408c5a44420943ba8c116f

3 years agoNew tests added to test/fuzzdata8.db.
drh [Wed, 13 Oct 2021 20:29:05 +0000 (20:29 +0000)] 
New tests added to test/fuzzdata8.db.

FossilOrigin-Name: e944d71760e3ee3de5dd518a04dad54d66ae4d40dac172b64d16c508471e30a1

3 years agoConvert an assert() into a corruption detection branch in
drh [Wed, 13 Oct 2021 20:11:30 +0000 (20:11 +0000)] 
Convert an assert() into a corruption detection branch in
sqlite3BtreePayload().  dbsqlfuzz 848171b5d58f6e4a62257466e0e7de16696d4f02.

FossilOrigin-Name: f038d7f90e04838479e44ded00f627ec5ad8e1bd477edea8e87e66dd37485f30

3 years agoAttempt to clarify the sqlite3_open_v2() documentation so that people do not
drh [Wed, 13 Oct 2021 15:09:37 +0000 (15:09 +0000)] 
Attempt to clarify the sqlite3_open_v2() documentation so that people do not
come away with the idea that SQLITE_OPEN_EXCLUSIVE is an allowed bit value
for the 3rd argument bitmask.

FossilOrigin-Name: 1310a126deae6974277d281ff78a7c34bd21829dd822a9fd8d6bda23cfba3f15

3 years agoBack out the SQLITE_OPEN_EXCLUSIVE changes because it does not work on
drh [Wed, 13 Oct 2021 14:45:35 +0000 (14:45 +0000)] 
Back out the SQLITE_OPEN_EXCLUSIVE changes because it does not work on
Windows and it does not work always on unix.

FossilOrigin-Name: d008ad793dfb11c287f366377cbc561acedef6c9d08b1557f463484eda41a84e

3 years agoRemove a NEVER() macro in ALTER TABLE due to an
drh [Wed, 13 Oct 2021 14:01:44 +0000 (14:01 +0000)] 
Remove a NEVER() macro in ALTER TABLE due to an
obscure case of a nested CTE inside an UPDATE within a
trigger.  dbsqlfuzz e89174cbfad2d904f06b5e24df0a22510b6a1c1e

FossilOrigin-Name: 9e2f06b84f9942772c30bed2ac71b3296c9adf9661dbf8916d56996253ee8d28

3 years agoThe sqlite3_result_text() routine (and similar) should record OOM errors
drh [Wed, 13 Oct 2021 13:00:34 +0000 (13:00 +0000)] 
The sqlite3_result_text() routine (and similar) should record OOM errors
in addition to SQLITE_TOOBIG errors.
dbsqlfuzz

FossilOrigin-Name: eca434362652fe2edd6090b29417b35bc88a170609810aa9d266f6fc27baeab8

3 years agoFix the group_concat() inverse function implementation so that it correctly
drh [Tue, 12 Oct 2021 22:55:04 +0000 (22:55 +0000)] 
Fix the group_concat() inverse function implementation so that it correctly
handles BLOB inputs when database text encoding is UTF16.

FossilOrigin-Name: 38a1326b4bd11bbe2846990d099c28520d17ab4cace1af67248c2472f89df929

3 years agoFix an incorrect assert() in SQLITE_ENABLE_SORTER_REFERENCES logic - a new
drh [Tue, 12 Oct 2021 18:05:55 +0000 (18:05 +0000)] 
Fix an incorrect assert() in SQLITE_ENABLE_SORTER_REFERENCES logic - a new
assert() introduced 5 days ago by [87e2f5eb436fc448].

FossilOrigin-Name: 7cfc839e5f1f28514cba7d11b0c0eb56d5ea65caacb8893dcf9fcf2d409e2ba5

3 years agoFix a use-after-free in fts3 that could follow an optimize() in the middle of a SELEC...
dan [Tue, 12 Oct 2021 11:30:07 +0000 (11:30 +0000)] 
Fix a use-after-free in fts3 that could follow an optimize() in the middle of a SELECT statement when the hash table is non-empty.

FossilOrigin-Name: 8124b2ceb71447157283b16f9a7fa6e250003b9ddf1c1b45f91db64aed79b5da

3 years agoFix another harmless compiler warning for MSVC.
mistachkin [Tue, 12 Oct 2021 02:26:32 +0000 (02:26 +0000)] 
Fix another harmless compiler warning for MSVC.

FossilOrigin-Name: b54c0db0fd686b85269cf4c301c9b483c5272269d0cd69a1c7141a91101192f0

3 years agoFix harmless compiler warnings in the debug build for MSVC.
mistachkin [Tue, 12 Oct 2021 02:17:39 +0000 (02:17 +0000)] 
Fix harmless compiler warnings in the debug build for MSVC.

FossilOrigin-Name: 1ceb73f316ddc736aebd1e82ef3a0d9c173d025ac5b7fcfbde0a65a0eeb60a4b

3 years agoFail a schema parse if a virtual table or view has a positive integer
drh [Mon, 11 Oct 2021 15:54:05 +0000 (15:54 +0000)] 
Fail a schema parse if a virtual table or view has a positive integer
rootpage.

FossilOrigin-Name: 02656760406add06303afc94eaf9f2be021cbdbc7ac1ca79b139a7d2de9c0dc5

3 years agoUse the IsOrdinaryTable() macro, not a test of tnum, to distinguish tables
drh [Mon, 11 Oct 2021 15:21:42 +0000 (15:21 +0000)] 
Use the IsOrdinaryTable() macro, not a test of tnum, to distinguish tables
from views and virtual tables.

FossilOrigin-Name: 6189b7809d774bf697d14e27a4bd961df5c318d261dce97db7801ce83f12c59a

3 years agoNew test cases added to test/fuzzdata8.db
drh [Mon, 11 Oct 2021 09:48:59 +0000 (09:48 +0000)] 
New test cases added to test/fuzzdata8.db

FossilOrigin-Name: 2e475fecadc6d9e9a0537435827f56a5c7345f69a9b713d7812da4c9a0f27a96

3 years agoFix an over-zealous assert().
drh [Mon, 11 Oct 2021 09:39:42 +0000 (09:39 +0000)] 
Fix an over-zealous assert().

FossilOrigin-Name: e2bb82a4095427eb810903180fa27fb85b52144bdcfe33388352638428d017f5

3 years agoDetect any attempt to use an INDEXED BY clause on a CTE and report an
drh [Sat, 9 Oct 2021 16:00:56 +0000 (16:00 +0000)] 
Detect any attempt to use an INDEXED BY clause on a CTE and report an
error.

FossilOrigin-Name: 35a9de2c97b9a386070e7827a0842bb1caf3af69ea0d6f67ce2a50be3426fb63

3 years agoFurther to the previous check-in, remove the "harmless()" macro definition as
drh [Fri, 8 Oct 2021 18:15:50 +0000 (18:15 +0000)] 
Further to the previous check-in, remove the "harmless()" macro definition as
it is no longer used.

FossilOrigin-Name: b8c9a54664a87ac464b413390572c3feb912e1efc9c8a78c61f1b370e2165c05

3 years agoRemove a "harmless()" macro that is no longer relevant.
drh [Fri, 8 Oct 2021 18:12:37 +0000 (18:12 +0000)] 
Remove a "harmless()" macro that is no longer relevant.

FossilOrigin-Name: 87c357c60168fdc52c82382aa7288d66886f5fbe2ae6af68344dbcfdbca9069b

3 years agoAdd support for "PRAGMA writable_schema=RESET".
drh [Fri, 8 Oct 2021 16:39:33 +0000 (16:39 +0000)] 
Add support for "PRAGMA writable_schema=RESET".

FossilOrigin-Name: a51b305bd068f8d8e85b9fc38d61cdf5957f3a2ad2eb2e77015547910088e681

3 years agoImproved detection of database corruption.
drh [Fri, 8 Oct 2021 16:15:17 +0000 (16:15 +0000)] 
Improved detection of database corruption.

FossilOrigin-Name: c7fae46c8a3bd78adc5a01340eff6c1efa75f9384dc7f42cb81717b029e7c56f

3 years agoMinor improvements to comments in the data structure definitions. No
drh [Fri, 8 Oct 2021 10:25:06 +0000 (10:25 +0000)] 
Minor improvements to comments in the data structure definitions.  No
changes to code.

FossilOrigin-Name: e77ac4050cf6c24118ce2af4c075f60e3eeb2dafe6d222c848bc4e541eef7172

3 years agoNew assert() statements to protect the u1 and u2 unions of SrcList.
drh [Thu, 7 Oct 2021 23:04:50 +0000 (23:04 +0000)] 
New assert() statements to protect the u1 and u2 unions of SrcList.

FossilOrigin-Name: 9b91fbcfcc14048f7d0755d47d9b7f9212fa2eaa6f3c04f417fa16c3a47943bf

3 years agoProtect access to the Expr.y union using nearby assert()s and branches.
drh [Thu, 7 Oct 2021 20:46:29 +0000 (20:46 +0000)] 
Protect access to the Expr.y union using nearby assert()s and branches.

FossilOrigin-Name: 87e2f5eb436fc448427b0e24fb70f29688796b513b8c7b12f1a21540dae1e56d

3 years agoBreak the tcl release tests into smaller units to better take advantage of multi...
dan [Thu, 7 Oct 2021 19:27:17 +0000 (19:27 +0000)] 
Break the tcl release tests into smaller units to better take advantage of multi-processor systems.

FossilOrigin-Name: 03cef1c30d96cd42682f57667bb3072c7643ef43fe05eda2d8b82c30789234af

3 years agoProtect all accesses to the Expr.x union using nearby assert()s and branches.
drh [Thu, 7 Oct 2021 17:43:30 +0000 (17:43 +0000)] 
Protect all accesses to the Expr.x union using nearby assert()s and branches.

FossilOrigin-Name: 8eaa1d4a98b24adf245bbd2fe9212aa6a924a0f09c445906d7f87574f36a7423

3 years agoFix an incorrect assert() on PRAGMA table_xinfo added by the previous check-in.
drh [Thu, 7 Oct 2021 14:19:32 +0000 (14:19 +0000)] 
Fix an incorrect assert() on PRAGMA table_xinfo added by the previous check-in.

FossilOrigin-Name: f85cb287c52baa729aeb223038e979a3b74a1eb3d97bf59c01f5417998204f84

3 years agoProtect all accesses to the FuncDef.u and Expr.u unions using nearby
drh [Thu, 7 Oct 2021 13:40:29 +0000 (13:40 +0000)] 
Protect all accesses to the FuncDef.u and Expr.u unions using nearby
assert()s or branches.

FossilOrigin-Name: 9af863f065e0bef491c2ab7525194505f9516f4e6dfc789d2e3a9d2c2438533a

3 years agoProtect every access to the Table.u union using a nearby assert() or branch.
drh [Thu, 7 Oct 2021 12:11:20 +0000 (12:11 +0000)] 
Protect every access to the Table.u union using a nearby assert() or branch.

FossilOrigin-Name: 50e08338aed7ac0cee600098d2ecd4b3b7bfd31a597bb26773badf3d2e2582c8

3 years agoFix a macro typo introduced by [5da112c02f9e8d0b] that prevented coverage
drh [Wed, 6 Oct 2021 10:36:56 +0000 (10:36 +0000)] 
Fix a macro typo introduced by [5da112c02f9e8d0b] that prevented coverage
tests from working.

FossilOrigin-Name: 566e6974892ebd3d3de8d77b24655257a5efe14434c553e1a25fc680b201b336

3 years agoOnce corner case for the fix at [8b24c177061c3836] was not quite right.
drh [Wed, 6 Oct 2021 10:04:04 +0000 (10:04 +0000)] 
Once corner case for the fix at [8b24c177061c3836] was not quite right.
Caught overnight by both OSSFuzz and dbsqlfuzz and repaired here.

FossilOrigin-Name: 79e90a8225b90593e384eab49a8d1d3c93a3deaf2739dcc30f6c88852df80d04

3 years agoFix a harmless typo in a comment.
drh [Tue, 5 Oct 2021 22:51:26 +0000 (22:51 +0000)] 
Fix a harmless typo in a comment.
[forum:/forumpost/218c116fdf|forum post 218c116fdf].

FossilOrigin-Name: 8ca0c7d826622c9660ecbd9664eba2bac9bb1b850f96f35d6c959d0acde2309b

3 years agoFix harmless compiler warnings, mostly caused by prior efforts to get static
drh [Tue, 5 Oct 2021 18:59:05 +0000 (18:59 +0000)] 
Fix harmless compiler warnings, mostly caused by prior efforts to get static
analyzers to run without warnings.

FossilOrigin-Name: cddd3b382a118bb16be3a602ae711fe2c2a7d1c673dd30dd3977b67ee555e666

3 years agoFix more harmless static-analyzer warnings. As of this check-in, no warnings
drh [Tue, 5 Oct 2021 18:33:38 +0000 (18:33 +0000)] 
Fix more harmless static-analyzer warnings.  As of this check-in, no warnings
are generated by scan-build for clang-6 or clang-10.

FossilOrigin-Name: a7835bead85b1b18a8affd9835240b0baf9c7af887196bbdcc3f5d58055042fc

3 years agoFixes for harmless static-analyzer warnings. This also makes the code easier
drh [Tue, 5 Oct 2021 17:41:12 +0000 (17:41 +0000)] 
Fixes for harmless static-analyzer warnings.  This also makes the code easier
for humans to understand.

FossilOrigin-Name: 36177a62feeb4fa93ab6e3c6f4dbe1ddcf63bb02f93284abab979da0261b218e

3 years agoFix separate compilation of json1.c, which was apparently broken by
drh [Tue, 5 Oct 2021 15:30:52 +0000 (15:30 +0000)] 
Fix separate compilation of json1.c, which was apparently broken by
check-in [32f33f356931242b].

FossilOrigin-Name: 0c7ece6792d30bdb314e2a6e61d0c051c3619a2d749f8b1df7dc2b1f521388bf

3 years agoSmall change to FTS5 to help static analyzers understand that it is not
drh [Tue, 5 Oct 2021 13:00:50 +0000 (13:00 +0000)] 
Small change to FTS5 to help static analyzers understand that it is not
dereferencing a NULL pointer.

FossilOrigin-Name: 0d853df1b19a0270b2cb0ebdf5df8067572f19ab9a82d047cb047f3f9e850348

3 years agoEnsure that geopoly does not invoke sqlite3_result_error_nomem() with a
drh [Tue, 5 Oct 2021 12:34:54 +0000 (12:34 +0000)] 
Ensure that geopoly does not invoke sqlite3_result_error_nomem() with a
NULL pointer.

FossilOrigin-Name: 2483310d15022b47109b44c86e100f5894be7a45a0568dfef6aea80e6c518654

3 years agoSimplifications to the preupdate_hook logic to make it easier to reason about,
drh [Tue, 5 Oct 2021 11:11:43 +0000 (11:11 +0000)] 
Simplifications to the preupdate_hook logic to make it easier to reason about,
and reduce static analyzer warnings.

FossilOrigin-Name: 91e3b98e06feaa5b70caf2266200d20d0ae4e432db147975c9f5959f93df7e7b

3 years agoFix harmless static-analyzer warnings.
drh [Mon, 4 Oct 2021 22:34:38 +0000 (22:34 +0000)] 
Fix harmless static-analyzer warnings.

FossilOrigin-Name: 32f33f356931242b59c01b5df7e180941231e3d9c91577ad33aa4a01e9d59092

3 years agoMerge static-analyzer warning fixes and the new SQLITE_OMIT_AUXILIARY_SAFETY_CHECKS...
drh [Mon, 4 Oct 2021 18:59:02 +0000 (18:59 +0000)] 
Merge static-analyzer warning fixes and the new SQLITE_OMIT_AUXILIARY_SAFETY_CHECKS macro.

FossilOrigin-Name: 5da112c02f9e8d0bcbed8bcf6bab9c227607a802e85c8f70b1ca628d24960dee

3 years agoSome #defines somehow failed to get set correctly in the previous check-in. fix-warnings
drh [Mon, 4 Oct 2021 18:57:42 +0000 (18:57 +0000)] 
Some #defines somehow failed to get set correctly in the previous check-in.
Fixed here.

FossilOrigin-Name: 15bbdf9ac840a220f384411d3025ef22f949d310194b60bca8e6d6a759e6042e

3 years agoFix harmless static analyzer warnings in sessions, rtree, fts3 and fts5.
drh [Mon, 4 Oct 2021 18:21:14 +0000 (18:21 +0000)] 
Fix harmless static analyzer warnings in sessions, rtree, fts3 and fts5.
Add the -DSQLITE_OMIT_AUXILIARY_SAFETY_CHECKS compile-time option to cause
ALWAYS() and NEVER() macros to be omitted from the build.

FossilOrigin-Name: 1c67f957fc77e37ce8f0d447c41ca975e8e79a35d332739c24a633649b5b0387

3 years agoFix harmless static analyzer warnings in auxiliary build tools, mkkeywordhash.c
drh [Mon, 4 Oct 2021 16:14:51 +0000 (16:14 +0000)] 
Fix harmless static analyzer warnings in auxiliary build tools, mkkeywordhash.c
and lemon.c.  No changes to the SQLite core.

FossilOrigin-Name: f2f279b2cc1c8b3b162058c33956be4037cd519715ac0c4290f10c58d2528f0a

3 years agoFix harmless static analyzer warnings.
drh [Mon, 4 Oct 2021 15:08:49 +0000 (15:08 +0000)] 
Fix harmless static analyzer warnings.

FossilOrigin-Name: 1ebcde72e2046dffaa408d2a5a4a5bbf35fdf4b096e0e088dcffd9360effdaa7

3 years agoThe pragma_table_list virtual table should have only one "schema" column.
drh [Mon, 4 Oct 2021 13:30:22 +0000 (13:30 +0000)] 
The pragma_table_list virtual table should have only one "schema" column.

FossilOrigin-Name: 886feffaad6baac37dfaab489c2aecc4abf51a3a5bce1e8a94be7cc1d2a3c30c

3 years agoFix harmless static analyzer warnings.
drh [Mon, 4 Oct 2021 13:18:44 +0000 (13:18 +0000)] 
Fix harmless static analyzer warnings.

FossilOrigin-Name: 6604a085964121113e7b7f57537a0ba64ba058d0eb12bf0a3aeb6d1b7a29d516

3 years agoFix query plans created by whereShortCut() so that they always check
drh [Mon, 4 Oct 2021 11:10:15 +0000 (11:10 +0000)] 
Fix query plans created by whereShortCut() so that they always check
transitive constraints that drive an index.  The is analogous to the
[f1f9b5de3c59489b] check-in, just for whereShortCut() rather than the
full query planner. Fix for the issue described by
[forum:/forumpost/a65cacbf5e1c41ba|forum post a65cacbf5e1c41ba].

FossilOrigin-Name: 8b24c177061c38361588f419eda9b7943b72a0c6b2855b6f39272451b8a1b813

3 years agoIn CLI, ensure correct line-accumulation state whenever line(s) are dumped or process...
larrybr [Sun, 3 Oct 2021 22:03:59 +0000 (22:03 +0000)] 
In CLI, ensure correct line-accumulation state whenever line(s) are dumped or processed. And test this.

FossilOrigin-Name: be211a9c59234ef202e772fcaae18be43c44e1e00674f137cad2d903e00bfcab

3 years agoAdd the sqlite3ResultStrAccum() internal interface to simplify the
drh [Sun, 3 Oct 2021 00:12:43 +0000 (00:12 +0000)] 
Add the sqlite3ResultStrAccum() internal interface to simplify the
the implementation of functions that return strings.

FossilOrigin-Name: e548e9299d3fd6ce5b647cf0dd93ff8e917a5eda43076c6a02389c52640e2e50

3 years agoTry to fix a harmless static-analyzer warning in sqlite3BtreeTransferRow().
drh [Sat, 2 Oct 2021 18:22:24 +0000 (18:22 +0000)] 
Try to fix a harmless static-analyzer warning in sqlite3BtreeTransferRow().

FossilOrigin-Name: 5906a0152deded614d965e790a33c67832890828a4835451d65c06414ba71f8b

3 years agoFix a harmless static-analyzer warning in sqlite3ExprCode().
drh [Sat, 2 Oct 2021 17:46:24 +0000 (17:46 +0000)] 
Fix a harmless static-analyzer warning in sqlite3ExprCode().

FossilOrigin-Name: 918c22e82ae6e366ddd094d337ed73fd23878c51745045519ed700113832545c

3 years agoRemove an unnecessary static buffer from sqlite3VdbeExpandSql().
drh [Sat, 2 Oct 2021 17:34:28 +0000 (17:34 +0000)] 
Remove an unnecessary static buffer from sqlite3VdbeExpandSql().

FossilOrigin-Name: 953a33b7f739bb39f4a0efedcad2236c09fb798da4a519f8e1049aebe3bbf3ff

3 years agoMake the sqlite3_filename_xxxx() interfaces robust against NULL pointer
drh [Sat, 2 Oct 2021 17:12:58 +0000 (17:12 +0000)] 
Make the sqlite3_filename_xxxx() interfaces robust against NULL pointer
arguments, even though the documentation says the behavior is undefined
in that case.

FossilOrigin-Name: dd64c60bab4e2b44419db6882dfcc80b73d733ebe3bea64a7588c33fbc428234

3 years agoFix harmless compiler warnings
drh [Sat, 2 Oct 2021 16:39:16 +0000 (16:39 +0000)] 
Fix harmless compiler warnings

FossilOrigin-Name: bdb9dc8a025b509960d08cdf0ff784dd075c156860548d7908de7d97e030701c

3 years agoFix CLI line processing. (back to start state after meta-command executes)
larrybr [Sat, 2 Oct 2021 15:34:52 +0000 (15:34 +0000)] 
Fix CLI line processing. (back to start state after meta-command executes)

FossilOrigin-Name: 928c2a34986644d34bcb5e8a1b2720f31cf703383f4ce75381faefca6f356d04

3 years agoFix a problem with group_concat() when it is used as a window function with
drh [Fri, 1 Oct 2021 22:48:52 +0000 (22:48 +0000)] 
Fix a problem with group_concat() when it is used as a window function with
a sliding window, as described by
[forum:/forumpost/f3eb24a6c0|forum thread f3eb24a6c0].

FossilOrigin-Name: f47f7f78227830c065d9ce715b8456eab81a38d680f76bf4ff08f298d84f9c7a

3 years agoFix harmless compiler warnings.
drh [Fri, 1 Oct 2021 21:01:07 +0000 (21:01 +0000)] 
Fix harmless compiler warnings.

FossilOrigin-Name: 94b59691ee50a4666b25e36d1529fc52f714bbe94c3e8ccb35bf0a4ea11050db

3 years agoChange things so that SQLITE_OMIT_VIRTUALTABLE implies SQLITE_OMIT_ALTER_TABLE.
dan [Fri, 1 Oct 2021 20:39:50 +0000 (20:39 +0000)] 
Change things so that SQLITE_OMIT_VIRTUALTABLE implies SQLITE_OMIT_ALTER_TABLE.

FossilOrigin-Name: 2f7c946c5f25a858167f5193ca06e53310394c8cff15426ab8a1327a1ec835fd

3 years agoFix a potential write outside of array bounds in the --hexdb decoder of the
drh [Fri, 1 Oct 2021 17:06:44 +0000 (17:06 +0000)] 
Fix a potential write outside of array bounds in the --hexdb decoder of the
CLI when given corrupt input.

FossilOrigin-Name: c7fdd775bb5efd22a486510a32a2f278c4d5cda95acd3085a0f0dfc2ef749d6f

3 years agoFix a buffer overread in fts5 that could occur when processing an "ORDER BY rowid...
dan [Fri, 1 Oct 2021 15:05:19 +0000 (15:05 +0000)] 
Fix a buffer overread in fts5 that could occur when processing an "ORDER BY rowid DESC" query against corrupt database records.

FossilOrigin-Name: fe098a93340b8dac15752f1be4f681e2a591f7ae1a94b177f400ccd7ef638480

3 years agoRemove unreachable branches in the fixed group_concat() code. group_concat-fix-legacy
drh [Fri, 1 Oct 2021 02:45:48 +0000 (02:45 +0000)] 
Remove unreachable branches in the fixed group_concat() code.

FossilOrigin-Name: 8bd721c29e7a28cd75885dd80235e4e37aa0847229f769f49e01127f794fa63a

3 years agoMerge updates from trunk
drh [Fri, 1 Oct 2021 02:16:52 +0000 (02:16 +0000)] 
Merge updates from trunk

FossilOrigin-Name: 35351371c5e9602dec210ad0926ff8a1a269556ce1a166e81eb0543938e0c57e

3 years agoFixes to the version of "varsep" group_concat so that (1) it builds under
drh [Fri, 1 Oct 2021 00:25:06 +0000 (00:25 +0000)] 
Fixes to the version of "varsep" group_concat so that (1) it builds under
separate compilation and (2) omits tabs in source code and (3) runs faster
than trunk.  This variant of the group_concat_varsep branch might be preferred
over the tip because it preserves (undocumented) legacy behavior about the
position of separators relative to terms.

FossilOrigin-Name: 04399cf9645e04b171090ff8a3c27752929c10d2cd8778e26f8f3337aa902ab6

3 years agoFix a problem with view handling in SQLITE_OMIT_VIRTUAL_TABLE builds.
dan [Thu, 30 Sep 2021 18:42:52 +0000 (18:42 +0000)] 
Fix a problem with view handling in SQLITE_OMIT_VIRTUAL_TABLE builds.

FossilOrigin-Name: 6e791a24ce259ff6cc46a7c2188aea094a5021e154368f57019a0653c8a81217

3 years agoFix rtreedoc.test so that it works with SQLITE_DEFAULT_AUTOVACUUM=1 builds.
dan [Thu, 30 Sep 2021 17:39:21 +0000 (17:39 +0000)] 
Fix rtreedoc.test so that it works with SQLITE_DEFAULT_AUTOVACUUM=1 builds.

FossilOrigin-Name: a300adc21151fb70ab8573477fd89a10300ee678f068fe123f22ada2f1f876d2

3 years agoUpdate a test case in rtreedoc.test to account for the fact that release builds gener...
dan [Thu, 30 Sep 2021 10:47:10 +0000 (10:47 +0000)] 
Update a test case in rtreedoc.test to account for the fact that release builds generate fewer VM instructions than debug builds.

FossilOrigin-Name: 7d16b302826fec3606dbc6e20df0d2182f6946a2ed4076d2412d1df30c552ecb

3 years agoAdd NEVER() macros on branches that are not reachable since [a0df216f7c3f8963].
drh [Wed, 29 Sep 2021 20:17:19 +0000 (20:17 +0000)] 
Add NEVER() macros on branches that are not reachable since [a0df216f7c3f8963].

FossilOrigin-Name: 5d771f3554f3c98872cd0c9f12f415e685f26fcb923e3fb7f1a7a760c7a53255

3 years agoFix a typo in altertab3.test.
dan [Wed, 29 Sep 2021 19:18:53 +0000 (19:18 +0000)] 
Fix a typo in altertab3.test.

FossilOrigin-Name: 18d38b13104a9c3367ec205bfa17fbdc3d792ba68a369b1c6f046096ef6cc581

3 years agoHave the dbstat module arrange things internally so that there are 256 addressable...
dan [Wed, 29 Sep 2021 19:15:25 +0000 (19:15 +0000)] 
Have the dbstat module arrange things internally so that there are 256 addressable bytes following each page buffer. This way, small buffer overreads caused by corrupt database pages do not lead to undefined behaviour.

FossilOrigin-Name: c4c705abc60624bf9ba4c1c05286b902b965f7ba9fd776c4ef8bc1fb78a4ccde

3 years agoFix another problem with ALTER TABLE and vector UPDATE statements within triggers.
dan [Wed, 29 Sep 2021 18:33:26 +0000 (18:33 +0000)] 
Fix another problem with ALTER TABLE and vector UPDATE statements within triggers.

FossilOrigin-Name: a0df216f7c3f8963efba0b1ffee65d6a63309d846ffdcf2d2932cb4f1d4967b7

3 years agoAdd new test file rtreedoc3.test.
dan [Wed, 29 Sep 2021 16:38:02 +0000 (16:38 +0000)] 
Add new test file rtreedoc3.test.

FossilOrigin-Name: 54604869861cc5866d5de87785599ca56f75067f8cb7fe22e32912b3a037e37b

3 years agoSync w/trunk
larrybr [Wed, 29 Sep 2021 16:35:14 +0000 (16:35 +0000)] 
Sync w/trunk

FossilOrigin-Name: a4c18b2f0ce4a0f4d0c4f4c25dc69fbed4cb4876d2b69e3e5e0e756410892d74

3 years agoAdd extra tests for the group_concat() fix on this branch.
dan [Wed, 29 Sep 2021 14:14:16 +0000 (14:14 +0000)] 
Add extra tests for the group_concat() fix on this branch.

FossilOrigin-Name: 3d148615f9d9c6a3d63d8eb015f3d70f453a66de49b28e665831254387c700b9

3 years agoImproved testability of changes from check-in [255b0eeed113d83b].
drh [Wed, 29 Sep 2021 14:01:44 +0000 (14:01 +0000)] 
Improved testability of changes from check-in [255b0eeed113d83b].

FossilOrigin-Name: bbfd083c26086fb103fec88faa59a01e689e0b7fce38c09d8846bb472a0e6760

3 years agoFix an out-of-bounds read in fts5 that could occur when processing corrupt records.
dan [Wed, 29 Sep 2021 13:36:58 +0000 (13:36 +0000)] 
Fix an out-of-bounds read in fts5 that could occur when processing corrupt records.

FossilOrigin-Name: 9bbc01fb239b4aa752a56c584baa29655a3c845425d5c17d24a3939984d54fe2

3 years agoGet group_concat() to handle varying separator lengths when windowing
larrybr [Wed, 29 Sep 2021 00:32:13 +0000 (00:32 +0000)] 
Get group_concat() to handle varying separator lengths when windowing

FossilOrigin-Name: 98e0f2bf67cdee1da1edadeb54ff8564728b3f28fc821e46e8de201247c3fc87

3 years agoFix a potential ALTER TABLE problem with expressions like ( (<sub-select>) IN () ).
dan [Tue, 28 Sep 2021 10:44:54 +0000 (10:44 +0000)] 
Fix a potential ALTER TABLE problem with expressions like ( (<sub-select>) IN () ).

FossilOrigin-Name: df0d7e36dbf98ab5405d8366ce92fb85176d4388b47a57b0ca1aa1ba6ae5212e

3 years agoHave the dbstat virtual table take a copy of each page buffer that it traverses inste...
dan [Mon, 27 Sep 2021 17:11:20 +0000 (17:11 +0000)] 
Have the dbstat virtual table take a copy of each page buffer that it traverses instead of just a reference to the page-cache object. This avoids problems if an error causes transaction rollback while a dbstat cursor is open. dbsqlfuzz crash-417224040fee04f0f0e62b70265c518893b08769.

FossilOrigin-Name: 6ab25f8bd52d6412a9600143de364f6d8ad8e2c835315fafca6f54d5f38a49dc

3 years agoFix a problem in ALTER TABLE causing table or column references in sub-selects ton...
dan [Mon, 27 Sep 2021 15:44:03 +0000 (15:44 +0000)] 
Fix a problem in ALTER TABLE causing table or column references in sub-selects ton the RHS of a vector SET clause in an UPDATE within a trigger (i.e. "SET (a,b) = ( (SELECT...), <expr> )").

FossilOrigin-Name: 255b0eeed113d83b474efc5bc8fc790a270bc43ee598df4b2c378e1ad2d729b7

3 years agoLoad recent dbsqlfuzz cases into test/fuzzdata8.db.
drh [Sat, 25 Sep 2021 20:28:39 +0000 (20:28 +0000)] 
Load recent dbsqlfuzz cases into test/fuzzdata8.db.

FossilOrigin-Name: 7a8fcf6d2c8e3c8f10ff515c8c00c761d15a28eef8e0e31e09e22feb06c9443b

3 years agoFix a memory leak in rtree triggered by corrupt database records. dbsqlfuzz 397ad036a...
dan [Sat, 25 Sep 2021 20:19:16 +0000 (20:19 +0000)] 
Fix a memory leak in rtree triggered by corrupt database records. dbsqlfuzz 397ad036a9013d7318da30ef84947d2baaaa6d6c.

FossilOrigin-Name: 706322c2b5bb31e14c1120a94520b21fa623ff119e3890170e36b37d8bde721a

3 years agoFix a bad interaction between the pager cache and the dbstat module that could lead...
dan [Sat, 25 Sep 2021 18:21:01 +0000 (18:21 +0000)] 
Fix a bad interaction between the pager cache and the dbstat module that could lead to a malfunction following an OOM. dbsqlfuzz 9ed3e4e3816219d3509d711636c38542bf3f40b1.

FossilOrigin-Name: e03554a6a8c33d820922edccf605a2ce92055315bf22e464207ea8c0d81e3dd6