SQLite

Timeline
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

419 ancestors of trunk:202111151910 back to version-3.36.0

2021-11-15
19:10
Strengthen the sticky-CORRUPT idea of check-in [3feb0f1c3840904d] by automatically changing the first COMMIT after an SQLITE_CORRUPT error into a ROLLBACK. (check-in: bd66ab8a1b user: drh tags: trunk)
18:50
Small performance optimization in sqlite3VdbeHalt(). (check-in: 9e1ecf438c user: drh tags: trunk)
14:11
Fix a problem causing the count(*) optimization to be misapplied in some cases where an aggregate sub-query uses a count() expression that is aggregated against the outer query. (check-in: e30917278c user: dan tags: trunk)
13:22
Improved context shown for the "ABORT-due-to-error" output line when using "PRAGMA vdbe_debug=on" in an SQLITE_DEBUG build. (check-in: c7776369bc user: drh tags: trunk)
01:45
Fix a faulty JSON assert() added 30 days ago by check-in [7b8ea2298927fd34]. dbsqlfuzz f30366e7b02562398a387ddcc681422fd4251190. (check-in: 0e0c23fcc4 user: drh tags: trunk)
2021-11-12
14:39
Improved handling of OOM while reallocating a column name to add type information. dbsqlfuzz 5a195b4233649e49e0aa34f1b743ca192d85b198 (check-in: 5995dd4de4 user: drh tags: trunk)
2021-11-11
23:52
Make sure the rowid value returned by the VUpdate opcode is always initialized. (check-in: 150b5be5d5 user: drh tags: trunk)
16:26
Remove a NEVER() that was add yesterday. The fuzzer found a new test case to make it happen. (check-in: 83e6ac7107 user: drh tags: trunk)
11:23
New assert() statements to help prove correct usage of VdbeCursor objects. (check-in: 7cee62f77a user: drh tags: trunk)
2021-11-10
15:23
Load new test cases into test/fuzzdata8.db (check-in: 8b53ffe99d user: drh tags: trunk)
10:59
Make SQLITE_CORRUPT sticky: If a CORRUPT error is returned, all subsequent write statements within the same transaction also fail early with SQLITE_CORRUPT. (check-in: 3feb0f1c38 user: drh tags: trunk)
2021-11-09
13:31
Change test case error message text to match the current implementation. (check-in: de10795a1c user: drh tags: trunk)
01:48
Fix lempar.c so that Lemon can compile with NDEBUG defined. Forum post f331adca0b (check-in: ba4fb51853 user: drh tags: trunk)
2021-11-08
23:24
Refactor the code that figures out which SELECT in a cascade of nested queries a particular aggregate function belongs to. This fixes the problem reported by forum post c7cc2aa3546e39c1. New test cases in dbsqlfuzz and th3. (check-in: 74aec5dd1d user: drh tags: trunk)
19:35
Fix the zeroblob() function and related APIs so that they work with SQLITE_OMIT_INCRBLOB builds. (check-in: bc401a75dd user: dan tags: trunk)
15:46
Fix an assert() in memdbTruncate() that could fail when processing a corrupt database. (check-in: b1e2929860 user: dan tags: trunk)
2021-11-07
23:33
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 post 398e9d5aa9. (check-in: 0f9fc6b607 user: drh tags: trunk)
2021-11-06
20:25
Add ALWAYS() to a branch made unreachable by the previous check-in. (check-in: 0dc963f63a user: drh tags: trunk)
18:22
Return an error if an attempt is made to drop an eponymous virtual table. (check-in: 889dea52de user: dan tags: trunk)
10:59
Avoid accessing the sqlite3_module.xShadowName field if (sqlite3_module.iVersion<3). (check-in: a024764cef user: drh tags: trunk)
07:08
Avoid accessing the sqlite3_module.xShadowName field if (sqlite3_module.iVersion<3). (check-in: b1fc3de81e user: dan tags: reuse-schema)
2021-11-05
22:35
Add the rbu_exclusive_checkpoint query parameter to RBU. (check-in: c2d33ea9d8 user: drh tags: trunk)
22:23
New test cases for rbu_exclusive_checkpoint query parameter. (Closed-Leaf check-in: 00285ff10c user: drh tags: rbu_exclusive_checkpoint)
19:52
Update an assert() statement to conform to the changes of the previous check-in. (check-in: b5c668cac8 user: drh tags: trunk)
19:36
Add the SQLITE_OPEN_EXRESCODE flag for sqlite3_open_v2(). (check-in: ff9373f42d user: drh tags: trunk)
19:04
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. (check-in: 7cb77296a2 user: dan tags: rbu_exclusive_checkpoint)
14:13
Update sqllimits1.test to account for recent changes to SQL function strftime(). (check-in: 7bba415f91 user: dan tags: trunk)
12:34
Use the FTS_CORRUPT_VTAB macro rather than a direct call to sqlite3Fts3Corrupt() in [2fad2a89527757b3] so that the build works in all cases. (check-in: 029c59cdf9 user: drh tags: trunk)
11:52
Remove an incorrect NEVER() reported at 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. (check-in: 2927185be8 user: drh tags: trunk)
11:26
Fix vacuum3.test so that it works with SQLITE_OMIT_ALTERTABLE builds. (check-in: 07cca2fa89 user: dan tags: trunk)
11:18
Update a test case in sqllimits1.test to account for the updated implementation of SQL function strftime() (check-in: f474ac370a user: dan tags: trunk)
10:43
Fix a couple of problems with test scripts and SQLITE_OMIT_ALTERTABLE builds. (check-in: 3ab5414d33 user: dan tags: trunk)
2021-11-04
18:04
Fix a crash that could occur in fts3 when processing a corrupt database. (check-in: 2fad2a8952 user: dan tags: trunk)
16:25
Fix corruptN.test so that it works with SQLITE_DEFAULT_AUTOVACUUM=1 builds. (check-in: f60e05bdba user: dan tags: trunk)
16:15
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]). (check-in: a90c5f0b5b user: dan tags: trunk)
16:03
Have wapptest.tcl avoid attempting to build fuzztest for SQLITE_OMIT_VIRTUALTABLE configurations. (check-in: 53ee208d4e user: dan tags: trunk)
15:17
Fix typo in the sqlite3ext.h file. forum post 63802db4ce (check-in: d4a48ee0c2 user: drh tags: trunk)
14:04
Show the preferred schema table names in the output of "PRAGMA table_list". (check-in: 9147390d98 user: drh tags: trunk)
11:34
Change a branch made unreachable by the previous check-in into an assert(). (check-in: 685a987c9a user: drh tags: trunk)
00:51
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. (check-in: 005a864277 user: drh tags: trunk)
2021-11-03
16:35
Remove two incorrect assert() statements added by a check-in from earlier today. (check-in: 3206edff94 user: drh tags: trunk)
15:59
Improved the error message that results when a schema parse fails after ALTER TABLE ADD COLUMN. (check-in: b007a39dd3 user: drh tags: trunk)
14:02
Fix INSERT into STRICT table with STATIC generated columns. (check-in: 24285d9136 user: drh tags: trunk)
12:50
Add the --strict option to speedtest1.c (check-in: a247b5d88c user: drh tags: trunk)
11:43
Fix an issue in PRAGMA integrity_check associated reporting NULL values in a NOT NULL column of type ANY in a STRICT table. (check-in: 5dff1f6673 user: drh tags: trunk)
2021-11-02
22:24
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]. (check-in: aa24660e76 user: drh tags: trunk)
20:52
Proposed fix for a problem associated with OP_SeekScan that results in an incorrect answer. See ticket [5981a8c041a3c2f3]. (Closed-Leaf check-in: 266e9cbada user: drh tags: seekscan-fix-20211102)
17:55
Ensure that ALTER TABLE RENAME recognizes OOM errors while parsing dependent triggers and handles them appropriately. dbsqlfuzz 53e245eee15d3f19639d773048aa955c30708785. (check-in: 1d9004cd01 user: drh tags: trunk)
14:01
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. (check-in: 4d70f27b7b user: dan tags: trunk)
11:24
Add the --remove and --glob options to the .archive command in the CLI. (check-in: ea7b12cdf8 user: drh tags: trunk)
11:09
Add #ifdef logic to os_unix.c so that it builds with SQLITE_OMIT_WAL defined. (check-in: 948c2cb2a2 user: dan tags: trunk)
10:54
Fix a minor typo in a comment. (Closed-Leaf check-in: 06a5bf4348 user: drh tags: archive_remove)
10:47
Add recent dbsqlfuzz cases to test/fuzzdata8.db. (check-in: 8c3f2536d2 user: drh tags: trunk)
07:32
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. (check-in: 0a5b94b99c user: dan tags: trunk)
00:18
Add globbing option to shell's .archive command. (check-in: 13fb74ac5e user: larrybr tags: archive_remove)
2021-11-01
22:33
zap trailing whitespace (check-in: f2a908e9c8 user: larrybr tags: archive_remove)
22:30
Add a test for .ar -r and fix a use-of-uninitialized-variable bug (check-in: 978d5ed437 user: larrybr tags: archive_remove)
17:22
Add --remove subcommand to shell's .archive command (check-in: 23525449b8 user: larrybr tags: archive_remove)
12:53
The VVA() macro in json1.c must be active during SQLITE_COVERAGE_TEST because it affects the outcome of testcase() macros. (check-in: 92c3d25379 user: drh tags: trunk)
2021-10-30
20:22
Add the sqlite3_autovacuum_pages() interface. (check-in: ca2703c339 user: drh tags: trunk)
18:17
Fix an incorrect assert() statement in sqlite3GenerateConstraintChecks(). dbsqlfuzz 4190cff310aeab359a55f354e560db95d3a6f47d (check-in: 623c0d086b user: drh tags: trunk)
17:58
Fix a memory leak in test code on this branch. (Closed-Leaf check-in: 60cd9da925 user: dan tags: autovacuum-pages-callback)
17:30
Merge trunk changes into this branch. (check-in: 638c1b0c50 user: dan tags: autovacuum-pages-callback)
2021-10-29
16:19
Reorder a test add earlier today to OP_Transaction for easier testing. (check-in: 8ba73b3cad user: drh tags: trunk)
13:10
Allow "VACUUM INTO" to change the page_size of a database even if the original database is in WAL mode. Enhancement suggested by forum post 033f2c9d1f. (check-in: efc7e8c99a user: drh tags: trunk)
12:29
Add pragmas "multiplex_enabled", "multiplex_chunksize", and "multiplex_filecount" to the multiplexer implementation. (check-in: 39c5e80dbf user: drh tags: trunk)
09:59
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. (check-in: 5374226df4 user: drh tags: trunk)
2021-10-28
19:49
Fix .import -skip issue reported at https://sqlite.org/forum/forumpost/4c0816c24fc9d16f?t=h (check-in: 3aadbe17ed user: larrybr tags: trunk)
12:07
Minor changes to make it easier for static analyzers to reason about the code. (check-in: ba4104aa02 user: drh tags: trunk)
00:09
Ensure that the WAL code correctly handles all possible outcomes from the walIndexPage() routine. (check-in: 6979efbf07 user: drh tags: trunk)
2021-10-27
23:55
Ensure that all possible outcomes for walIndexPage() are accounted for by callers. (Closed-Leaf check-in: 12715c6b23 user: drh tags: wal-tuneup)
20:23
Avoid the 1-based indexing on the WalHashLoc.aPgno[] array. Make it 0-indexed instead. (check-in: 28f5f709b4 user: drh tags: wal-tuneup)
19:57
Improve the comment on walIndexPage() to more accurately describe the post-conditions. (check-in: b619e93645 user: drh tags: wal-tuneup)
19:05
New assert()s to help prove correctness in sqlite3VdbeMemExpandBlob(). (check-in: 7238d58051 user: drh tags: trunk)
17:15
Fix the build for various the OMIT-everything compile-time option. No impact on regular builds. (check-in: 947805719b user: drh tags: trunk)
15:19
Fix a harmless compiler warning in memdb.c. (check-in: 22fdc658a7 user: drh tags: trunk)
15:16
Fix a harmless compiler warning in fuzzcheck. (check-in: 1cfb7e8a09 user: drh tags: trunk)
13:16
Change fuzzcheck so that it accepts binary dbsql files. (check-in: c87a2426b8 user: drh tags: trunk)
12:05
Add the --script option to fuzzcheck. (check-in: 5a9676bd49 user: drh tags: trunk)
2021-10-26
22:36
Enhance fuzzcheck so that if an argument is an ordinary disk file (not a database) it is read in and processed as a script. (check-in: 978dc89df5 user: drh tags: trunk)
17:36
Improved CLI error messages. (check-in: 8443a2724f user: drh tags: trunk)
16:57
Add phase and error number to CLI error messages. (Closed-Leaf check-in: 7f87a29868 user: larrybr tags: detail_cli_errors)
09:53
Fix the busy_timeout restriction on fuzzcheck so that it can deal with hexadecimal integer literals. (check-in: 4b41535b09 user: drh tags: trunk)
2021-10-25
18:51
Remove a NEVER() in rebuildPage that is reachable, as is demonstrated by dbsqlfuzz case beac09b2756b5d285aa68f9737fdb06c972f159a. (check-in: ac3f617827 user: drh tags: trunk)
12:54
Do not allow large busy_timeout pragmas in fuzzcheck, as they accomplish nothing other than making the tests unnecessarily slow. (check-in: fba441bf9f user: drh tags: trunk)
2021-10-23
22:14
Improve the authorizer filter for ATTACH on fuzzcheck. (check-in: 87d49e8087 user: drh tags: trunk)
22:11
Provide an assert() to fire for applications that should never open or create a disk-based database file. (check-in: 5218ac788c user: drh tags: trunk)
20:32
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. (check-in: 967b656238 user: drh tags: trunk)
17:46
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. (check-in: 5ee14715a5 user: drh tags: trunk)
11:30
Update fuzzcheck so that it allows ATTACH statements with memdb filenames. (check-in: 31671237e5 user: drh tags: trunk)
2021-10-22
11:17
Fix harmless compiler warnings. Improve the independence of some TCL tests. (check-in: 1a038242dc user: drh tags: trunk)
2021-10-21
20:08
Enable FTS5 for fuzzcheck. (check-in: 559ba38b8a user: drh tags: trunk)
19:48
Fix the previous check-in so that it works with virtual tables that add new shadow tables the first time they are referenced. (check-in: f73b499e53 user: drh tags: trunk)
17:01
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. (check-in: fb0ed8c55f user: drh tags: trunk)
2021-10-20
20:22
Fix an incorrect JSON assert() that was added 5 days ago by check-in [7b8ea2298927fd34]. (check-in: e162da3ab4 user: drh tags: trunk)
18:17
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]. (check-in: f52b84e69e user: drh tags: trunk)
17:58
Enabled the testcase() macros under SQLITE_DEBUG. (check-in: 0ae8dd132d user: drh tags: trunk)
13:48
Fix a problem with the CARRAY extension when the SQLITE_TRANSIENT destructor is used for non-text arrays. Forum thread 48e525b266. (check-in: cac910c15f user: drh tags: trunk)
12:52
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 (check-in: 699117156e user: drh tags: trunk)
11:40
Fix a case in the fts3 offsets() function where a corrupt database record could lead to dereferencing an uninitialized pointer. (check-in: 7b7d31a615 user: dan tags: trunk)
2021-10-19
19:26
Merge multi-module test logic improvements from trunk. (check-in: e00a44ac10 user: drh tags: autovacuum-pages-callback)
18:59
Improved cleanup in finish_test so that specifying multiple test modules on the "./testfixture" command-line is more likely to work. (check-in: 3658417bf3 user: drh tags: trunk)
18:53
Fix permutations.test so that it can be called with a test file pattern that uses square brackets. (check-in: 55b6241871 user: dan tags: trunk)
18:40
Update test scripts to unregister the test devsim VFS after it is used. (check-in: bb0e18ae4a user: dan tags: trunk)
18:00
Merge trunk enhancements into the autovacuum-pages-callback branch. (check-in: c26c9e5040 user: drh tags: autovacuum-pages-callback)
2021-10-17
10:31
Remove an incorrect assert() added 4 days ago by check-in [9e2f06b84f994277]. Replace it with a testcase() macro. (check-in: 03dff7196b user: drh tags: trunk)
2021-10-16
19:50
Fix a harmless scan-build warning in FTS5. (check-in: 0bf42bb561 user: drh tags: trunk)
18:53
Add NEVER() macros on branches that become unreachable due to the previous check-in. (check-in: 5fa272cc03 user: drh tags: trunk)
17:09
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. (check-in: a6fda39e81 user: dan tags: trunk)
13:59
Fix an assert() in fts5 that could fail with a corrupt database. (check-in: e99979855d user: dan tags: trunk)
2021-10-15
23:02
Demostrate a prototype sqlite3_autovacuum_pages() interface. (check-in: bb6f2b8b48 user: drh tags: autovacuum-pages-callback)
17:06
Protect the WhereTerm.u union using nearby assert()s and/or branches. (check-in: 8a56de5b9c user: drh tags: trunk)
16:15
Protect the JsonNode.u union using nearby assert()s and branches. (check-in: 7b8ea22989 user: drh tags: trunk)
2021-10-14
21:13
Fix a signed integer overflow in fts5 leading to a segfault that could occur when processing corrupt records. (check-in: 69a3ff0cc1 user: dan tags: trunk)
19:28
Protect access to the WhereLoop.u union using nearby assert()s and branches. (check-in: bdd840216c user: drh tags: trunk)
17:30
Update requirement marks. No changes to code. (check-in: 3a6887a543 user: drh tags: trunk)
2021-10-13
20:29
New tests added to test/fuzzdata8.db. (check-in: e944d71760 user: drh tags: trunk)
20:11
Convert an assert() into a corruption detection branch in sqlite3BtreePayload(). dbsqlfuzz 848171b5d58f6e4a62257466e0e7de16696d4f02. (check-in: f038d7f90e user: drh tags: trunk)
15:09
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. (check-in: 1310a126de user: drh tags: trunk)
14:45
Back out the SQLITE_OPEN_EXCLUSIVE changes because it does not work on Windows and it does not work always on unix. (check-in: d008ad793d user: drh tags: trunk)
14:01
Remove a NEVER() macro in ALTER TABLE due to an obscure case of a nested CTE inside an UPDATE within a trigger. dbsqlfuzz e89174cbfad2d904f06b5e24df0a22510b6a1c1e (check-in: 9e2f06b84f user: drh tags: trunk)
13:00
The sqlite3_result_text() routine (and similar) should record OOM errors in addition to SQLITE_TOOBIG errors. dbsqlfuzz (check-in: eca4343626 user: drh tags: trunk)
2021-10-12
22:55
Fix the group_concat() inverse function implementation so that it correctly handles BLOB inputs when database text encoding is UTF16. (check-in: 38a1326b4b user: drh tags: trunk)
18:05
Fix an incorrect assert() in SQLITE_ENABLE_SORTER_REFERENCES logic - a new assert() introduced 5 days ago by [87e2f5eb436fc448]. (check-in: 7cfc839e5f user: drh tags: trunk)
11:30
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. (check-in: 8124b2ceb7 user: dan tags: trunk)
02:26
Fix another harmless compiler warning for MSVC. (check-in: b54c0db0fd user: mistachkin tags: trunk)
02:17
Fix harmless compiler warnings in the debug build for MSVC. (check-in: 1ceb73f316 user: mistachkin tags: trunk)
2021-10-11
15:54
Fail a schema parse if a virtual table or view has a positive integer rootpage. (check-in: 0265676040 user: drh tags: trunk)
15:21
Use the IsOrdinaryTable() macro, not a test of tnum, to distinguish tables from views and virtual tables. (check-in: 6189b7809d user: drh tags: trunk)
09:48
New test cases added to test/fuzzdata8.db (check-in: 2e475fecad user: drh tags: trunk)
09:39
Fix an over-zealous assert(). (check-in: e2bb82a409 user: drh tags: trunk)
2021-10-09
16:00
Detect any attempt to use an INDEXED BY clause on a CTE and report an error. (check-in: 35a9de2c97 user: drh tags: trunk)
2021-10-08
18:15
Further to the previous check-in, remove the "harmless()" macro definition as it is no longer used. (check-in: b8c9a54664 user: drh tags: trunk)
18:12
Remove a "harmless()" macro that is no longer relevant. (check-in: 87c357c601 user: drh tags: trunk)
16:39
Add support for "PRAGMA writable_schema=RESET". (check-in: a51b305bd0 user: drh tags: trunk)
16:15
Improved detection of database corruption. (check-in: c7fae46c8a user: drh tags: trunk)
10:25
Minor improvements to comments in the data structure definitions. No changes to code. (check-in: e77ac4050c user: drh tags: trunk)
2021-10-07
23:04
New assert() statements to protect the u1 and u2 unions of SrcList. (check-in: 9b91fbcfcc user: drh tags: trunk)
20:46
Protect access to the Expr.y union using nearby assert()s and branches. (check-in: 87e2f5eb43 user: drh tags: trunk)
19:27
Break the tcl release tests into smaller units to better take advantage of multi-processor systems. (check-in: 03cef1c30d user: dan tags: trunk)
17:43
Protect all accesses to the Expr.x union using nearby assert()s and branches. (check-in: 8eaa1d4a98 user: drh tags: trunk)
14:19
Fix an incorrect assert() on PRAGMA table_xinfo added by the previous check-in. (check-in: f85cb287c5 user: drh tags: trunk)
13:40
Protect all accesses to the FuncDef.u and Expr.u unions using nearby assert()s or branches. (check-in: 9af863f065 user: drh tags: trunk)
12:11
Protect every access to the Table.u union using a nearby assert() or branch. (check-in: 50e08338ae user: drh tags: trunk)
2021-10-06
10:36
Fix a macro typo introduced by [5da112c02f9e8d0b] that prevented coverage tests from working. (check-in: 566e697489 user: drh tags: trunk)
10:04
One corner case for the fix at [8b24c177061c3836] was not quite right. Caught overnight by both OSSFuzz and dbsqlfuzz and repaired here. (check-in: 79e90a8225 user: drh tags: trunk)
2021-10-05
22:51
Fix a harmless typo in a comment. forum post 218c116fdf. (check-in: 8ca0c7d826 user: drh tags: trunk)
18:59
Fix harmless compiler warnings, mostly caused by prior efforts to get static analyzers to run without warnings. (check-in: cddd3b382a user: drh tags: trunk)
18:33
Fix more harmless static-analyzer warnings. As of this check-in, no warnings are generated by scan-build for clang-6 or clang-10. (check-in: a7835bead8 user: drh tags: trunk)
17:41
Fixes for harmless static-analyzer warnings. This also makes the code easier for humans to understand. (check-in: 36177a62fe user: drh tags: trunk)
15:30
Fix separate compilation of json1.c, which was apparently broken by check-in [32f33f356931242b]. (check-in: 0c7ece6792 user: drh tags: trunk)
13:00
Small change to FTS5 to help static analyzers understand that it is not dereferencing a NULL pointer. (check-in: 0d853df1b1 user: drh tags: trunk)
12:34
Ensure that geopoly does not invoke sqlite3_result_error_nomem() with a NULL pointer. (check-in: 2483310d15 user: drh tags: trunk)
11:11
Simplifications to the preupdate_hook logic to make it easier to reason about, and reduce static analyzer warnings. (check-in: 91e3b98e06 user: drh tags: trunk)
2021-10-04
22:34
Fix harmless static-analyzer warnings. (check-in: 32f33f3569 user: drh tags: trunk)
18:59
Merge static-analyzer warning fixes and the new SQLITE_OMIT_AUXILIARY_SAFETY_CHECKS macro. (check-in: 5da112c02f user: drh tags: trunk)
18:57
Some #defines somehow failed to get set correctly in the previous check-in. Fixed here. (Closed-Leaf check-in: 15bbdf9ac8 user: drh tags: fix-warnings)
18:21
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. (check-in: 1c67f957fc user: drh tags: fix-warnings)
16:14
Fix harmless static analyzer warnings in auxiliary build tools, mkkeywordhash.c and lemon.c. No changes to the SQLite core. (check-in: f2f279b2cc user: drh tags: trunk)
15:08
Fix harmless static analyzer warnings. (check-in: 1ebcde72e2 user: drh tags: trunk)
13:30
The pragma_table_list virtual table should have only one "schema" column. (check-in: 886feffaad user: drh tags: trunk)
13:18
Fix harmless static analyzer warnings. (check-in: 6604a08596 user: drh tags: trunk)
11:10
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 post a65cacbf5e1c41ba. (check-in: 8b24c17706 user: drh tags: trunk)
2021-10-03
22:03
In CLI, ensure correct line-accumulation state whenever line(s) are dumped or processed. And test this. (check-in: be211a9c59 user: larrybr tags: trunk)
00:12
Add the sqlite3ResultStrAccum() internal interface to simplify the the implementation of functions that return strings. (check-in: e548e9299d user: drh tags: trunk)
2021-10-02
18:22
Try to fix a harmless static-analyzer warning in sqlite3BtreeTransferRow(). (check-in: 5906a0152d user: drh tags: trunk)
17:46
Fix a harmless static-analyzer warning in sqlite3ExprCode(). (check-in: 918c22e82a user: drh tags: trunk)
17:34
Remove an unnecessary static buffer from sqlite3VdbeExpandSql(). (check-in: 953a33b7f7 user: drh tags: trunk)
17:12
Make the sqlite3_filename_xxxx() interfaces robust against NULL pointer arguments, even though the documentation says the behavior is undefined in that case. (check-in: dd64c60bab user: drh tags: trunk)
16:39
Fix harmless compiler warnings (check-in: bdb9dc8a02 user: drh tags: trunk)
15:34
Fix CLI line processing. (back to start state after meta-command executes) (check-in: 928c2a3498 user: larrybr tags: trunk)
2021-10-01
22:48
Fix a problem with group_concat() when it is used as a window function with a sliding window, as described by forum thread ccf3b5673ba852cf. (check-in: f47f7f7822 user: drh tags: trunk)
21:01
Fix harmless compiler warnings. (check-in: 94b59691ee user: drh tags: trunk)
20:39
Change things so that SQLITE_OMIT_VIRTUALTABLE implies SQLITE_OMIT_ALTER_TABLE. (check-in: 2f7c946c5f user: dan tags: trunk)
17:06
Fix a potential write outside of array bounds in the --hexdb decoder of the CLI when given corrupt input. (check-in: c7fdd775bb user: drh tags: trunk)
15:05
Fix a buffer overread in fts5 that could occur when processing an "ORDER BY rowid DESC" query against corrupt database records. (check-in: fe098a9334 user: dan tags: trunk)
02:45
Remove unreachable branches in the fixed group_concat() code. (Closed-Leaf check-in: 8bd721c29e user: drh tags: group_concat-fix-legacy)
02:16
Merge updates from trunk (check-in: 35351371c5 user: drh tags: group_concat-fix-legacy)
00:25
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. (check-in: 04399cf964 user: drh tags: group_concat-fix-legacy)
2021-09-30
18:42
Fix a problem with view handling in SQLITE_OMIT_VIRTUAL_TABLE builds. (check-in: 6e791a24ce user: dan tags: trunk)
17:39
Fix rtreedoc.test so that it works with SQLITE_DEFAULT_AUTOVACUUM=1 builds. (check-in: a300adc211 user: dan tags: trunk)
10:47
Update a test case in rtreedoc.test to account for the fact that release builds generate fewer VM instructions than debug builds. (check-in: 7d16b30282 user: dan tags: trunk)
2021-09-29
20:17
Add NEVER() macros on branches that are not reachable since [a0df216f7c3f8963]. (check-in: 5d771f3554 user: drh tags: trunk)
19:18
Fix a typo in altertab3.test. (check-in: 18d38b1310 user: dan tags: trunk)
19:15
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. (check-in: c4c705abc6 user: dan tags: trunk)
18:33
Fix another problem with ALTER TABLE and vector UPDATE statements within triggers. (check-in: a0df216f7c user: dan tags: trunk)
16:38
Add new test file rtreedoc3.test. (check-in: 5460486986 user: dan tags: trunk)
16:35
Sync w/trunk (check-in: a4c18b2f0c user: larrybr tags: group_concat_varsep)
14:14
Add extra tests for the group_concat() fix on this branch. (check-in: 3d148615f9 user: dan tags: group_concat_varsep)
14:01
Improved testability of changes from check-in [255b0eeed113d83b]. (check-in: bbfd083c26 user: drh tags: trunk)
13:36
Fix an out-of-bounds read in fts5 that could occur when processing corrupt records. (check-in: 9bbc01fb23 user: dan tags: trunk)
00:32
Get group_concat() to handle varying separator lengths when windowing (check-in: 98e0f2bf67 user: larrybr tags: group_concat_varsep)
2021-09-28
10:44
Fix a potential ALTER TABLE problem with expressions like ( (<sub-select>) IN () ). (check-in: df0d7e36db user: dan tags: trunk)
2021-09-27
17:11
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. (check-in: 6ab25f8bd5 user: dan tags: trunk)
15:44
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> )"). (check-in: 255b0eeed1 user: dan tags: trunk)
2021-09-25
20:28
Load recent dbsqlfuzz cases into test/fuzzdata8.db. (check-in: 7a8fcf6d2c user: drh tags: trunk)
20:19
Fix a memory leak in rtree triggered by corrupt database records. dbsqlfuzz 397ad036a9013d7318da30ef84947d2baaaa6d6c. (check-in: 706322c2b5 user: dan tags: trunk)
18:21
Fix a bad interaction between the pager cache and the dbstat module that could lead to a malfunction following an OOM. dbsqlfuzz 9ed3e4e3816219d3509d711636c38542bf3f40b1. (check-in: e03554a6a8 user: dan tags: trunk)
17:07
Add const to parameters on various internal interfaces. (check-in: 70c221c5cf user: drh tags: trunk)
2021-09-24
19:57
Dbsqlfuzz (a097eaad43c3c845b236126df92fb49b25449b0c) found a way to reach the assert() that was added to sqlite3_declare_vtab() by [eb94f4a8174436b1]. This check-in fixes the problem. (check-in: 857d26a68c user: drh tags: trunk)
16:14
Add lots of new "const" on internal function parameters. There is opportunity for many more - this is a work in progress. (check-in: a3c71a673d user: drh tags: trunk)
12:59
Ensure that sqlite_stat1 and sqlite_stat4 are ordinary tables (not views or virtual tables) before trying to load them (dbsqlfuzz bc02a0cde82dee801a8d6f653d2831680f87dca1). This prevents sqlite3_declare_vtab() from running with db->init.busy turned on. Even so, enhance sqlite3_declare_vtab() to be able to deal with db->init.busy being on, in case there are undiscovered paths to that state. Each of these two changes are independently sufficient to prevent the problem fixed by the previous check-in [c7560c1329965ab5] but there is no harm in keeping that third layer of protection in place. (check-in: eb94f4a817 user: drh tags: trunk)
02:14
Ensure that the db->init.azInit array is initialized at all times. dbsqlfuzz 0ad6d441f9bf3dfc32626a9900bc1700495b16f9 (check-in: c7560c1329 user: drh tags: trunk)
2021-09-22
14:43
Fix harmless compiler warnings. (check-in: d678ecca02 user: drh tags: trunk)
14:26
For shell.c.in, define CHAR_BITS to 8 on platforms that do not have that value set by default. This fixes the build on older machines. (check-in: 96610cc825 user: drh tags: trunk)
13:43
Fix harmless compiler warnings in shell.c.in, and a compiler warning in sqlite3expert.c which is a real error, though also harmless. (check-in: 56da0e9c03 user: drh tags: trunk)
13:07
Fix an incorrect assert() in rtree that was added recently by [f7ad73c49507c943]. Change it to testcase(). (check-in: 3aa0bf3a09 user: drh tags: trunk)
10:57
Enhance the TCL-based test harness so that it is possible to list multiple test modules on the "testfixture" command-line and have them all run. For example: "./testfixture test/shell*.test" (check-in: 45caf9b85f user: drh tags: trunk)
10:28
Use sqlite3_snprintf() for the ".changes" output formatting in the shell because it now uses %lld, and some older C compilers do not understand that construct. (check-in: 53dadf8067 user: drh tags: trunk)
2021-09-21
20:03
Fix .expert name collision bug reported at https://sqlite.org/forum/forumpost/05e6f32984561f57?t=h (check-in: 4a3f98ad0d user: larrybr tags: trunk)
19:19
Speed and (slightly) simplify shell's input line early processing. (check-in: a1c7f7f8e1 user: larrybr tags: trunk)
17:26
Add the "PRAGMA table_list" command with its corresponding eponymous table-valued function: "pragma_table_list". (check-in: 2c0e7ae541 user: drh tags: trunk)
2021-09-20
21:42
Accomplish fileio standalone for Win32 with less intervention. (check-in: af5dcc9c2a user: larrybr tags: trunk)
20:15
Allow fileio extension to be a stand-alone DLL for Win32 (check-in: d1cc3105b2 user: larrybr tags: trunk)
2021-09-19
18:31
Adjust shell tests for *Nix and Windows test platform anomaly (Leaf check-in: 577544c5a2 user: larrybr tags: speedy_cli)
2021-09-18
21:35
Sync w/trunk, further streamline shell's resumable prescan. (check-in: 9e00f9f7c0 user: larrybr tags: speedy_cli)
16:15
Further tests for legacy rtree geom callbacks. (check-in: 99d6bb22e8 user: dan tags: trunk)
2021-09-17
21:12
Shell's .read pipe now works for Windows too. (check-in: 929bcc4098 user: larrybr tags: trunk)
20:43
Add tests for legacy geometry callbacks to rtreedoc2.test. (check-in: 6ad00e52ed user: dan tags: trunk)
13:07
Make the affinity() function available even if compiled without SQLITE_DEBUG. Surround the implementation of all test-only SQL functions with #ifndef SQLITE_UNTESTABLE. (check-in: b7e00ef805 user: drh tags: trunk)
2021-09-16
22:23
The dbsqlfuzz fuzzer found a refutation for a recent ALWAYS() macro. (check-in: ebfc18aaa6 user: drh tags: trunk)
20:16
Minor changes to rtree.c so that we can get full branch coverage even when it is compiled without geopoly. (check-in: f05ae9b586 user: drh tags: trunk)
19:50
Add tests to rtreedoc.test. (check-in: b18c6ec460 user: dan tags: trunk)
17:02
Add a single new ALWAYS() to rtree.c, with justification. (check-in: 778e4499cd user: drh tags: trunk)
16:41
Add a tag comment in rtree.c. No changes to code. (check-in: 213410fa9c user: drh tags: trunk)
14:17
Add a reference counter to a structure used internally by the Tcl interface so that it does not segfault if the database connection is closed from any of the various callback scripts that may be invoked. (check-in: e54a33ce56 user: dan tags: trunk)
14:07
Mark an unreachable branch in rtree. (check-in: e6c4afd5b3 user: drh tags: trunk)
13:52
Back out a couple of ALWAYS() macros from [4fab9089868bbb05]. Test case added to TH3. (check-in: d26963a530 user: drh tags: trunk)
13:20
For ALTER TABLE RENAME COLUMN, do not try to filter virtual tables out of calls to sqlite_rename_column(). Let the function filter them itself. The WHERE clause can mistakenly let virtual tables through if the sqlite_schema table is corrupt. The sqlite_rename_column() function must deal with them. We might as well let it deal with them always. (check-in: 7c82b43b7c user: drh tags: trunk)
12:33
Under SQLITE_DEBUG with PRAGMA vdbe_trace=ON, show an output line if the VDBE aborts for any reason. (check-in: 7e3d681003 user: drh tags: trunk)
07:32
Simplify the routine that attempts to estimate the size of an rtree index by looking at the sqlite_stat1 entry for the %_rowid table. (check-in: 06c329c17c user: drh tags: trunk)
05:39
Mark various unreachable branches in rtree.c with ALWAYS() or NEVER(). (check-in: 4fab908986 user: drh tags: trunk)
05:24
New ALWAYS() and assert() to mark unreachable branches in rtree.c. (Closed-Leaf check-in: f7ad73c495 user: drh tags: tree-testing)
2021-09-15
19:53
In rtree.c, remove an incorrect ALWAYS(). Add other ALWAYS() and NEVER(). (check-in: cbaac8878a user: drh tags: tree-testing)
19:13
Add more ALWAYS() macros on unreachable branches in rtree.c (check-in: fbba89dac9 user: drh tags: tree-testing)
16:20
Fix the xBestIndex method on rtree so that it correctly recognizes that rowid=? works the same as id=?. (check-in: c74c07cc86 user: drh tags: trunk)
15:56
Add ALWAYS() macros on some unreachable branches in rtree. (check-in: 9123f680ae user: drh tags: trunk)
15:53
Further updates to rtreedoc.test. (check-in: e66727837d user: dan tags: trunk)
14:48
Fix non-build for a test configuration (check-in: c9a4ab0590 user: larrybr tags: trunk)
13:09
Simplify some of the corrupt shadow-table detection logic in rtree. (check-in: 0c4f37aa47 user: drh tags: trunk)
11:15
Squelch needless narrowing warning. (check-in: 5540e6abc1 user: larrybr tags: trunk)
10:49
Ensure rtreedoc.test is not run for builds without the rtree extension. (check-in: 42dff22347 user: dan tags: trunk)
2021-09-14
20:07
Add test cases to rtreedoc.test. (check-in: afe0ec4d58 user: dan tags: trunk)
18:57
Update requirements marks to reflect recent documentation changes. (check-in: 08cab8921e user: drh tags: trunk)
14:16
Add test cases to rtreedoc.test. (check-in: b62de1269f user: dan tags: trunk)
11:27
Minor updates to rtreedoc.test. (check-in: b22c75e41d user: dan tags: trunk)
2021-09-13
23:11
Shell to .read any named character source file/device (again.) (check-in: c6fe4f8d63 user: larrybr tags: trunk)
18:32
Add test cases to rtreedoc.test. (check-in: 4ee99d3154 user: dan tags: trunk)
18:16
Add assert() statements to refute forum post 9f4e7f58fbb66ddd. (check-in: 83a83475c5 user: drh tags: trunk)
16:36
Add new test file rtreedoc.test. (check-in: 8c4b1482ee user: dan tags: trunk)
13:53
Fix an incorrect comment and possible integer overflow in pager resulting from check-in [23ca23894af352ea]. Problem reported by forum post e2ea1a3f61. Also change the datatype of Pager.pageSize to i64 even though page size never exceeds 65536, in order to help prevent future problems of this kind. (check-in: f4a552ed9f user: drh tags: trunk)
2021-09-11
02:42
CLI prescanner made to match SQLite's rules for delimited identifiers. Tests begun. (check-in: 15b105c520 user: larrybr tags: speedy_cli)
2021-09-10
22:00
Make replace.tcl useful with TCL 8.4 (check-in: 2dd61dd97b user: larrybr tags: trunk)
19:45
Make CLI prescan handle goofy identifier delimiters too. Streamline code. (check-in: 968aed690b user: larrybr tags: speedy_cli)
18:35
Fix (luckily harmless) typo in memdb.c per https://sqlite.org/forum/forumpost/15af8872d5999df1 (check-in: d577030cda user: larrybr tags: trunk)
01:45
When showHeader set at CLI invocation, do not auto-set it later. (check-in: 733b7d4f95 user: larrybr tags: trunk)
01:02
Back out changes [00286ca5d998d802] and [6844ede29e1dac93] (replacing the associated branches with NEVER()) and add a single new test to btreeOverwriteCell() that detects when an overflow pages is also mapped into a b-tree page and raises and immediate SQLITE_CORRUPT error before making any changes. dbsqlfuzz 81791bd980fe6935ff2c7334ec8bef11c1c12b82 and others. (check-in: 32210fa4ac user: drh tags: trunk)
00:58
Speed-up CLI's processing for huge block comments, for any content (check-in: c4568f9f45 user: larrybr tags: speedy_cli)
2021-09-09
19:19
Remove a NEVER() in btree that is sometimes reachable. dbsqlfuzz b9140023005430654c8fe544cf0a082ef8d561c1. (check-in: 6844ede29e user: drh tags: trunk)
18:06
Avoid masking off an OOM fault in rtreecheck(). (check-in: 3ebfe7128a user: drh tags: trunk)
14:03
Improved database corruption detection in the editPage() subroutine of the btree rebalancer. dbsqlfuzz f035b1b5a100a5f0cffb95c958b6c67d7c5eaf1f. (check-in: 00286ca5d9 user: drh tags: trunk)
2021-09-08
21:49
Speedup CLI's gulping of many huge block SQL comments. (check-in: 729620c5c0 user: larrybr tags: trunk)
19:25
Fix PRAGMA integrity_check so that it does not try to enforce types on ANY columns in a STRICT table. (check-in: 57384fda8d user: drh tags: trunk)
2021-09-07
20:58
For sqldiff, sqlite_schema comparisons must use compound (synthesized) PK. (check-in: 5bdd846612 user: larrybr tags: trunk)
19:23
New test cases added to fuzzdata8.db. No code changes. (check-in: 51e5aadafe user: drh tags: trunk)
19:04
Make sqldiff able to compare sqlite_schema tables (for detailed schema differences.) (check-in: 7ff92da9f1 user: larrybr tags: trunk)
16:05
Fix a memory leak in fts5 that could occur when writing to an fts5 table that is being scanned by an fts5vocab cursor. (check-in: 1183552de1 user: dan tags: trunk)
15:41
Fix a potential NULL pointer deference in the LIKE optimization. The problem was introduced by the addition of generated columns in check-in [b855acf1831943b3] (SQLite version 3.31.0, 2020-01-22). Reported by Wang Ke in [forum/forumpost/699b44b3ee|forum post 699b44b3ee]. (check-in: b9417d400f user: drh tags: trunk)
2021-09-06
16:15
Fix a use-after-free error that could occur if an fts5 table is written while scanning it using an fts5vocab cursor. (check-in: e751c2ec78 user: dan tags: trunk)
15:59
Fix an issue in the "shrink.test" test script reported by forum post 90a74bd618. (check-in: 6c3734edb2 user: drh tags: trunk)
11:44
Restore the use of system isnan() that was removed by check-in [ea748edecb261f2b]. See forum thread d7c530ac587f59e6. (check-in: b3cfe23bec user: drh tags: trunk)
2021-09-03
18:11
Fix an assertion fault in pcache introduced by [4bc93658aa563f2f] and detected by OSSFuzz. Test case in TH3. (check-in: 2262a49467 user: drh tags: trunk)
2021-08-31
15:53
Have the planner ensure that if one scan uses a subset of the WHERE clause of another, that scan is estimated to cost less and return fewer rows. (check-in: c7b34930e2 user: dan tags: trunk)
2021-08-30
17:02
Do not disable a rowid=? term used to drive an IPK index if it is a transitive constraint. Commit [f1f9b5de] made the same change for non-IPK indexes. (check-in: 46e28cbcf6 user: dan tags: trunk)
2021-08-27
11:26
Patch lemon to fix "error" token handling, according ot forum post e680f42f53090061. (check-in: 106b5e5355 user: drh tags: trunk)
2021-08-26
18:31
Add the --safe to the CLI. Also the --nonce option and the .nonce command. (check-in: c76870cb1a user: drh tags: trunk)
2021-08-24
17:07
Correctly preserve the collating sequence for a column when changing its datatype. Fix for the problem reported by forum post 36be3d3a08da9d92. Test cases in TH3. (check-in: c7f0813cab user: drh tags: trunk)
2021-08-23
15:56
Fix a typo in a comment. No changes to code. (check-in: d953646a63 user: drh tags: trunk)
10:28
Back out the change that allows typeless columns in strict tables. Replace that capability with an ANY type for strict tables that will accept any datatype with BLOB affinity. (check-in: d8fd1a2bfd user: drh tags: trunk)
2021-08-21
20:54
Allow typeless columns in STRICT tables that are able to accept any data type. (check-in: 1e2dcc2d4e user: drh tags: trunk)
16:42
Defer deleting subqueries in the compound-SELECT code generator until the end of code generation, in order to avoid deleting expressions out from under the aggregation function sanity checking assert()s that occur near the end of SELECT code generation. This fixes the assertion fault described by forum post cfcb4b461d. The problem goes back to check-in [6e6b3729e0549de0]. (check-in: 600f1991e5 user: drh tags: trunk)
2021-08-20
19:51
Improvement to error handling in Lemon. No impact on SQLite. Forum post 2f468f43cbc48d7f (check-in: 18cc2f8574 user: drh tags: trunk)
15:44
Support for STRICT tables. A table with the STRICT option only allows a few core datatypes on columns and enforces those types rigidly. Also, PRIMARY KEY columns must be NOT NULL. (check-in: f9c1d3441b user: drh tags: trunk)
08:05
Improved error messages for the SQLITE_CONSTRAINT_DATATYPE error. (Closed-Leaf check-in: 39abca0147 user: drh tags: strict-tables)
01:12
Do not allow the xfer-optimization to move the content of an ordinary table into a strict table. (check-in: 1ed1b594d3 user: drh tags: strict-tables)
2021-08-19
16:29
Improved comments. Fewer opcodes for integrity_check on strict tables. (check-in: 4ee57fb588 user: drh tags: strict-tables)
02:58
Enhance PRAGMA integrity_check so that it verifies the datatype of all columns in STRICT tables. (check-in: 97c9248b3b user: drh tags: strict-tables)
00:24
STRICT tables require all fields of the PRIMARY KEY to be NOT NULL. (check-in: 5efdf9acad user: drh tags: strict-tables)
2021-08-18
23:00
Merge the WITHOUT ROWID, NOT NULL ON CONFLICT bug fix into the strict-tables branch. (check-in: 7ee01ee47d user: drh tags: strict-tables)
22:26
Fix ON CONFLICT clause processing for NOT NULL constraints of PRIMARY KEY columns on WITHOUT ROWID tables. Ticket [f2be158c57aaa8c6] (check-in: 13abba0941 user: drh tags: trunk)
19:22
Trying to insert an incorrect datatype into a STRICT table raises an SQLITE_CONSTRAINT_DATATYPE error. Seems to work, though lots more testing is needed. (check-in: a19305e5cf user: drh tags: strict-tables)
13:13
What would it be like if you could add the keyword "STRICT" after a CREATE TABLE statement to cause the table to (1) allow only a few well-defined datatypes, (2) rigidly enforce those types, (3) require NOT NULL on PK columns, (4) always enforce foreign key constraint, and so forth? This branch seeks to explore that question. (check-in: 78732b9f98 user: drh tags: strict-tables)
12:05
Rename the Column.eType field to Column.eCType - with an extra "C". (check-in: b9b0dcd5af user: drh tags: trunk)
2021-08-17
19:59
Fix an off-by-one error in the error-handling logic of the Lemon parser-generator. This does not affect SQLite. Forum cff80737bf. (check-in: 7cca80808c user: drh tags: trunk)
2021-08-12
14:22
By default, do not use memory mapping to access the temporary files used for external sorts. The old behaviour (to use memory mapping by default) may be restored by building with SQLITE_ENABLE_SORTER_MMAP defined. (check-in: 306694dfb4 user: dan tags: trunk)
2021-08-11
18:43
During DELETE, if an index entry is missing, do not raise the SQLITE_CORRUPT_INDEX error (added by [f339f31f9e9a856b]) if in "PRAGMA writable_schema=ON" mode. (check-in: 19e56291a7 user: drh tags: trunk)
13:48
Do not apply the push-down optimization to CTE subqueries that will be reused in other contexts in where the same optimization is unlikely to be valid. Fix for the bug reported by forum post d496c3d29bc93736. (check-in: a7ce29a6ef user: drh tags: trunk)
13:19
Improved comment on the OP_OpenDup used to get a new cursor for a reused materialized CTE. (check-in: b1926cc0ab user: drh tags: trunk)
2021-08-09
19:54
Fix a compiler warning in pcache1. Reduce the maximum size of a pcache1 cache to 2147418112 pages. (check-in: 4bc93658aa user: drh tags: trunk)
18:13
Further improvements to the eOpenState bit values. (check-in: d44f74f14a user: mistachkin tags: trunk)
18:07
Ensure that the pcache1 cache size does not get so big that it overflows the integer that is keeping track of the cache size. (check-in: bf9d70fc2f user: drh tags: trunk)
17:45
Fix harmless compiler warnings and improve the presentation for the new --threadsafe option to the CLI. (check-in: 7929dc2f6f user: drh tags: trunk)
17:37
Undocumented "--threadsafe N" option added to the CLI for testing purposes. One of SQLITE_CONFIG_SINGLETHREAD, _MULTITHREAD, or _SERIALIZED is called depending on the value of the N integer. (check-in: 2d8f297c11 user: drh tags: trunk)
17:36
Improved Hamming bit-distance between the SQLITE_STATE constants. (check-in: 5100b0456b user: drh tags: trunk)
13:06
Fix comments associated with sqlite3.eOpenState. No logic changes. (check-in: fd8f498f5d user: drh tags: trunk)
2021-08-07
23:16
Refactor sqlite3.magic into sqlite3.eOpenState. (check-in: e5d6512aa1 user: drh tags: trunk)
2021-08-06
20:17
Fix an RBU problem with restarting an update after the *-oal file is already larger than 4GiB. (check-in: 087b8b41c6 user: dan tags: trunk)
19:38
Attempt to fix the showwal.c utility program so that it works on WAL files larger than 4GiB. (check-in: 5c0f9ea98a user: drh tags: trunk)
15:26
Fix harmless compiler warnings. Omit redundant copies of os_common.h and hwtime.h from the amalgamation. (check-in: 0914270078 user: drh tags: trunk)
2021-08-05
15:27
Store the collating sequence name for each column of a table as an extension to the column name, for an additional savings in the heap space needed to hold the schema. (check-in: 832ac4c1ee user: drh tags: trunk)
2021-08-04
14:50
Add NEVER() macros on recently introduced unreachable branches. (check-in: 806939eb59 user: drh tags: trunk)
13:42
Always prefer built-in SQL functions over app-defined SQL functions within sqlite3NestedParse(). Formerly this was the case for a few calls to sqlite3NestedParse(), but not for all of them. (check-in: 164662ef01 user: drh tags: trunk)
11:29
Avoid using LIKE with the target db in RBU. It is possible the user may issue "PRAGMA case_sensitive_like = 1" or override the like() user function, causing RBU to malfunction. (check-in: 7cbd8cd5aa user: dan tags: trunk)
2021-08-03
23:23
Fix the build for SQLITE_ENABLE_UPDATE_DELETE_LIMIT. (check-in: 5150d2da06 user: drh tags: trunk)
18:45
Improved harmony with the reuse-schema branch. (check-in: cbc703f70d user: drh tags: trunk)
2021-08-02
18:03
Refactor field names in the Column object, zCnName and zCnColl, to make them unique and thus easier to find amid all the other code. (check-in: 8b781dcaf6 user: drh tags: trunk)
16:41
Refactor the Table object to reduce its memory footprint. (check-in: bbb6759bcf user: drh tags: trunk)
2021-07-31
20:30
Refactor the way that DEFAULT expressions are stored on columns, in order to save memory in the common case where the column has no DEFAULT clause. (check-in: 8646547e54 user: drh tags: trunk)
2021-07-30
23:30
Recognize certain standard datatypes ("INT", "INTEGER", "REAL", "TEXT", and "BLOB") and if a column has one of those datatypes, store the type part of the bit-field information in the Column structure to save space. (check-in: d2da62a9df user: drh tags: trunk)
20:09
If a generated column uses the optional keywords GENERATE ALWAYS, try to avoid putting those keywords in the typename of the column. Forum post ff3ffe09251c105b (check-in: 3c954863f4 user: drh tags: trunk)
18:39
Avoid clownfeet in the names columns when the column names are quoted in the original CREATE TABLE statement. (check-in: 980f7292af user: drh tags: trunk)
12:47
Reduce clownfooting in the allocation of the Table.aCol array. This reduces the amount of heap space required to hold large schemas by about 11%. (check-in: 2941ded0ac user: drh tags: trunk)
2021-07-29
18:34
Enhance the wal.c source file with an ASCII-art schematic of the -shm file header. (check-in: a6c160e08a user: drh tags: trunk)
17:31
Improvements to asserts to enforce magic numbers in the wal-index format. Also improve automatic configure and make builds on legacy PPC iBooks. (check-in: 87b8d47889 user: drh tags: trunk)
17:23
Complete warning-free build on old PPC iBook. (Closed-Leaf check-in: ef2a085039 user: drh tags: wal-asserts)
17:01
Fix an error in one of the assert() statements added by [23b08fe9db24a953]. (check-in: ad24334bc0 user: drh tags: wal-asserts)
16:49
Minor tweaks to various TCL build scripts so that they work even for TCL 8.4, which is obsolete, but is also all that is available for some legacy platforms. (check-in: 2269ce64f7 user: drh tags: wal-asserts)
16:48
Improve comments and add new assert() statements in WAL to help document how everything works. (check-in: 23b08fe9db user: drh tags: wal-asserts)
00:33
Remove ALWAYS() macros that can be true if the internal test function implies_nonnull_row() is used in the result set of a query and contains comparison operator against a computed column. dbsqlfuzz 4c34db5bff6247f33ee49e341a1f3018e72be0a0. (check-in: 4d1dbfa35c user: drh tags: trunk)
2021-07-28
18:13
Add test case to ensure that sessions works with DELETE statements that use the truncate optimization (i.e. a DELETE without a WHERE clause). (check-in: a2fc531177 user: dan tags: trunk)
02:04
Fix a harmless uninitialized variable read that occurs after an error associated with a subquery that uses DISTINCT. Found by a fuzzer. (check-in: e9719f975f user: drh tags: trunk)
01:22
Reduce the scope of a variable in order to fix a harmless compiler warning that occurs under -DSQLITE_OMIT_AUTOMATIC_INDEX. (check-in: 36d5dbbe13 user: drh tags: trunk)
2021-07-26
19:49
Remove sqldiff --visible-controls option, make it always happen. Add test cases for controls made visible (check-in: ff74c0cc4c user: larrybr tags: trunk)
18:28
Give sqldiff --visible-controls option to deal with non-graphic text content robustly across platforms (check-in: 68d2373f5d user: larrybr tags: trunk)
2021-07-23
18:43
Enhance the CLI with the ".connection" command that can switch between up to five different database connections. Used for manual testing of multiple database connections in the same process. (check-in: 54eaf076c0 user: drh tags: trunk)
2021-07-22
21:11
Set the checkSchema flag if a CREATE TABLE parse fails because the table already exists, to ensure that the table was not previously deleted by some other connection. (check-in: 91bcb96215 user: drh tags: trunk)
18:22
Fix ALTER TABLE DROP COLUMN so that it generates valid bytecode even when operating on a corrupt database and using PRAGMA writable_schema=ON. dbsqlfuzz 5f09e7bcc78b4954d06bf9f2400d7715f48d1fef (check-in: b65f4f7639 user: drh tags: trunk)
16:07
One of the optimizations of check-in [de9c86c9e4cdb34f] does not work for terms originating in the ON/USING clause, as demonstrated by forum post 6cf3bb457c3f4685. This check-in disables that optimization for ON/USING terms. Also improve the TreeView display for the resulting "true"/"false" nodes to show that they originate from the ON/USING clause. Add a testcase() to the other optimization to show that it can still be used for ON/USING terms. (check-in: 1f67960440 user: drh tags: trunk)
2021-07-21
15:42
Improved robustness of cursor renumbering in the UNION ALL flattener when operating on vector assignments of an UPDATE FROM. dbsqlfuzz 417d2b053b9b3c9edaf22dd515564f06999e029c (check-in: 60695359dc user: drh tags: trunk)
2021-07-20
16:07
Run a "PRAGMA quick_check", if necessary, on the modified table after an ALTER TABLE ADD COLUMN to verify that added NOT NULL or CHECK constraints are satisfied by existing rows. Abort the ADD COLUMN if not. Forum post c04814903d6ec4f7. (check-in: e3794997c3 user: drh tags: trunk)
14:57
Avoid a malfunction that could occur if the same correlated column reference appears in both the GROUP BY and the HAVING clause of a sub-select. dbsqlfuzz a779227f721a834df95f4f42d0c31550a1f8b8a2. (check-in: 1e35cc6d5c user: dan tags: trunk)
08:23
Fix issues in the new ADD COLUMN constraint checking. Add preliminary test cases. (Closed-Leaf check-in: 48434ad3fa user: drh tags: add-column-constraint-check)
07:35
Demonstration code to show how NOT NULL and CHECK constraints can be verified after an ALTER TABLE ADD COLUMN. (check-in: 039f540373 user: drh tags: add-column-constraint-check)
02:02
It does not work to deserialized into TEMP, so do not allow it. The sqlite3_deserialize() routine now returns SQLITE_ERROR if you try. (check-in: 18068cc606 user: drh tags: trunk)
00:18
Fix compilation of 'threadtest3' for some older versions of MSVC. (check-in: b5ede6a688 user: mistachkin tags: trunk)
2021-07-19
20:52
More precision in comparing integers and floating point values while processing the integer primary key for OP_SeekGE and similar. Forum post 2bdb86a068. (check-in: f9c6426de3 user: drh tags: trunk)
16:49
Updates so that "threadtest3[.exe]" can be built for windows with MSVC. (check-in: 4ce585fb07 user: dan tags: trunk)
14:00
In defensive mode, allow statements that write to shadow tables to be prepared from with virtual-table xSync() calls. (check-in: c8601d83fb user: dan tags: trunk)
03:38
Fix minor spacing issues in the MSVC makefile. (check-in: d78c272b39 user: mistachkin tags: trunk)
2021-07-16
22:43
Try to omit the ORDER BY clause in subqueries if doing so does not change the result in any way. See Forum post 2d76f2bcf65d256a for details and history. (check-in: 85ddaf1b59 user: drh tags: trunk)
20:16
Minor comment improvements. (Closed-Leaf check-in: 6854b5919b user: drh tags: omit-subquery-order-by)
17:11
De-typo sqlite3_expanded_sql() doc (check-in: 56b0f5418d user: larrybr tags: trunk)
17:04
Modify the generate_series() table-valued functions so that its first argument (the START value) is required. Throw an error if that argument is not supplied. In this was the series.c loadable extension can be used as a demonstration of how to code an xBestIndex function to require certain parameters. Compile with -DZERO_ARGUMENT_GENERATE_SERIES to obtain the legacy behavior. (check-in: 459d85a289 user: drh tags: trunk)
15:30
Fix the "main.mk" makefile so that "series.c" is a dependency of "shell.c". (check-in: ff95991791 user: drh tags: trunk)
01:19
Get the "omit ORDER BY in FROM-clause subqueries" optimization working for the core test cases. (check-in: e31c588865 user: drh tags: omit-subquery-order-by)
2021-07-15
23:34
By default, do not emit #line directives in the amalgamation. (check-in: bacfa93677 user: mistachkin tags: trunk)
19:29
Attempt to omit ORDER BY clauses from FROM-clause subqueries if those ORDER BY clauses do not affect the output. See forum thread 2d76f2bcf65d256a for discussion. This can help the query flattener in some cases, resulting in faster query plans. The current implemention does not always work. (check-in: ef97c3e7c3 user: drh tags: omit-subquery-order-by)
16:39
Change references to the schema table in sqlite3_analyzer to the new SQLITE_SCHEMA name. (check-in: 3beb77d6a7 user: drh tags: trunk)
2021-07-14
21:18
Fix a use-after-free error in ioerr.test caused by an error in test code. (check-in: 1594056aab user: dan tags: trunk)
2021-07-13
22:49
Enhance comments pertaining to the interface linkage / calling convention macros. (check-in: c378e99250 user: mistachkin tags: trunk)
21:59
Further revisions to #line handling for amalgamation builds. (check-in: 9a84321229 user: mistachkin tags: trunk)
20:55
Get correct #line tags into amalgamation for other builds too. (check-in: 999eb80018 user: larrybr tags: trunk)
11:59
Get #line tags into amalgamation, subject to configure. (check-in: 5d81b598a7 user: larrybr tags: trunk)
11:55
Merge from trunk, rename tool option for its effect (Leaf check-in: 9327f73c1b user: larrybr tags: line_tags)
11:30
Do not attempt to run Tcl sessions tests unless both SQLITE_ENABLE_PREUPDATE_HOOK and SQLITE_ENABLE_SESSIONS are defined. (check-in: 385db79447 user: dan tags: trunk)
01:45
Amalgamation has #line directives by default. Minor mksqlite3c.tcl changes (check-in: ba3eff7197 user: larrybr tags: line_tags)
2021-07-09
23:12
Clarify comment on sqlite3.h's interface decaration macros. (check-in: 7cb09aef49 user: larrybr tags: trunk)
14:59
Fix an assert() that might fail if sqlite3_create_function_v2() is invoked with NULL xStep and xFinal callbacks and a non-NULL xDestroy. (check-in: ab1550a608 user: dan tags: trunk)
13:52
Enhance the sqlite3_create_function() interfaces to assume a value of SQLITE_UTF8 is presented with a nonsense value for the preferred encoding. This is undocumented behavior added for robustness. (check-in: c1bb5cff52 user: drh tags: trunk)
11:52
Add the usual "#ifdef __cplusplus" magic to header file ext/misc/carray.h. Also update carray.h/carray.c to use SQLITE_API in the usual way. (check-in: 0f97c2a459 user: dan tags: trunk)
00:12
Allow CLI shell build to #include same user-specified header as library build. (check-in: eb8af9a494 user: larrybr tags: trunk)
2021-07-08
23:35
Rename optional SQLITE_CUSTOM_INC define to SQLITE_CUSTOM_INCLUDE. (check-in: 060aec37ac user: mistachkin tags: trunk)
22:12
Allow library build to #include a user-specified header. (check-in: 71e6490bbe user: larrybr tags: trunk)
18:29
Preserve and return to the user any error message returned by a failed xConnect() call on an eponymous virtual table that prevents a query from being compiled. (check-in: bbbbeb59a6 user: dan tags: trunk)
12:12
Fix an issue with the SQLite Expert extension when a column has no collating sequence. Forum post 78165fa250. (check-in: b1e0c22ec9 user: drh tags: trunk)
2021-07-07
19:44
Fix a harmless compiler warning in the "fuzzcheck" test program. (check-in: 8c43264257 user: drh tags: trunk)
19:40
Fix a harmless compiler warning - duplicate local variable named "pRHS". (check-in: 5bc05faf27 user: drh tags: trunk)
16:48
Follow-up to [68db1ff9c44fa9c3]: The number of registers needed by PRAGMA foreign_key_check was increased too late for an assert() deep down inside of sqlite3ExprCode(). So move the size increase a little earlier. Forum post 79c9e4797d. (check-in: 7072404ad0 user: drh tags: trunk)
15:52
Fix a recently introduced segfault that might occur if a sub-select were used as a term on the RHS of an IN(...) operator for which the LHS is a row-value. (check-in: f586c06a5d user: dan tags: trunk)
13:53
Improve the error message in cases where there is a row-value on the LHS of an IN() operator, the RHS is a list (not a sub-select) and at least one element of the list is not a row-value with the correct number of elements. (check-in: 6b22f4e71d user: dan tags: trunk)
11:51
Instead of disallowing writes to fts5 tables if there are fts5vocab cursors open on them (commit [c49a6ed7]), abort any fts5vocab queries if the on-disk structure of the fts5 table changes. (check-in: 9dbdc9001e user: dan tags: trunk)
2021-07-06
20:44
Handle "<vector> IN (<vector>, <vector> ...)" in the same way as "<vector> IN (VALUES(<vector>, <vector>, ...)". (check-in: 981d230ece user: dan tags: trunk)
2021-07-05
19:01
Do not allow writes to an fts5 table if there are any open fts5vocab cursors. (check-in: c49a6ed78a user: dan tags: trunk)
18:37
Add the ATOMIC_INTRINSICS compile-time output output. Move sqlite3Int.h in front of ctime.c so that default values that are not overridden are shown in PRAGMA compile-time option output. (check-in: e306952690 user: drh tags: trunk)
17:15
Revert [5204c2c4a7b73a64], restoring the old pre-processor logic for determining the availability of the __atomic_store_n()/__atomic_load_n() primitives. (check-in: e690abb9e4 user: dan tags: trunk)
11:27
Allow sub-queries in the FROM clause of an UPDATE...FROM statement to access the object being updated without using an alias, as is required in the parent query. (check-in: 740cb43025 user: dan tags: trunk)
02:40
Improved rebustness in sqlite3ExprListDup() when it contains a vector assignment from an UPDATE where the initial term is omitted. This can happen during a UNION ALL query flattening while processing a virtual table update in which the first term of the vector is repeated. Forum post 16ca0e9f32. (check-in: 2547cfe38f user: drh tags: trunk)
01:11
Ensure that TK_SELECT_COLUMN Expr nodes always have their iTable field set to to the number of columns in the vector. This is not strictly necessary. It just simplifies the state description and make the code easier to reason about. (check-in: 026f08d4cf user: drh tags: trunk)
00:07
Fix an incorrect comment on testcase misc1-27.0. No changes to code. (check-in: 49829ae322 user: drh tags: trunk)
2021-07-04
22:33
Enhance the treeview debugging mechanism so that it correctly deals with TK_ROW expression nodes. (check-in: e87fdb6514 user: drh tags: trunk)
2021-07-03
18:57
Fix a (harmless) typo in a comment. No code changes. (check-in: d2b9b8daa3 user: drh tags: trunk)
02:55
In the PRAGMA foreign_key_check, ensure that sufficient registers are allocated for the virtual machine, even if one or more foreign keys reuses the same column multiple times and has more columns than the table it is part of. Forum post a6b0c05277. (check-in: 68db1ff9c4 user: drh tags: trunk)
2021-07-02
12:25
Put ALWAYS() on a branch that is always true due to [d4097364c511709b]. Fix a testcase precondition associated with the same check-in. (check-in: 55e2fbebb0 user: drh tags: trunk)
12:08
Fix a harmless assertion fault discovered by OSSFuzz. The assertion fault is harmless because the assert() checks a condition that that is harmless if false and the assert() is disabled in production builds. (check-in: 79443aabe1 user: drh tags: trunk)
2021-07-01
18:19
Allow unqualified "rowid" references to be used in join queries, provided that only one of the source objects has a rowid. Forum post ab5b077c32636e49 (check-in: d4097364c5 user: dan tags: trunk)
16:57
Import the updated nmakehlp.c file used by the TCL Extension Architecture (TEA) builds in the amalgamation tarballs. Forum post 5a5001f20a. (check-in: 595bf95bf8 user: drh tags: trunk)
2021-06-30
14:04
Fix a memory leak in fts5 that could occur when processing a query containing multiple classes of error. (check-in: 7c279670f5 user: dan tags: trunk)
12:11
Fix an assert() in fts5 that might fail when dealing with corrupt records. (check-in: 9e760e2560 user: dan tags: trunk)
11:53
Do not enforce the SQLITE_LIMIT_FUNCTION_ARG limit for internally generated SQL. This prevents problems with statements like ALTER TABLE if the function argument limit is set too low. Forum post 17735aa21f3ddab2. (check-in: 763fdec5b3 user: drh tags: trunk)
2021-06-28
15:25
When generating data for a RETURNING clause, avoid assuming cursor number 0 is available for use. (check-in: 4b2c59acce user: dan tags: trunk)
2021-06-25
14:48
The OP_ReopenIdx opcode should clear the cursor if the cursor is being reused. This prevents leaving the cursor in an initialized state which could cause problems for a subsequent OP_SeekScan opcode. Fix for ticket [6dcbfd11cf666e21] and the OP_SeekScan optimization of check-in [4a43430fd23f8835]. (check-in: d4bf5243f2 user: drh tags: trunk)
11:21
Remove a redundant "ANALYZE" line from the ".fullschema" output. (check-in: 7b47f42095 user: drh tags: trunk)
11:14
Fix a bug in the ".fullschema" dot-command of the CLI brought to light by check-in [a2ddb89b206c1387] - raising an error on at attempt to access the rowid of a subquery or view. (check-in: 36875827a4 user: drh tags: trunk)
00:25
Document sqlite3_wal_hook() return. (check-in: 8acaf79645 user: larrybr tags: trunk)
2021-06-24
18:23
Allow the SQLITE_OPEN_EXCLUSIVE flag in sqlite3_open(). Return the SQLITE_CANTOPEN_EXISTS extended code to indicate that the open failed because the database already exists. (check-in: d091150ff8 user: drh tags: trunk)
2021-06-23
17:41
Make conditional nature of sqlite3_normalized_sql() better known. (check-in: 0e0ece7111 user: larrybr tags: trunk)
16:07
Fully incorporate *_changes64() API improvement. (check-in: 6699a2f6be user: larrybr tags: trunk)
11:39
Show CROSS JOINs in the TreeView debuggingn output. (check-in: 72e09b6c9b user: drh tags: trunk)
11:12
Fix a problem handling ORDER BY terms of the form "ORDER BY likely(<integer>)" within window frames. (check-in: 710f75b98b user: dan tags: trunk)
2021-06-22
23:24
When an index is used by all branches of the WHERE_MULTI_OR optimization and becomes a covering index, make sure the index has been created prior to NULLing it in the OP_NullRow opcode of a LEFT JOIN. See forum post 0575376e07. The covering-index for WHERE_MULTI_OR optimization was added by [62678be3df35cdcb]. Test cases are in the orindex01.test module of TH3. (check-in: 787c76a865 user: drh tags: trunk)
18:32
Add the sqlite3_changes64() and sqlite3_total_changes64() API functions. (check-in: 48fdec22c9 user: dan tags: trunk)
18:06
Fix a problem causing sqlite3_changes() to return an incorrect value following a "DELETE FROM tbl" command on an intkey table (because internal b+tree cells were being included in the count). (check-in: f662ff4746 user: dan tags: trunk)
14:59
Ensure that the cell array used in balance_nonroot() is always large enough, even if the pages being balanced are corrupt. (check-in: 53f64e83b3 user: dan tags: trunk)
2021-06-20
22:52
Load recent dbsqlfuzz cases into test/fuzzdata8.db. (check-in: a766bba0ee user: drh tags: trunk)
22:49
Remove a NEVER() that is reachable by a corrupt database. dbsqlfuzz 8456a0f88e39a49fb675d8f77394979ebb2a03c1. Test case in TH3. (check-in: 1c41e86fa1 user: drh tags: trunk)
22:17
Do not allow an SQLITE_CORRUPT error to mask a prior SQLITE_IOERR in balance_nonroot(). dbsqlfuzz 5e1c86e7f18023f2b9abe3429977d7ea726f50d8 (check-in: 50e818767e user: drh tags: trunk)
2021-06-19
20:20
Remove unnecessary (redundant) variable initialization from sqlite3BtreeInsert() for a small size reduction and performance increase. (check-in: 70d1836474 user: drh tags: trunk)
18:35
The previous check-in is a significant change to btree, so go ahead and increment the version number for the next development cycle. (check-in: 2eb6697051 user: drh tags: trunk)
18:32
Split the sqlite3BtreeMovetoUnpacked() routine into two separate routines sqlite3BtreeTableMoveto() and sqlite3BtreeIndexMoveto(), since we usually know the type of btree in advance. This results in less branching and better performance. (check-in: 3b0d34e5e5 user: drh tags: trunk)
2021-06-18
18:36
Version 3.36.0 (check-in: 5c9a6c0687 user: drh tags: trunk, release, version-3.36.0)