SQLite

Timeline
Login

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

254 check-ins using file src/util.c version 30df8356e2

2022-01-21
16:47
When computing a vector to be used as a key for an index lookup, do not check for NULL values and abort until after all key values have been computed, in case one of the later key values involves some initialization that is needed by a LEFT JOIN. Fix for the problem identified by Forum post ab95010d410a0a55. (Leaf check-in: 3bc8d16207 user: drh tags: branch-3.37)
2022-01-20
14:51
A better and more robust fix for the problem of reading a read-only WAL mode database with existing -wal and -shm files, replacing [f426874e005e3c23]. (check-in: 1266220a01 user: drh tags: branch-3.37)
12:36
Fix the ability to read read-only WAL-mode database when -shm is present, ([00ec95fcd02bb415|check-in 00ec95fcd02bb415]) so that it works for the case of 64K page size. (check-in: 2cc15e2f29 user: drh tags: branch-3.37)
2022-01-17
23:53
Allow an "IntReal" value to count as a REAL when checking types for insertion into a generated column on a STRICT table. Forum post fa012c77796d9399. (check-in: b6fb223d90 user: drh tags: branch-3.37)
19:10
Merge the begin-concurrent-pnuu branch into begin-concurrent. (check-in: 22fb505005 user: drh tags: begin-concurrent)
2022-01-07
14:09
Merge 3.37.2 changes into the begin-concurrent-pnu branch. (Leaf check-in: e525892d3d user: drh tags: begin-concurrent-3.37)
2022-01-06
14:16
Merge the 3.37.2 patches into the reuse-schema branch. (Leaf check-in: d7ec5a2b4a user: drh tags: reuse-schema-3.37)
13:25
Version 3.37.2 (check-in: 872ba256cb user: drh tags: release, version-3.37.2, branch-3.37)
2022-01-05
21:08
Remove two NEVER() macros that can sometimes be true if the database is corrupt. dbsqlfuzz 0414d2c18290fc80fd5fb540def7d3e46c1ae9c6. (check-in: e1871201e7 user: drh tags: branch-3.37)
18:56
Increase the version number to 3.37.2 (check-in: 7b911356af user: drh tags: branch-3.37)
16:02
Fix an assert() failure that could follow an OOM when coding a RETURNING trigger. dbsqlfuzz case 5d3e2438f15dc32b473d9f29413157857efa1212. (check-in: 93965e67e2 user: drh tags: branch-3.37)
12:01
Improved handling of OOM errors in sqlite3ExpandReturning(). dbsqlfuzz 1040b720f0bbc3bdcfe7336acffbf71517e3ef82. (check-in: b9ed2a2921 user: drh tags: branch-3.37)
2022-01-02
19:43
Do not open a rollback journal file when the journal_mode is OFF, even if such a file exists on disk. See [forum/forumpost/ec2a102440|forum post ec2a102440] for a description. I so far have been unable to find any harm to come of the problem, other than the assertion fault when in DEBUG mode. (check-in: 71f21f172c user: drh tags: branch-3.37)
18:10
Clear the cache of triggers used to implement CASCADE foreign key constraints whenever the schema changes. Fix for the problem identified by forum post 2831335356. (check-in: 4f1313c67f user: drh tags: branch-3.37)
17:46
Earlier detection of corruption in sqlite3BtreeDelete(). Fix for the assertion fault reported by forum post 9d78389221. (check-in: eb07219965 user: drh tags: branch-3.37)
17:37
Do not raise an SQLITE_SCHEMA error if in sqlite3Init(). Fix for PoC #2 in forum post b03d86f951. See TH3 for test cases. (check-in: 25beca31cf user: drh tags: branch-3.37)
17:24
Fix an obscure problem with releasing savepoints stored in an in-memory journal that could cause subsequent savepoint rollback to fail. (check-in: 3c0806e4df user: drh tags: branch-3.37)
17:14
Remove an obsolete assert() statement that no longer does anything useful and which is not always true. Fix for PoC #1 of forum post b03d86f951. (check-in: 0829c1001b user: drh tags: branch-3.37)
17:13
Fix a faulty assert() statement - adding a CORRUPT_DB term - based on a test case derived from [562805cf488a455c]. Also add a test case to that prior issue. (check-in: f9505fcb28 user: drh tags: branch-3.37)
17:02
Fix harmless compiler warnings seen with MSVC. (check-in: 6e08a542ad user: drh tags: branch-3.37)
17:00
Move the pTriggerPrg and pCleanup elements of the Parse object up into the section of that object that is persisted across calls to sqlite3NestedParse(). This fixes a memory leak reported in forum post 24bd1fef7e9323ef. (check-in: ee8b2397a6 user: drh tags: branch-3.37)
2021-12-30
16:14
Merge the 3.37.1 patches into the reuse-schema branch. (check-in: e9e95c8fc6 user: drh tags: reuse-schema-3.37)
15:30
Version 3.37.1 (check-in: 378629bf2e user: drh tags: release, version-3.37.1, branch-3.37)
12:26
Disable the atof1.test test module on non-x64 hardware. (check-in: 986a94d036 user: drh tags: branch-3.37)
11:35
Fix windowC tests to specify little-endian or big-endian UTF16, for cross-platform portability. Forum post 559b84a5c6|. And give the correct prefix to tests in the windowC.test module. (check-in: 8af7cb2a3e user: drh tags: branch-3.37)
11:27
Do not attempt to reprepare a prepared statement that returns SQLITE_SCHEMA if there was an OOM. This enhancement supercedes check-in [fee469925231d074]. (check-in: 103f95db3e user: drh tags: branch-3.37)
11:13
Change an assert() in FTS3 into assert_fts3_nc(), since it is a harmless condition that can occur when processing a corrupt database file. (check-in: 35e2b27af7 user: drh tags: branch-3.37)
03:56
Fix a minor issue in the configure script. (check-in: 0413d37e32 user: drh tags: branch-3.37)
03:22
Following a prior error, an ALWAYS() in sqlite3ExprCanBeNull() might be false. dbsqlfuzz 5dbec6678a20e7595a34dfdd869a3b9722b3ca43. (check-in: b33e47709a user: drh tags: branch-3.37)
03:12
When a table has an INTEGER PRIMARY KEY ON CONFLICT REPLACE and some other uniqueness constraint, and it participates in an upsert on that other constraint, ensure that code that checks for conflicts on the INTEGER PRIMARY KEY is well-formed. Fix for the problem reported by forum post 06b16b8b29f8c8c3. (check-in: 1f1e0b4e6d user: drh tags: branch-3.37)
2021-12-15
13:48
Update this branch with the latest trunk and wal2 changes, including the checkpoint-on-close wal2 mode fix. (check-in: cffc31bf9a user: dan tags: begin-concurrent-report-wal2)
13:42
Merge checkpoint-on-close fix from wal2 branch. (check-in: a92eca6c9c user: dan tags: begin-concurrent-pnu-wal2)
12:51
Fix a problem causing one wal file to be deleted without being checkpointed on close in cases where the last connection to close the db does so with an out of date wal-index header in memory. (check-in: b0a70a2356 user: dan tags: wal2)
2021-12-09
16:45
Pickup trunk .mode upgrade + cosmetic shell changes (check-in: 8dc69c81b9 user: larrybr tags: cli_extension)
16:26
Add ".mode off" and ".mode count" to the CLI. (check-in: 1eefd957ff user: drh tags: trunk)
14:15
New test cases added to test/fuzzdata8.db (check-in: 7046877006 user: drh tags: trunk)
14:09
Do not attempt to reprepare a prepared statement that returns SQLITE_SCHEMA if there was an OOM. This enhancement supercedes check-in [fee469925231d074]. (check-in: 94fdbeffaf user: drh tags: trunk)
04:45
Closer to passing all Tcl tests (with an odd failure) (check-in: 6956e98908 user: larrybr tags: cli_extension)
2021-12-08
20:36
Clarity tweak for date.c (check-in: db58b2def0 user: larrybr tags: trunk)
18:50
Enhance the sqlite3SrcListAppendFromTerm() routine so that it sets the Parser error on an OOM, causing an earlier unwind of the stack. (check-in: fee4699252 user: drh tags: trunk)
16:07
In the WhereClause object, do not assume that all TERM_VIRTUAL terms appear at the end of the list, because that is no longer true. Instead, keep a separate nBase count that is the size of the list excluding the tail of virtual terms. Use nBase instead of nTerm when scanning terms that are not virtual. Add assert()s to validate correctness of WhereClause. (check-in: 6024682ca4 user: drh tags: trunk)
2021-12-07
23:02
For CLI, extensibility refinement and small steps toward embedability (check-in: ad9970bcb5 user: larrybr tags: cli_extension)
2021-12-06
19:11
Merge trunk fixes into the bloom-filter branch. (check-in: edacf8034d user: drh tags: bloom-filter)
19:03
Fix an OOB read that could occur in fts5 when processing corrupt records. (check-in: 734606ea1a user: drh tags: branch-3.37)
18:57
Fix an OOB read that could occur in fts5 when processing corrupt records. (check-in: bb9b1a15f7 user: dan tags: trunk)
17:23
Create new branch named "ppvar_manage" (Leaf check-in: 74ee8d2bda user: larrybr tags: ppvar_manage)
16:56
Do not allow SQLITE_LIMIT_LENGTH to be set lower than 1 as an SQLITE_LIMIT_LENGTH of 0 causes lots of unnecessary problems for users of the sqlite3_str object. (check-in: 286243f3a4 user: drh tags: branch-3.37)
16:51
Do not allow certain dangerous ".testctrl" commands in safe mode. (check-in: 4602644f85 user: drh tags: branch-3.37)
16:42
Fix SQLITE_TESTCTRL_IMPOSTER so that it is a harmless no-op if the schema parameter is invalid. (check-in: b15c553c2c user: drh tags: branch-3.37)
16:36
In the shell tool, avoid modifying internal data structures until after the arguments to ".open" have been parsed. (check-in: cbd69ed8af user: drh tags: branch-3.37)
16:29
Start a new branch on which to cherrypick fixes against 3.37.0. (check-in: cea9e41aae user: drh tags: branch-3.37)
16:22
Merge .testctrl safe mode blocks (check-in: a42fc4ac08 user: larrybr tags: cli_extension)
15:40
Do not allow SQLITE_LIMIT_LENGTH to be set lower than 1 as an SQLITE_LIMIT_LENGTH of 0 causes lots of unnecessary problems for users of the sqlite3_str object. (check-in: 8fd5b8ec4a user: drh tags: trunk)
15:24
Do not allow certain dangerous ".testctrl" commands in safe mode. (check-in: 080e72d119 user: drh tags: trunk)
15:08
Fix SQLITE_TESTCTRL_IMPOSTER so that it is a harmless no-op if the schema parameter is invalid. (check-in: 2d9a45ab10 user: drh tags: trunk)
13:07
Attempt to vary the size of Bloom filters based on an estimate of how many keys the filter will hold. (check-in: a7adcf6908 user: drh tags: bloom-filter)
2021-12-05
20:19
Run as many Bloom filters as possible before index lookups. (check-in: 06f6fefd67 user: drh tags: bloom-filter)
00:45
Try to run all Bloom filters before any Seeks. This gives a small performance gain on the Star-Schema Benchmark. (check-in: 5be2470f87 user: drh tags: bloom-filter)
2021-12-04
21:11
Miscellaneous cleanup of the new Bloom-filter code. (check-in: 201b6dd875 user: drh tags: bloom-filter)
18:45
Add VdbeCoverage() macros. Adjust the Bloom-filter hash function so that it correctly deals with zero-blobs. (check-in: 629ee2e3e3 user: drh tags: bloom-filter)
18:40
Add design doc for shell extensibility (check-in: 96b8ffb054 user: larrybr tags: cli_extension)
14:24
Apply the Bloom filter only on those terms of an index that have equality constraints. (check-in: a70429596a user: drh tags: bloom-filter)
13:52
Add the "WITH BLOOM FILTER" clause to the EXPLAIN QUERY PLAN output for cases were a Bloom filter is used. (check-in: 8e078c0e40 user: drh tags: bloom-filter)
13:43
First attempt to use Bloom filters to optimize star-schema queries. (check-in: 28161fba9b user: drh tags: bloom-filter)
2021-12-03
19:27
Extension interface tweaks in support of planned usage (check-in: ce2a91438a user: larrybr tags: cli_extension)
19:10
Merge the sqlite3WhereBegin() simplification from trunk. (check-in: 41ba2dfdd3 user: drh tags: bloom-filter)
18:53
Factor the noop-join-elimination optimization out of the sqlite3WhereBegin() routine and into a separate "no-inline" subroutine, in order to reduce the complexity of sqlite3WhereBegin() and thereby encourage C compilers to inline sqlite3WhereCodeOneLoopStart(). (check-in: 6225e9abcb user: drh tags: trunk)
16:02
Merge recent trunk enhancements into the bloom-filter branch. (check-in: 11d97fb8be user: drh tags: bloom-filter)
15:48
Fix exprAnalyze() after recent performance enhancements so that it is able to handle IF_NULL_ROW opcode correctly, again. (check-in: 8029e6bab5 user: drh tags: trunk)
14:57
Fix unreachable branches resulting from prior optimizations. (check-in: f3d6853ee8 user: drh tags: trunk)
14:43
Fix an over-length source code line in build.c. No logic changes. (check-in: b9db5c5fc6 user: drh tags: trunk)
13:42
Performance optimization in the B-Tree cursor allocator btreeCursor(), making it about 800K CPU cycles faster in speedtest1, and reducing the executable size by about 100 bytes. (check-in: 9df939716a user: drh tags: trunk)
2021-12-02
20:30
Make shell buildable, fix a potential leak-to-be (check-in: eab1e1af5b user: larrybr tags: cli_extension)
18:15
Optimizations to exprAnalyze() and sqlite3WhereExprUsage() save about 1.5 million CPU cycles for speedtest1, and result in a smaller binary. (check-in: 1f2252e65d user: drh tags: trunk)
18:09
Merge for CLI fix. (check-in: 98cf18611d user: larrybr tags: cli_extension)
14:28
Move the TK_IS token so that it is adjacent to the TK_IN token, as this allows the C compiler to optimize better, resulting in a slightly smaller and faster executable. (check-in: 8832fa9088 user: drh tags: trunk)
14:16
In the shell tool, avoid modifying internal data structures until after the arguments to ".open" have been parsed. (check-in: fcc509d325 user: dan tags: trunk)
13:45
Remove an unnecessary branch from exprAnalyze(), resulting in a small performance gain. (check-in: 3312be1db3 user: drh tags: trunk)
12:55
Small performance optimization in sqlite3WhereClauseClear(). (check-in: 080b35e62e user: drh tags: trunk)
12:34
More small performance optimizations for sqlite3WhereGetMask(). (check-in: 3de2c557d9 user: drh tags: trunk)
04:00
Small performance optimization in sqlite3WhereGetMask(). (check-in: 7edec54ab0 user: drh tags: trunk)
02:22
Small performance enhancement for whereScanInit(). (check-in: ed84e124c6 user: drh tags: trunk)
01:30
Performance improvement in query planning. (check-in: ca59533bbb user: drh tags: trunk)
2021-12-01
21:07
Merge trunk fixes into the bloom-filter branch. (check-in: 0864bfbf07 user: drh tags: bloom-filter)
19:17
Check for foreign key constraint errors prior to returning the results from a RETURNING clause. See forum post 793beaf322. (check-in: a818ba2ed6 user: drh tags: trunk)
17:46
Extensible shell builder changes in prep for actual extension load (check-in: 00c5af1f7e user: larrybr tags: cli_extension)
16:31
Add a Bloom filter to the automatic-index mechanism. (check-in: 50ac4de1d7 user: drh tags: bloom-filter)
11:03
Add the "static" qualifier to some internal functions in code for various SQLite extensions. (check-in: 8c98678254 user: dan tags: trunk)
2021-11-30
23:00
Merge in 3.37 release (check-in: 15780cb2bb user: larrybr tags: cli_extension)
22:57
Port recent improvements to extensible shell (check-in: bfa94f3d1f user: larrybr tags: cli_extension)
14:07
In the automatic index generator logic, be more precise about when a partial automatic index is allowed in order to capture more cases where it is legal to use a partial automatic index. (check-in: 664b461bb5 user: drh tags: trunk)
2021-11-29
18:09
Merge in the proposed date/time function enhancements: (1) Add the unixepoch() function, (2) the 'auto' modifier and (3) the 'julianday' modifier. (check-in: 19c51b46e4 user: drh tags: trunk)
17:55
Bump the version number up to 3.38.0 in order to begin the next development cycle. (check-in: 8ad1fcaa1b user: drh tags: trunk)
17:23
Add the unixepoch() function and the 'auto' and 'julianday' modifiers. (Closed-Leaf check-in: 559fdc0aa7 user: drh tags: unixepoch)
2021-11-28
19:54
Following a prior error, an ALWAYS() in sqlite3ExprCanBeNull() might be false. dbsqlfuzz 5dbec6678a20e7595a34dfdd869a3b9722b3ca43. (check-in: 4e207401ac user: drh tags: trunk)
2021-11-27
15:12
Merge version 3.37.0 into the reuse-schema branch. (check-in: f83d50d507 user: drh tags: reuse-schema)
15:11
Merge version 3.37.0 into the begin-concurrent-pnu-wal2 branch. (check-in: 2171996a02 user: drh tags: begin-concurrent-pnu-wal2)
15:00
Merge version 3.37.0 into the wal2 branch. (check-in: 3425af625b user: drh tags: wal2)
14:56
Merge version 3.37.0 into the begin-concurrent-report branch. (check-in: 126d7a1d88 user: drh tags: begin-concurrent-report)
14:48
Merge version 3.37.0 into the begin-concurrent-pnu branch. (Closed-Leaf check-in: 910001f283 user: drh tags: begin-concurrent-pnu)
14:45
Merge version 3.37.0 into the begin-concurrent branch. (check-in: c5f2ad1942 user: drh tags: begin-concurrent)
14:13
Version 3.37.0 (check-in: bd41822c74 user: drh tags: trunk, release, major-release, version-3.37.0)
12:03
Fix a harmless comment typo. (check-in: 7c567338ae user: drh tags: trunk)
2021-11-26
20:26
Add platform "Darwin-arm64" to test/releasetest_data.tcl. (check-in: 1d5c9aacb8 user: drh tags: trunk)
17:10
Improved defenses against integer overflow when computing the size of a memory allocations. No bugs were fixed here. But perhaps future bugs will be prevented. (check-in: eb878c01f3 user: drh tags: trunk)
15:08
Fixes to internal comments. No changes to code or documentation. (check-in: 1489b196ce user: drh tags: trunk)
2021-11-24
21:16
Avoid splitting Failure-Detection test cases in wapptest.tcl. (check-in: 654e6cf8ab user: dan tags: trunk)
11:33
Update Makefile.msc to support target "tcltest" in the same way as the autoconf build system. (check-in: 0f131b9225 user: dan tags: trunk)
2021-11-23
22:28
Changes a test pattern for RBU so that it works regardless of whether newer TCL versions are used. (check-in: 5a9921c92a user: drh tags: trunk)
12:59
Fix a compiler warning in the dbserialize method of the TCL interface. (check-in: ba71d030fe user: drh tags: trunk)
11:34
Exclude two recently added tests in where.test from valgrind runs. They fail due to the subtly different handling of real numbers under valgrind. (check-in: e842d2085b user: dan tags: trunk)
2021-11-22
17:08
Merge trunk enhancements into the begin-concurrent-report-wal2 branch. (check-in: 9b2ffa8477 user: drh tags: begin-concurrent-report-wal2)
17:01
Merge trunk enhancements into the begin-concurrent-pnu-wal2 branch. (check-in: 8a9fad0f71 user: drh tags: begin-concurrent-pnu-wal2)
16:50
Omit wal mode tests in memdb1.test for builds and configurations that do not support wal mode. (check-in: 0f13c0d9fd user: dan tags: trunk)
16:48
Omit wal mode tests in vacuum-into.test for builds and configurations that do not support wal mode. (check-in: 65de176354 user: dan tags: trunk)
16:47
Merge trunk enhancements into the wal2 branch. (check-in: 135133b7a6 user: drh tags: wal2)
16:43
Do not attempt to run the tests in alterfault.est with SQLITE_OMIT_ALTERTABLE builds. (check-in: 6f6f31c7df user: dan tags: trunk)
16:39
Merge the latest trunk enhancements into the begin-concurrent-report branch. (check-in: ddc11f5599 user: drh tags: begin-concurrent-report)
16:27
Fix a typo in memdb1.test preventing tests from passing with -DSQLITE_DEFAULT_AUTOVACUUM=1 builds. (check-in: eff4187c50 user: dan tags: trunk)
16:27
Merge the latest trunk enhancements into the begin-concurrent-pnu branch. (check-in: aa045e7b09 user: drh tags: begin-concurrent-pnu)
16:14
Merge the latest trunk changes into the begin-concurrent branch. (check-in: 8f3e68424a user: drh tags: begin-concurrent)
16:06
There are two possible error messages from stat-9.1, depending on compile-time options. Adjust the test case to accept either one. (check-in: 0f567b6107 user: drh tags: trunk)
16:05
Merge recent trunk enhancements into the reuse-schema branch. (check-in: d08832cb93 user: drh tags: reuse-schema)
13:59
In fuzzcheck, improve the defense against long delays due to rogue busy_timeout macros in fuzzer-generated scripts. (check-in: 3024d7ca03 user: drh tags: trunk)
13:35
Fix the build for SQLITE_OMIT_CTE. (check-in: d7ef96bae4 user: drh tags: trunk)
12:59
In the previous check-in, do not overwrite the SQLITE_CORRUPT signal with an SQLITE_OK before exiting fts3auxNextMethod(). (check-in: 396688ae5c user: drh tags: trunk)
08:12
Fix a crash in the fts3aux code that could occur handling corrupt records. (check-in: cdcd65b89e user: dan tags: trunk)
2021-11-20
13:30
New test cases for STRICT and NOT NULL in PRIMARY KEY. (check-in: 0eafbc2f31 user: drh tags: trunk)
2021-11-19
19:11
Small performance increase and size reduction for sqlite3ExprCompare(). This change also handles some corner cases without the need for ALWAYS(). (check-in: d814ba6eff user: drh tags: trunk)
14:02
Fix a benign data race in os_unix.c that might trouble tsan and similar tools. (check-in: 95806ac1da user: dan tags: trunk)
2021-11-18
20:56
Minor tweaks to the way auxiliary tools are built, to make it easier to customize the builds without having to alter the code. (check-in: 90b06b6f42 user: drh tags: trunk)
20:11
Fix a performance regression in rtree introduced by the previous commit. (check-in: 7f42b8e1a2 user: dan tags: trunk)
19:15
Fix a problem slowing down the handling of == constraints in the rtree module. (check-in: 509027e964 user: dan tags: trunk)
15:40
Improve CSV quoting in the CLI using the strstr() function. (check-in: b7927bf910 user: drh tags: trunk)
13:25
Fix an obscure problem associated with quoting of CSV output in the CLI. (check-in: 38a9b66021 user: drh tags: trunk)
2021-11-17
14:21
Apply the begin-concurrent-report patch to the wal2 branch. (check-in: 8eef878213 user: dan tags: begin-concurrent-report-wal2)
2021-11-16
13:36
Fix a problem causing an OOM within an ALTER TABLE ADD COLUMN command that adds a column with a CHECK constraint to go unreported. (check-in: a33f5e93ec user: dan tags: trunk)
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
15:36
Merge all recent trunk changes into the begin-concurrent-report branch. (check-in: 122f4a762a user: drh tags: begin-concurrent-report)
15:26
Merge all recent trunk enhancements into the begin-concurrent-pnu branch. (check-in: b9802d0b47 user: drh tags: begin-concurrent-pnu)
15:18
Merge all recent trunk enhancements into the begin-concurrent-pnu-wal2 branch. (check-in: 07bc13395d user: drh tags: begin-concurrent-pnu-wal2)
15:06
Merge all recent trunk enhancements into the begin-concurrent branch. (check-in: 2d0c8f3099 user: drh tags: begin-concurrent)
14:52
Merge the walIndexPage() enhancement from trunk into the begin-concurrent branch. (check-in: ff2238397f user: drh tags: begin-concurrent)
14:36
Merge all trunk enhancements prior to the walIndexPage() fix into the begin-concurrent branch. (check-in: 6603f00581 user: drh tags: begin-concurrent)
14:00
Merge recent trunk enhancements into the reuse-schema branch. (check-in: 748bce4c01 user: drh tags: reuse-schema)
13:52
Merge the latest trunk enhancements into the wal2 branch. (check-in: 0894f59569 user: drh tags: wal2)
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)
16:38
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. (Closed-Leaf check-in: 6f4369666e user: drh tags: well-ordered-cursors)
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)
16:46
Merge further changes from trunk into this branch. (check-in: 700876b79c user: dan tags: wal2)
16:36
Merge change [6979efbf07d93e7a] from trunk to this branch. (check-in: 2bb2448d60 user: dan tags: wal2)
16:10
Merge changes from trunk into this branch. (check-in: 52667bce48 user: dan tags: wal2)
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
23:32
Merge the latest trunk enhancements into the reuse-schema branch. (check-in: ca09148e13 user: drh tags: reuse-schema)
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)
14:04
Merge the latest trunk enhancements into the reuse-schema branch. (check-in: 7623132efe user: drh tags: reuse-schema)
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)
14:37
Merge all recent trunk changes into the begin-concurrent-report branch. (check-in: 0770f320b9 user: drh tags: begin-concurrent-report)
14:27
Merge trunk enhancements into begin-concurrent-pnu branch. (check-in: 4d972744c3 user: drh tags: begin-concurrent-pnu)
14:24
Merge trunk enhancements into the begin-concurrent-pnu-wal2 branch. (check-in: 1958e6faca user: drh tags: begin-concurrent-pnu-wal2)
14:13
Merge recent trunk enhancements into begin-concurrent branch. (check-in: ae4eed0b7e user: drh tags: begin-concurrent)
14:10
Merge recent trunk enhancements into the reuse-schema branch (check-in: cd15fc3c08 user: drh tags: reuse-schema)
14:01
Merge recent trunk enhancements into the wal2 branch. (check-in: 7e2bc836f6 user: drh tags: wal2)
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)