]>
git.ipfire.org Git - thirdparty/sqlite.git/log
drh [Mon, 8 Nov 2021 16:38:08 +0000 (16:38 +0000)]
Add assert()s that verify that cursor numbers on subqueries are always
greater than outer cursor numbers. Except, this is not always true in the
presence of query flattening. We might need to relax that constraint.
This branch will probably become a dead-end. For now it is saved for
reference.
FossilOrigin-Name:
6f4369666efb8eed84c3d60118baaf35d733ea906df983aeca2b0a475a6298a3
drh [Sun, 7 Nov 2021 23:33:01 +0000 (23:33 +0000)]
Ensure that the window function rewrite does not leave the parse tree
in an invalid state that might cause problems downstream before the
error is recognized and unwinds the stack. Also take steps such that
an invalid parse tree does not cause problems even if it goes
unrecognized.
[forum:/forumpost/
398e9d5aa9 |Forum post
398e9d5aa9 ].
FossilOrigin-Name:
0f9fc6b6073365d5159cd71e7fe08f8dadbc7b42abd324361e809502f4359155
drh [Sat, 6 Nov 2021 20:25:29 +0000 (20:25 +0000)]
Add ALWAYS() to a branch made unreachable by the previous check-in.
FossilOrigin-Name:
0dc963f63aebc42960125f96865029f16b3f6867126aab350da12882505edb82
dan [Sat, 6 Nov 2021 18:22:50 +0000 (18:22 +0000)]
Return an error if an attempt is made to drop an eponymous virtual table.
FossilOrigin-Name:
889dea52de874cd3bda9e811ef1e4ca53ab794ecabc65e9c780d9fb01eff3b2c
drh [Sat, 6 Nov 2021 10:59:27 +0000 (10:59 +0000)]
Avoid accessing the sqlite3_module.xShadowName field if (sqlite3_module.iVersion<3).
FossilOrigin-Name:
a024764cef955099b498ea120d4127144880db6da411f074cf0fd1276989204e
drh [Fri, 5 Nov 2021 22:35:09 +0000 (22:35 +0000)]
Add the rbu_exclusive_checkpoint query parameter to RBU.
FossilOrigin-Name:
c2d33ea9d81975b27fe157d698033e7c01569cc0aa6178b7f0c43afbfba4a9e2
drh [Fri, 5 Nov 2021 22:23:17 +0000 (22:23 +0000)]
New test cases for rbu_exclusive_checkpoint query parameter.
FossilOrigin-Name:
00285ff10c771066876896b28cd5185ec3792166b00702326954ef6678f19da8
drh [Fri, 5 Nov 2021 19:52:27 +0000 (19:52 +0000)]
Update an assert() statement to conform to the changes of the previous check-in.
FossilOrigin-Name:
b5c668cac831425fd3e370142f9ea501bf2ca1c77c3eb0c5b8f0a574f7667b3c
drh [Fri, 5 Nov 2021 19:36:26 +0000 (19:36 +0000)]
Add the SQLITE_OPEN_EXRESCODE flag for sqlite3_open_v2().
FossilOrigin-Name:
ff9373f42d8479be5cae6cc15dc7fe0cc125c6c0157f5375bf7e1e77c624655d
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