SQLite

Timeline
Login

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

99 check-ins occurring around eac9c0c49650b008.

2018-12-20
15:04
Fix a segfault caused by using the RAISE function incorrectly (library now returns an error instead of crashing). (check-in: ddf06db702 user: dan tags: trunk)
2018-12-19
17:05
Add new interfaces sqlite3_result_pointer(), and sqlite3_value_pointer() and use them to transfer the eponymous FTS3 column pointer to the snippet() and offsets() routines. Cherrypick from commit [8201f4e1] on branch-3.18. (check-in: 553a923c82 user: dan tags: branch-3.19)
16:03
Add interfaces sqlite3_bind_pointer(), sqlite3_result_pointer(), and sqlite3_value_pointer() used to safely move pointer values through SQL without exposing underlying memory address information. Cherrypick from commit [8201f4e1] on branch-3.18. (check-in: 4cb67252d3 user: dan tags: branch-3.9)
14:44
Fix a crash that can follow an OOM in fts3 on this branch. (check-in: de07814857 user: dan tags: branch-3.19)
01:57
Add extra defenses against strategically corrupt databases to fts3/4. (check-in: 882ef4e39b user: drh tags: branch-3.9)
01:44
Add extra defenses against strategically corrupt databases to fts3/4. (check-in: 4f315e4a3d user: drh tags: branch-3.19)
01:38
Add extra defenses against strategically corrupt databases to fts3/4. (check-in: 4bb21d8205 user: drh tags: branch-3.18)
01:30
Add extra defenses against strategically corrupt databases to fts3/4. (check-in: c255889bd9 user: drh tags: branch-3.22)
2018-12-18
20:31
In defensive mode, do not allow shadow tables to be renamed using ALTER TABLE. (check-in: 23e200da5c user: dan tags: trunk)
19:46
Add the "mutexfree-shmlock" patch to this branch. (check-in: c3191fc8fc user: dan tags: begin-concurrent-pnu-wal2)
18:16
Fix a test script problem in wal2savepoint.test. (check-in: e388d02940 user: dan tags: begin-concurrent-pnu-wal2)
18:01
Merge the wal2 feature into this branch. (check-in: a2c618c0a4 user: dan tags: begin-concurrent-pnu-wal2)
17:47
Merge latest begin-concurrent changes into this branch. (check-in: a93ca38b43 user: dan tags: begin-concurrent-pnu)
17:32
Merge latest trunk changes into this branch. (check-in: b3a163b46c user: dan tags: begin-concurrent-wal2)
17:20
Merge latest trunk changes into this branch. (check-in: 123cbb3312 user: dan tags: begin-concurrent)
16:24
Add the ".integrity_check" command to tserver. (check-in: fa46fa3bfc user: dan tags: begin-concurrent-wal2)
2018-12-17
22:19
Move variable declaration to address compilation issue (C89). (check-in: d64f248da3 user: mistachkin tags: trunk)
18:26
Add wal2 related tests to this branch. (check-in: 5645822039 user: dan tags: begin-concurrent-wal2)
15:22
Merge changes from wal2 branch. (check-in: 85f49f0d73 user: dan tags: begin-concurrent-wal2)
15:22
Add extra test case to wal2recover.test. (check-in: 1a5aa73435 user: dan tags: wal2)
2018-12-15
20:59
Merge latest wal2 changes into this branch. (check-in: 06bb80eeb8 user: dan tags: begin-concurrent-wal2)
20:20
Further test cases for wal2 mode. (check-in: 9cb5f8dab6 user: dan tags: wal2)
07:12
Fix errors in comments in fts5.h. (check-in: 4002790d94 user: dan tags: trunk)
2018-12-14
21:58
Experimental support for new sqlite3_bind_blob() and sqlite3_bind_text() interfaces that take an extra void* argument that is passed into the destructor in front of the object that is to be destroyed. (Leaf check-in: 33a1924ebb user: drh tags: custom-destructors)
20:28
Add a missing OP_ColumnsUsed opcode to code for expressions like "? IN (SELECT ...)" in cases where expression can use an index that may contain NULL values. (Backported fix from version 3.14.0). (Leaf check-in: 11368e673c user: drh tags: branch-3.8.9)
20:20
Add the OP_ColumnsUsed opcode (when compiled with SQLITE_ENABLE_COLUMN_USED_MASK) as a hint to the b-tree layer as to which columns of a btree cursor will be used. (Backport from 3.8.11) (check-in: b29e02f877 user: drh tags: branch-3.8.9)
19:53
Add further tests for wal2 mode. (check-in: 54e628f902 user: dan tags: wal2)
18:11
Fix harmless compiler warnings. (check-in: 27221c6990 user: drh tags: trunk)
17:57
Fix possible integer overflow while running PRAGMA integrity_check on a database file with a badly corrupted freelist. (check-in: 395599116d user: drh tags: trunk)
16:20
Back out the expansion of the temporary buffer size from [32754ca6f86da816] and replace it with an explicit test for buffer overreads. (check-in: 8ba3d9f380 user: drh tags: trunk)
16:00
Avoid a buffer overread in ptrmapPutOvflPtr() that can occurs in a corrupt database file that has large entries and uses autovacuum. (check-in: f8b781cf41 user: drh tags: trunk)
13:47
Fix a harmless compiler warning in Sessions. (check-in: fc9791ea98 user: drh tags: trunk)
13:35
Expand the size of the temporary page used during btree rebalancing by a few bytes, to avoid problems with small buffer overreads that can occur on corrupted database files. (check-in: 32754ca6f8 user: drh tags: trunk)
13:18
When saving the position of a cursor at the b-tree layer, allocate a few extra bytes at the end of the buffer used to save the key. Otherwise, if the key is corrupt, the code that restores the cursor position may overread the buffer by a little. (check-in: 160b1e31c0 user: dan tags: trunk)
11:16
Fix a problem with bytecode generation when a query involves two or more indexes on expressions connected by OR. Ticket [d96eba87698a428c1ddd0790ea04] (check-in: 7e4ed8b5c2 user: drh tags: trunk)
08:40
Possible fix for [d96eba87]. (Closed-Leaf check-in: 89a25abfcd user: dan tags: tkt-d96eba87)
03:16
Report corruption when an attempt is made to write a pointer-map page that is also being used as a btree page. Also, fix a bug in fuzzcheck that cause it to overlook a pointer-map bug that was trigger by the fuzzcheck test data, and also fix the pointer-map bug. (check-in: cc42dd1510 user: drh tags: trunk)
03:14
Detect when an attempt is made to write to a pointer map page that is also being used as a btree page and report corruption. (Closed-Leaf check-in: 3036fd71ac user: drh tags: fuzzcheck-fix)
02:29
Fix a bug in the custom in-memory VFS used by fuzzcheck. This bug masks other bugs that should have caused some existing fuzzdata7.db entries to fail, and so this fix is initially on a branch until those other bugs can be repaired. (check-in: e0994e9995 user: drh tags: fuzzcheck-fix)
2018-12-13
22:58
Fix the dbtotxt decoder in the CLI so that it ignores excess bytes. (check-in: 18740bd448 user: drh tags: trunk)
21:52
dbfuzz2 found a NEVER() that is sometimes true. (check-in: 1201615cbb user: drh tags: trunk)
21:11
Add extra tests for database corruption inside the defragmentPage() routine, as dbfuzz2 has found ways for corruption to leak into that point. Add test cases in fuzzdata7.db. (check-in: 997b65117f user: drh tags: trunk)
21:05
Fix a problem in sqlite3BtreeDelete() in which deleting an entry from a corrupt database can leave a btree page with zero cells. (check-in: 682053d1e6 user: drh tags: trunk)
20:49
Add the "decode_hexdb" TCL command to testfixture. Add the dbfuzz001.test module to demonstration how to use decode_hexdb to deserialize a dbtotxt database description for use in a corruption test. (check-in: 1f583c53f3 user: drh tags: trunk)
18:59
Fix the CLI to keep proper track of input line numbers for use in error messages, even after processing in-line hex database inputs using ".open --hexdb". (check-in: 7ffa985816 user: drh tags: trunk)
18:30
Fix the CLI so that the ".open --hexdb" command works even if it is contained in a subscript that is read using ".read". (check-in: 67a87399b8 user: drh tags: trunk)
16:26
Add tests cases for recovery in wal2 mode. (check-in: 34f56f8a42 user: dan tags: wal2)
15:52
Merge the dbtotxt enhancement from trunk. (Closed-Leaf check-in: b386fce9a2 user: drh tags: dbfuzz2-cases)
15:06
Add the "dbtotxt" utility program and the ability to read "dbtotxt" output as a deserialized input database in the CLI, using the --hexdb option to the ".open" command. (check-in: e3bf1d3ea5 user: drh tags: trunk)
12:37
Include OPTS in the build of dbfuzz2. (check-in: eac9c0c496 user: drh tags: trunk)
12:28
Fix the Makefile so that it honors CFLAGS when building sessionfuzz. (check-in: 54231ac4ca user: drh tags: trunk)
03:36
New database corruption test cases discovered by dbfuzz2. The new cases have been added to test/fuzzdata7.db, but have not yet all been fixed, so tests will not currently pass. (check-in: b4210d320c user: drh tags: dbfuzz2-cases)
2018-12-12
21:34
Fix another problem found by Matthew Denton's new fuzzer. (check-in: 2b690dbdff user: drh tags: trunk)
20:39
Add new test file wal2big.test. (check-in: e3e50bcdab user: dan tags: wal2)
20:11
Remove an ALWAYS() from a branch that is not always taken. The test case found by OSSFuzz has been added to TH3. (check-in: 5c7dab8553 user: drh tags: trunk)
19:04
Add tests to ensure that each of the 4 wal read-locks does what it is supposed to. (check-in: 4d5779f31d user: dan tags: wal2)
11:57
OSSFuzz found a case where an assert() inside sqlite3ExprCompare() can be true. Test case added to TH3. (check-in: bc891ac6b6 user: drh tags: branch-3.26)
11:54
Fix a problem with using "<db>-vacuum" (the default) as the state database when resuming an RBU vacuum. (check-in: 6b7567fc0c user: drh tags: branch-3.26)
11:50
Do not use a partial index as a table scan in an IN operator. Fix for ticket [1d958d90596593a77420e59]. (check-in: c1c735a8c6 user: drh tags: branch-3.26)
11:23
OSSFuzz found a case where an assert() inside sqlite3ExprCompare() can be true. Test case added to TH3. (check-in: 23b62fb160 user: drh tags: trunk)
2018-12-11
17:56
Change the way wal2 locks work to ensure a reader only ever has to lock a single slot. (check-in: 18b2c23ac5 user: dan tags: wal2)
13:44
Merge latest trunk changes into this branch. (check-in: d8dd98a39e user: dan tags: wal2)
12:51
Small performance improvement in sqlite3_step(). (check-in: d1db8d5894 user: drh tags: trunk)
12:20
Small performance improvement in the sqlite3_bind() family of interfaces. (check-in: 1dc0c3df32 user: drh tags: trunk)
2018-12-10
20:01
Further refinements to the sqlite3_normalized_sql() interface. TH3 now gives 100% MC/DC on that interface. (check-in: c96bf6cca2 user: drh tags: trunk)
18:15
Refactor the sqlite3_normalized_sql() implementation. (check-in: 06e955e5d2 user: drh tags: trunk)
16:53
Merge latest mutexfree-shmlock changes into this branch. (Leaf check-in: 186b376ec3 user: dan tags: begin-concurrent-pnu-mutexfree-shmlock)
16:52
Make SQLITE_MFS_NSHARD a compile time setting. (check-in: b9a7415190 user: dan tags: mutexfree-shmlock)
16:49
Fix issues with the new normalizer. (Leaf check-in: 057d7d40c5 user: drh tags: normalize-refactor)
16:00
Refactor the sqlite3_normalized_sql() implementation. This is a work-in-progress. There are still issues. (check-in: a4c890b0af user: drh tags: normalize-refactor)
15:58
Merge the latest version of mutexfree-shmlock with this branch. (check-in: 6007abfe09 user: dan tags: begin-concurrent-pnu-mutexfree-shmlock)
15:51
Add extra tests to shmlock.test (direct testing of xShmLock methods). (check-in: d2c785f94c user: dan tags: mutexfree-shmlock)
15:24
Rework the SQLITE_MUTEXFREE_SHMLOCK code to reduce contention. (check-in: d9157dd176 user: dan tags: mutexfree-shmlock)
09:45
Avoid a mutex in-and-out in unixShmBarrier() on this branch. Use __sync_synchronize() instead. (check-in: a8c5fd86ce user: dan tags: mutexfree-shmlock)
09:36
Avoid a mutex in-and-out in unixShmBarrier() on this branch. Use __sync_synchronize() instead. (check-in: 280d1a72dc user: dan tags: begin-concurrent-pnu-mutexfree-shmlock)
08:41
Fix a problem with using "<db>-vacuum" (the default) as the state database when resuming an RBU vacuum. (check-in: c878d74173 user: dan tags: trunk)
02:00
Merge enhancements from trunk. (check-in: b1bbc718c7 user: drh tags: apple-osx)
01:48
Add support for the VACUUM INTO command. (check-in: 77f150b8b4 user: drh tags: trunk)
00:41
Fix the shell1.test test for the new format of the .backup command. (Closed-Leaf check-in: 9748d7995b user: drh tags: vacuum-into)
00:40
Merge fixes from trunk. (check-in: ab1e58fac9 user: drh tags: vacuum-into)
2018-12-09
18:55
New test case for ticket [1d958d90596593a77420e59]. (check-in: b7bf3c9832 user: drh tags: trunk)
2018-12-08
20:30
Do not use a partial index as a table scan in an IN operator. Fix for ticket [1d958d90596593a77420e59]. (check-in: 15bc915dd7 user: drh tags: trunk)
01:09
Add the --async option to the ".backup" command in the CLI. (check-in: 7b6a605b18 user: drh tags: vacuum-into)
00:43
Allow the INTO clause of VACUUM to be a text-valued expression. (check-in: af172b53b4 user: drh tags: vacuum-into)
2018-12-07
23:48
Do not allow VACUUM INTO into a file that already exists. (check-in: 92f70e0fa3 user: drh tags: vacuum-into)
20:40
Merge the VACUUM simplification from trunk. (check-in: 93d92a0a5d user: drh tags: vacuum-into)
20:26
Remove a line of code from VACUUM that is no longer needed, due to the change that allows ATTACH to run within a transaction. (check-in: a92c398fc5 user: drh tags: trunk)
20:25
Add multi-threaded performance test program "tserver" to this branch. Fix bugs in the begin-concurrent/wal2 integration revealed by the same. (check-in: 7bd3b35661 user: dan tags: begin-concurrent-wal2)
17:28
Prototype implementation for the VACUUM INTO command. (check-in: 036e3320a4 user: drh tags: vacuum-into)
16:32
Fix the sqlite3_normalized_sql() interface so that it renders double-quoted string literals as "?". (check-in: 0d8e150434 user: drh tags: trunk)
03:01
Fix dbfuzz2.c so that it works with -DSQLITE_OMIT_INIT (check-in: 9ad796a882 user: drh tags: trunk)
02:01
Fix the sqlite3ExprDup() function so that it correctly duplicates the Window object list on a Select that contains window functions. Fix for ticket [f09fcd17810f65f717]. (check-in: 65aafb5531 user: drh tags: branch-3.26)
01:56
Fix the sqlite3ExprDup() function so that it correctly duplicates the Window object list on a Select that contains window functions. Fix for ticket [f09fcd17810f65f717]. (check-in: db5ed2268e user: drh tags: trunk)
2018-12-06
22:12
Performance improvement: Avoid using sqlite3WalkerSelectExpr() and sqlite3WalkerSelectFrom() twice, so that the compiler will in-line their implementation. (Closed-Leaf check-in: 2b9258b8b0 user: drh tags: ticket-f09fcd17810f)
22:04
Fix the sqlite3ExprDup() routine so that it makes complete duplications of subqueries containing window functions. (check-in: 940174543e user: drh tags: ticket-f09fcd17810f)
20:26
Add the mutexfree-shmlock experiment to the begin-concurrent-pnu branch. (check-in: 3aead209b4 user: dan tags: begin-concurrent-pnu-mutexfree-shmlock)
20:18
Experimental changes to (optionally) allow double-quoted strings to be checked against known identifiers. (Leaf check-in: 73a6b8c1b9 user: mistachkin tags: normalize_v4)
19:56
New test case that still hits an assertion fault, just to prove that the previous checkin merely made the problem more obscure and did not completely fix it. (check-in: a9a3b53264 user: drh tags: ticket-f09fcd17810f)
19:15
Simplify the query flattener so that it does not duplicate the WHERE clause of subquery that is being incorporated into the outer query - copies it directly. This is more efficient. And it also fixes the specific test case show for ticket [f09fcd17810f65f71789525] but it does not resolve the more general problem that sqlite3ExprDup() does not correctly duplicate expressions that contain subqueries with window functions. (check-in: f1b18d44ff user: drh tags: ticket-f09fcd17810f)