]>
git.ipfire.org Git - thirdparty/sqlite.git/log
drh [Fri, 5 Nov 2021 22:23:17 +0000 (22:23 +0000)]
New test cases for rbu_exclusive_checkpoint query parameter.
FossilOrigin-Name:
00285ff10c771066876896b28cd5185ec3792166b00702326954ef6678f19da8
dan [Fri, 5 Nov 2021 19:04:01 +0000 (19:04 +0000)]
If the target database URI passed to sqlite3rbu_open() is contains the option "rbu_exclusive_checkpoint=1", hold an exclusive lock for the duration of any incremental checkpoint operation.
FossilOrigin-Name:
7cb77296a22a87e7ed4c3544792f0204f704f01f384590c32c256bec4517c9bc
dan [Fri, 5 Nov 2021 14:13:12 +0000 (14:13 +0000)]
Update sqllimits1.test to account for recent changes to SQL function strftime().
FossilOrigin-Name:
7bba415f91884a20f665e982376c2c5e91a4431e218c8eefe275be3684f2e59a
drh [Fri, 5 Nov 2021 12:34:06 +0000 (12:34 +0000)]
Use the FTS_CORRUPT_VTAB macro rather than a direct call to
sqlite3Fts3Corrupt() in [
2fad2a89527757b3 ] so that the build works
in all cases.
FossilOrigin-Name:
029c59cdf9e7dbb431f5d110bc69c3597458edc9b6b009b2e91422de705a19fa
drh [Fri, 5 Nov 2021 11:52:33 +0000 (11:52 +0000)]
Remove an incorrect NEVER() reported at
[forum:/forumpost/
5bbabfb7ce |forum post
5bbabfb7ce ]. Also use this
opportunity to improve the isSimpleCount() function with better formatting,
an expanded header comment, and some extra assert() and textcase() macros.
FossilOrigin-Name:
2927185be81a5aa0dce70dd06040d05c2816a4d18b5094a6f709732cfd6968dc
dan [Fri, 5 Nov 2021 11:26:00 +0000 (11:26 +0000)]
Fix vacuum3.test so that it works with SQLITE_OMIT_ALTERTABLE builds.
FossilOrigin-Name:
07cca2fa891e9a60ea128a4b96ee407e9dd0f2b9e31fcffbfc2ac594a0e1ffe6
dan [Fri, 5 Nov 2021 11:18:31 +0000 (11:18 +0000)]
Update a test case in sqllimits1.test to account for the updated implementation of SQL function strftime().
FossilOrigin-Name:
f474ac370accc5c780e7cb3e11c35f2b6104df929d3394a27db00c6b995e71b3
dan [Fri, 5 Nov 2021 10:43:14 +0000 (10:43 +0000)]
Fix a couple of problems with test scripts and SQLITE_OMIT_ALTERTABLE builds.
FossilOrigin-Name:
3ab5414d337536acad5675a3f1ca10e1ca925f0e7182def604b8b7a8fb53bf5a
dan [Thu, 4 Nov 2021 18:04:55 +0000 (18:04 +0000)]
Fix a crash that could occur in fts3 when processing a corrupt database.
FossilOrigin-Name:
2fad2a89527757b3956538a6bf91ebebe9c483f22f94e889e8b50c58f5100c5c
dan [Thu, 4 Nov 2021 16:25:47 +0000 (16:25 +0000)]
Fix corruptN.test so that it works with SQLITE_DEFAULT_AUTOVACUUM=1 builds.
FossilOrigin-Name:
f60e05bdbabe0449e5a12275b254ca9da39a2a5fdbff078ce28007a23044749e
dan [Thu, 4 Nov 2021 16:15:46 +0000 (16:15 +0000)]
Update a test case in corruptN.test to account for the fact that if writable_schema=1 is set, no error is raised if a DELETE statement finds that an index entry is missing ([
19e56291a7344c7a ]).
FossilOrigin-Name:
a90c5f0b5ba1ef0f41449cee10a65beb8b55b09fd1976e0e35814b1848979416
dan [Thu, 4 Nov 2021 16:03:24 +0000 (16:03 +0000)]
Have wapptest.tcl avoid attempting to build fuzztest for SQLITE_OMIT_VIRTUALTABLE configurations.
FossilOrigin-Name:
53ee208d4ee8db1499a63b6652a8c5269e8fe85a75376adffdb912094ac1a681
drh [Thu, 4 Nov 2021 15:17:42 +0000 (15:17 +0000)]
Fix typo in the sqlite3ext.h file.
[forum:/forumpost/
63802db4ce |forum post
63802db4ce ]
FossilOrigin-Name:
d4a48ee0c28def416f75eb7840ba6462389e3f97e0dc02287bf1a726c8642f04
drh [Thu, 4 Nov 2021 14:04:20 +0000 (14:04 +0000)]
Show the preferred schema table names in the output of "PRAGMA table_list".
FossilOrigin-Name:
9147390d9885a37a62edc1058f313434627f1b59965c890877d2cb119e355c78
drh [Thu, 4 Nov 2021 11:34:04 +0000 (11:34 +0000)]
Change a branch made unreachable by the previous check-in into an assert().
FossilOrigin-Name:
685a987c9afd1c30629c36f1ffb5e349eb2e26182837523036b916c6f81632c4
drh [Thu, 4 Nov 2021 00:51:53 +0000 (00:51 +0000)]
First the shadow table mechanism so that it works even if the shadow table
comes before the virtual table in the sqlite_schema table, as can happen
after a VACUUM.
FossilOrigin-Name:
005a8642773556825fe4c5d0b2c12517d35289308a30df0151ef7f080acb0172
drh [Wed, 3 Nov 2021 16:35:23 +0000 (16:35 +0000)]
Remove two incorrect assert() statements added by a check-in from earlier
today.
FossilOrigin-Name:
3206edff947b9edb485466f05b2baadf725d798229630c7e83e88c0b9ae278ca
drh [Wed, 3 Nov 2021 15:59:17 +0000 (15:59 +0000)]
Improved the error message that results when a schema parse fails after
ALTER TABLE ADD COLUMN.
FossilOrigin-Name:
b007a39dd3a46d13fe06f2a1eeb4e3fd4cad1a77892be6d175b31db1edd6f6a8
drh [Wed, 3 Nov 2021 14:02:48 +0000 (14:02 +0000)]
Fix INSERT into STRICT table with STATIC generated columns.
FossilOrigin-Name:
24285d913678853213532d61aba077d576e3cd7629159e0a75dc3c16e54e2662
drh [Wed, 3 Nov 2021 12:50:28 +0000 (12:50 +0000)]
drh [Wed, 3 Nov 2021 11:43:09 +0000 (11:43 +0000)]
Fix an issue in PRAGMA integrity_check associated reporting NULL values in
a NOT NULL column of type ANY in a STRICT table.
FossilOrigin-Name:
5dff1f66731ae35daf9633f8bb3ea942a7c29f4240e57bd2023ee7fc116e7c92
drh [Tue, 2 Nov 2021 22:24:19 +0000 (22:24 +0000)]
Correctly handle SeekScan on an IN operator of the middle term of an index
when the right-most term is a range constraint.
Fix for ticket [
5981a8c041a3c2f3 ].
FossilOrigin-Name:
aa24660e76681d164b1948621d3dbd0f620c72c6bca636d35a9eed73ab7593fa
drh [Tue, 2 Nov 2021 20:52:20 +0000 (20:52 +0000)]
Proposed fix for a problem associated with OP_SeekScan that results in an
incorrect answer. See ticket [
5981a8c041a3c2f3 ].
FossilOrigin-Name:
266e9cbada531716c908c21d60a6038109722e3dd040237679ac0240fb5020ea
drh [Tue, 2 Nov 2021 17:55:01 +0000 (17:55 +0000)]
Ensure that ALTER TABLE RENAME recognizes OOM errors while parsing
dependent triggers and handles them appropriately.
dbsqlfuzz
53e245eee15d3f19639d773048aa955c30708785 .
FossilOrigin-Name:
1d9004cd015073853ce0ca811a68ea5411733eedee993b97a38a42ba139d7590
dan [Tue, 2 Nov 2021 14:01:41 +0000 (14:01 +0000)]
Fix a minor memory leak in the shell tool. Omit running fuzztest as part of the Device-One release test configuration, as it is now incompatible with SQLITE_OMIT_VIRTUALTABLE.
FossilOrigin-Name:
4d70f27b7b5681cfdf1c44ac654e565ccff089e74d3edf6660578e04e4b0c9b9
drh [Tue, 2 Nov 2021 11:24:37 +0000 (11:24 +0000)]
Add the --remove and --glob options to the .archive command in the CLI.
FossilOrigin-Name:
ea7b12cdf868fdfebc0a20bdcba97aea863284b563d478b0e4cb3d2a8612afee
dan [Tue, 2 Nov 2021 11:09:24 +0000 (11:09 +0000)]
Add #ifdef logic to os_unix.c so that it builds with SQLITE_OMIT_WAL defined.
FossilOrigin-Name:
948c2cb2a2f44ba069cfbf5e9a57e56964f3a40db57459bb439bea9c3bd9f211
drh [Tue, 2 Nov 2021 10:54:39 +0000 (10:54 +0000)]
drh [Tue, 2 Nov 2021 10:47:20 +0000 (10:47 +0000)]
Add recent dbsqlfuzz cases to test/fuzzdata8.db.
FossilOrigin-Name:
8c3f2536d2853acef05c4e8c07f301abb0687402c56ded5ff8614e79fb049423
dan [Tue, 2 Nov 2021 07:32:13 +0000 (07:32 +0000)]
Fix a broken assert() in fts5 that could fail if the snippet() function were used with a query phrase containing 0 tokens on a detail=none or detail=col table.
FossilOrigin-Name:
0a5b94b99cf45df759a59cb5fc62da111ca33f8c2614769a81930d72b51f093a
larrybr [Tue, 2 Nov 2021 00:18:11 +0000 (00:18 +0000)]
Add globbing option to shell's .archive command.
FossilOrigin-Name:
13fb74ac5e7578ab612af2ccc8147569d60dc35af84f496bcc5d648d223d6d6e
larrybr [Mon, 1 Nov 2021 22:33:20 +0000 (22:33 +0000)]
larrybr [Mon, 1 Nov 2021 22:30:24 +0000 (22:30 +0000)]
Add a test for .ar -r and fix a use-of-uninitialized-variable bug
FossilOrigin-Name:
978d5ed4379b631a79cd46a75d9b5b403f3ec4ce7d9d52ed36a5678cdf04f7f2
larrybr [Mon, 1 Nov 2021 17:22:52 +0000 (17:22 +0000)]
Add --remove subcommand to shell's .archive command
FossilOrigin-Name:
23525449b883ae6e1d62100bdbc9ff2ca788f67e8ae7d7e4b1a770413a70a7f0
drh [Mon, 1 Nov 2021 12:53:01 +0000 (12:53 +0000)]
The VVA() macro in json1.c must be active during SQLITE_COVERAGE_TEST because
it affects the outcome of testcase() macros.
FossilOrigin-Name:
92c3d253797f9bde4670984d60bbd50b7b28540d2b5f503f318843580bab8765
drh [Sat, 30 Oct 2021 20:22:32 +0000 (20:22 +0000)]
Add the sqlite3_autovacuum_pages() interface.
FossilOrigin-Name:
ca2703c339f76101f25051a2ed380398b018782883bfee68b5f2d69a1de9091a
drh [Sat, 30 Oct 2021 18:17:59 +0000 (18:17 +0000)]
Fix an incorrect assert() statement in sqlite3GenerateConstraintChecks().
dbsqlfuzz
4190cff310aeab359a55f354e560db95d3a6f47d
FossilOrigin-Name:
623c0d086bda135c49bfc238c31498facdcbe8ecc7659cc1af61594df0c6e899
dan [Sat, 30 Oct 2021 17:58:25 +0000 (17:58 +0000)]
Fix a memory leak in test code on this branch.
FossilOrigin-Name:
60cd9da9258e0b701d4bb3f9c91c5d0a12e925b9b937df619b09f33a287b4a33
dan [Sat, 30 Oct 2021 17:30:48 +0000 (17:30 +0000)]
drh [Fri, 29 Oct 2021 16:19:03 +0000 (16:19 +0000)]
Reorder a test add earlier today to OP_Transaction for easier testing.
FossilOrigin-Name:
8ba73b3cadb72ffcf176d19f9f946c1b90b224e5ab9a0e9eb9a83affa7476d23
drh [Fri, 29 Oct 2021 13:10:02 +0000 (13:10 +0000)]
Allow "VACUUM INTO" to change the page_size of a database even if the
original database is in WAL mode. Enhancement suggested by
[forum:/forumpost/
033f2c9d1f |forum post
033f2c9d1f ].
FossilOrigin-Name:
efc7e8c99a86e9d9eb81655ce96353847bd2cca64eb8f8d10e297f6f4d38e563
drh [Fri, 29 Oct 2021 12:29:22 +0000 (12:29 +0000)]
Add pragmas "multiplex_enabled", "multiplex_chunksize", and "multiplex_filecount" to the multiplexer implementation.
FossilOrigin-Name:
39c5e80dbf94ac3079b3e0c2c3e6608ac366e3f3de3cea4f4947addc3f52bc36
drh [Fri, 29 Oct 2021 09:59:06 +0000 (09:59 +0000)]
Fix the OP_Transaction opcode so that if an error other than SQLITE_SCHEMA
occurs first, the original error is not overwritten by SQLITE_SCHEMA.
dbsqlfuzz
85bf7e262017c6c7bddb03ff6d8541511985d36c .
FossilOrigin-Name:
5374226df4a2c1b59258839532b67a399c447ac8ec1408fdf2dffb9c41e1349e
larrybr [Thu, 28 Oct 2021 19:49:23 +0000 (19:49 +0000)]
Fix .import -skip issue reported at https://sqlite.org/forum/forumpost/
4c0816c24fc9d16f ?t=h
FossilOrigin-Name:
3aadbe17edc1efc7fa6c9600de84e23242ba7866d2dcef2189afd7ba4c97979f
drh [Thu, 28 Oct 2021 12:07:43 +0000 (12:07 +0000)]
Minor changes to make it easier for static analyzers to reason about the code.
FossilOrigin-Name:
ba4104aa02625b51113978c1bb540b75bd88cb1959c7e9bfb4113db4159df5d4
drh [Thu, 28 Oct 2021 00:09:31 +0000 (00:09 +0000)]
Ensure that the WAL code correctly handles all possible outcomes from the
walIndexPage() routine.
FossilOrigin-Name:
6979efbf07d93e7afad508165df684dcc6fe33b91ca772397c8afa00d16d1a0d
drh [Wed, 27 Oct 2021 23:55:30 +0000 (23:55 +0000)]
Ensure that all possible outcomes for walIndexPage() are accounted for by
callers.
FossilOrigin-Name:
12715c6b234a04627ca27e94bfa8bd456998360a9f0117480e0038f4747818d6
drh [Wed, 27 Oct 2021 20:23:59 +0000 (20:23 +0000)]
Avoid the 1-based indexing on the WalHashLoc.aPgno[] array. Make it 0-indexed
instead.
FossilOrigin-Name:
28f5f709b4b28ba7f6f56bdd4a9e8c04d0d2df90d13d6df1a589fa4a65163f4d
drh [Wed, 27 Oct 2021 19:57:59 +0000 (19:57 +0000)]
Improve the comment on walIndexPage() to more accurately describe the
post-conditions.
FossilOrigin-Name:
b619e936455f4001b543a9a58dea2ac9ebd598327d6be01130ca6e7e9764ffe6
drh [Wed, 27 Oct 2021 19:05:04 +0000 (19:05 +0000)]
New assert()s to help prove correctness in sqlite3VdbeMemExpandBlob().
FossilOrigin-Name:
7238d58051bfdcea8f7a4aeab89145849d0659c987df9063aacafe97be6657fe
drh [Wed, 27 Oct 2021 17:15:08 +0000 (17:15 +0000)]
Fix the build for various the OMIT-everything compile-time option. No impact
on regular builds.
FossilOrigin-Name:
947805719bc8629619af5358ad50a6365c01f8d9ceabfe8e4df947696d3819b3
drh [Wed, 27 Oct 2021 15:19:01 +0000 (15:19 +0000)]
drh [Wed, 27 Oct 2021 15:16:30 +0000 (15:16 +0000)]
Fix a harmless compiler warning in fuzzcheck.
FossilOrigin-Name:
1cfb7e8a095e1e24df5117aa7be97470d8ce91837ff83dabebac53fafee0b09c
drh [Wed, 27 Oct 2021 13:16:33 +0000 (13:16 +0000)]
Change fuzzcheck so that it accepts binary dbsql files.
FossilOrigin-Name:
c87a2426b81f22bd21543aa2408625ae472d8fe6cbe6b04145937066e61123c9
drh [Wed, 27 Oct 2021 12:05:28 +0000 (12:05 +0000)]
drh [Tue, 26 Oct 2021 22:36:41 +0000 (22:36 +0000)]
Enhance fuzzcheck so that if an argument is an ordinary disk file (not
a database) it is read in and processed as a script.
FossilOrigin-Name:
978dc89df521f5855678128b3c0eb503c67c1b97ddb297076e5f2c03d6297605
drh [Tue, 26 Oct 2021 17:36:26 +0000 (17:36 +0000)]
larrybr [Tue, 26 Oct 2021 16:57:09 +0000 (16:57 +0000)]
Add phase and error number to CLI error messages.
FossilOrigin-Name:
7f87a298688c37bbad8fd2e1cf0e8fbcc36f0c211dcfa3685298525648dbe21b
drh [Tue, 26 Oct 2021 09:53:51 +0000 (09:53 +0000)]
Fix the busy_timeout restriction on fuzzcheck so that it can deal with
hexadecimal integer literals.
FossilOrigin-Name:
4b41535b096dec4b15a85e657102a72d4288728da6103f3fdcbe0e6f244c673a
drh [Mon, 25 Oct 2021 18:51:56 +0000 (18:51 +0000)]
Remove a NEVER() in rebuildPage that is reachable, as is demonstrated by
dbsqlfuzz case
beac09b2756b5d285aa68f9737fdb06c972f159a .
FossilOrigin-Name:
ac3f617827e06800d26ef688c5f5480b9621676f141d2eac134f877e0c454149
drh [Mon, 25 Oct 2021 12:54:23 +0000 (12:54 +0000)]
Do not allow large busy_timeout pragmas in fuzzcheck, as they accomplish
nothing other than making the tests unnecessarily slow.
FossilOrigin-Name:
fba441bf9f6ed729a66ccd4e42b5a8859bf3952d70a66bc9a2496ec49d90a60c
drh [Sat, 23 Oct 2021 22:14:11 +0000 (22:14 +0000)]
Improve the authorizer filter for ATTACH on fuzzcheck.
FossilOrigin-Name:
87d49e80878674470d280de79c8ade222dd006e65c90e79616c4f72c7c32dabb
drh [Sat, 23 Oct 2021 22:11:18 +0000 (22:11 +0000)]
Provide an assert() to fire for applications that should never open or create
a disk-based database file.
FossilOrigin-Name:
5218ac788ca35fdd7f98117758f0bef9d55fe7517098e7bf62fda3fed2af3d51
drh [Sat, 23 Oct 2021 20:32:27 +0000 (20:32 +0000)]
The pager now remembers when a VFS reports that a database file is
SQLITE_OPEN_MEMORY and treats that database as an in-memory database.
FossilOrigin-Name:
967b65623807ff992869da0a7d9b0105701939c4658a7aee37a30fb267869c6d
drh [Sat, 23 Oct 2021 17:46:00 +0000 (17:46 +0000)]
Fix the memdb VFS so that it does not allow mmap if it is resizable, and so
that it never opens a disk file for any reason.
FossilOrigin-Name:
5ee14715a561d7522e9c6fd35a2ad3e6de526450025a99d2a523c2b27151be4f
drh [Sat, 23 Oct 2021 11:30:35 +0000 (11:30 +0000)]
Update fuzzcheck so that it allows ATTACH statements with memdb filenames.
FossilOrigin-Name:
31671237e560b52dc27f707309269069a6bdcd017df9844908e77b57dc11f180
drh [Fri, 22 Oct 2021 11:17:29 +0000 (11:17 +0000)]
Fix harmless compiler warnings. Improve the independence of some TCL tests.
FossilOrigin-Name:
1a038242dc6c0cab97dd9375acfce62aa1c386debc36aaed388d366b87ddd931
drh [Thu, 21 Oct 2021 20:08:00 +0000 (20:08 +0000)]
drh [Thu, 21 Oct 2021 19:48:14 +0000 (19:48 +0000)]
Fix the previous check-in so that it works with virtual tables that add new
shadow tables the first time they are referenced.
FossilOrigin-Name:
f73b499e539b9551a70deecec4fc10c3a4af3830324977861cd0558f9782a1d3
drh [Thu, 21 Oct 2021 17:01:10 +0000 (17:01 +0000)]
Fix the new "table_list" pragma so that it shows the correct number of
columns for views and virtual tables even when the object has not been
previously used.
FossilOrigin-Name:
fb0ed8c55f6362d2639687392a72cc3ed9dc318929e11893edd2a0f023929f7e
drh [Wed, 20 Oct 2021 20:22:37 +0000 (20:22 +0000)]
Fix an incorrect JSON assert() that was added 5 days ago by check-in [
7b8ea2298927fd34 ].
FossilOrigin-Name:
e162da3ab4c183b67872be004035c48fc8f20084bc5757aec27410ce23a36631
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
drh [Wed, 20 Oct 2021 17:58:33 +0000 (17:58 +0000)]
Enabled the testcase() macros under SQLITE_DEBUG.
FossilOrigin-Name:
0ae8dd132db8331ca9cc42ad511066924f9d3a1d158ecdb630cebc41b6bd2493
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
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
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
drh [Tue, 19 Oct 2021 19:26:27 +0000 (19:26 +0000)]
Merge multi-module test logic improvements from trunk.
FossilOrigin-Name:
e00a44ac10d68b7bdaff1d9c237b598696eddc2d7392574aee1a95d94b4f165a
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
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
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
drh [Tue, 19 Oct 2021 18:00:05 +0000 (18:00 +0000)]
Merge trunk enhancements into the autovacuum-pages-callback branch.
FossilOrigin-Name:
c26c9e5040ef4c52f2a99597e3a7c3eabd52c905d874fc76ca10fd54b749fa97
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
drh [Sat, 16 Oct 2021 19:50:03 +0000 (19:50 +0000)]
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
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
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
drh [Fri, 15 Oct 2021 23:02:27 +0000 (23:02 +0000)]
Demostrate a prototype sqlite3_autovacuum_pages() interface.
FossilOrigin-Name:
bb6f2b8b486c225043bc64e5f74ff6bbad6c5d1f337f0c81eeb6172b087bb943
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
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
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
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
drh [Thu, 14 Oct 2021 17:30:32 +0000 (17:30 +0000)]
Update requirement marks. No changes to code.
FossilOrigin-Name:
3a6887a543ac348d1a0d4b7f54b13c9dae929c3fa3408c5a44420943ba8c116f
drh [Wed, 13 Oct 2021 20:29:05 +0000 (20:29 +0000)]
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
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
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
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
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
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
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