SQLite

Timeline
Login

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

100 check-ins occurring around 33a1924ebb754d8e.

2018-12-22
19:09
Change a faulty assert() in fts5 that could fail on a corrupt db to an if() statement. (check-in: 1daaba9f user: dan tags: trunk)
16:14
Fix one more instance of excess whitespace in test result strings. (check-in: c064964d user: drh tags: trunk)
15:50
Enhance the wal2 header comment in wal.c to explain how the wal-hook is invoked in wal2 mode. (check-in: 118aa7e3 user: dan tags: wal2)
15:46
Remove unnecessary whitespace from testcase result strings. (check-in: ad70f03c user: drh tags: trunk)
15:21
Fix an assert() in fts5 that could fail with a corrupt database. (check-in: 83935b95 user: dan tags: trunk)
13:34
Fix a "jump or move depends on uninitialized value" valgrind error that could occur in fts5 when dealing with a corrupt database. (check-in: 3518c09b user: dan tags: trunk)
09:39
Avoid a left-shift of a negative value (undefined behaviour) when dealing with a corrupt database in fts3. (check-in: b851d124 user: dan tags: trunk)
07:16
Fix cut-and-paste error in test file fts4umlaut.test. (check-in: cad5da1b user: dan tags: trunk)
01:13
Do not all REPLACE to sneak a NULL value into a NOT NULL column. Detect that situation and ABORT instead. Fix for ticket [e6f1f2e34dceeb1ed61531c7e98]. (check-in: db8d1d12 user: drh tags: trunk)
00:34
The OP_Eq and OP_Ne operators have a special P5 value SQLITE_NOTNULL that asserts that the values are not null. Except that is not always true for a corrupt database. Adjust the assert() and add a testcase() to make this point clear. (check-in: a3fdb2c7 user: drh tags: trunk)
2018-12-21
22:11
Update the dbtotxt utility program so that it does not output characters that are special to TCL, thus making the output of dbtotxt easier to insert into test scripts. (check-in: 48438bb3 user: drh tags: trunk)
22:08
Improved detection of shadow table corruption in RTREE. (check-in: b39bf435 user: drh tags: trunk)
20:18
Add new sqlite3_prepare_v3() flag SQLITE_PREPARE_NO_VTAB, for preparing statements that are not allowed to use any virtual tables. Use this to prevent circular references in triggers on virtual table shadow tables from causing resource leaks. (check-in: da587d18 user: dan tags: trunk)
19:55
Use SQLITE_PREPARE_NO_VTAB in rtree as well. (Closed-Leaf check-in: 82a2ae71 user: dan tags: prepare-no-vtab)
19:30
Add tests for the use of SQLITE_PREPARE_NO_VTAB in fts5. (check-in: 19996120 user: dan tags: prepare-no-vtab)
19:29
Add new sqlite3_prepare_v3() flag SQLITE_PREPARE_NO_VTAB, for preparing statements that are not allowed to use any virtual tables. Use this to prevent circular references in triggers on virtual table shadow tables from causing resource leaks. (check-in: 25666e3d user: dan tags: prepare-no-vtab)
18:51
In FTS3, avoid calling memcpy() with a NULL source pointer, even if the transfer amount is zero bytes. (check-in: 1abb83d2 user: drh tags: trunk)
18:50
The fts4umlaut.test module requires FTS5, so do not try to run it without that module. (check-in: dee3ae90 user: drh tags: trunk)
18:17
Fix the node hash function in RTREE to ensure that it always returns a non-negative value. (check-in: 0bf4c70a user: drh tags: trunk)
17:51
Fix a potential NULL-pointer deference in RTREE due to corrupt shadow tables. (check-in: 1fdd3604 user: drh tags: trunk)
16:53
Prevent an infinite loop in rtree that can result from a corrupt shadow table. (check-in: 08566718 user: drh tags: trunk)
15:13
Fix the RTree extension so that it correctly ignores constraints that it does not understand, even if they are against a dimension column. (check-in: ed8531e5 user: drh tags: trunk)
13:30
In RTREE, turn an assert() into an if() because the condition can sometimes be false when dealing with a corrupt database. (check-in: 99bce435 user: drh tags: trunk)
11:53
Remove an assert() that could fail on a corrupt db from fts3_write.c. (check-in: 4cdcda40 user: dan tags: trunk)
2018-12-20
22:08
Do not set the Cursor.seekOp test variable in the OP_NotExists opcode. This is a change to test logic only and does not affect deliverable builds. (check-in: 98f34307 user: drh tags: trunk)
17:32
Fix a bug in the code that detects self-referencing rows as part of foreign key processing. Fix for [50d2a6c2]. (check-in: 16fff053 user: dan tags: trunk)
15:04
Fix a segfault caused by using the RAISE function incorrectly (library now returns an error instead of crashing). (check-in: ddf06db7 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: 553a923c 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: 4cb67252 user: dan tags: branch-3.9)
14:44
Fix a crash that can follow an OOM in fts3 on this branch. (check-in: de078148 user: dan tags: branch-3.19)
01:57
Add extra defenses against strategically corrupt databases to fts3/4. (check-in: 882ef4e3 user: drh tags: branch-3.9)
01:44
Add extra defenses against strategically corrupt databases to fts3/4. (check-in: 4f315e4a user: drh tags: branch-3.19)
01:38
Add extra defenses against strategically corrupt databases to fts3/4. (check-in: 4bb21d82 user: drh tags: branch-3.18)
01:30
Add extra defenses against strategically corrupt databases to fts3/4. (check-in: c255889b 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: 23e200da user: dan tags: trunk)
19:46
Add the "mutexfree-shmlock" patch to this branch. (check-in: c3191fc8 user: dan tags: begin-concurrent-pnu-wal2)
18:16
Fix a test script problem in wal2savepoint.test. (check-in: e388d029 user: dan tags: begin-concurrent-pnu-wal2)
18:01
Merge the wal2 feature into this branch. (check-in: a2c618c0 user: dan tags: begin-concurrent-pnu-wal2)
17:47
Merge latest begin-concurrent changes into this branch. (check-in: a93ca38b user: dan tags: begin-concurrent-pnu)
17:32
Merge latest trunk changes into this branch. (check-in: b3a163b4 user: dan tags: begin-concurrent-wal2)
17:20
Merge latest trunk changes into this branch. (check-in: 123cbb33 user: dan tags: begin-concurrent)
16:24
Add the ".integrity_check" command to tserver. (check-in: fa46fa3b user: dan tags: begin-concurrent-wal2)
2018-12-17
22:19
Move variable declaration to address compilation issue (C89). (check-in: d64f248d user: mistachkin tags: trunk)
18:26
Add wal2 related tests to this branch. (check-in: 56458220 user: dan tags: begin-concurrent-wal2)
15:22
Merge changes from wal2 branch. (check-in: 85f49f0d user: dan tags: begin-concurrent-wal2)
15:22
Add extra test case to wal2recover.test. (check-in: 1a5aa734 user: dan tags: wal2)
2018-12-15
20:59
Merge latest wal2 changes into this branch. (check-in: 06bb80ee user: dan tags: begin-concurrent-wal2)
20:20
Further test cases for wal2 mode. (check-in: 9cb5f8da user: dan tags: wal2)
07:12
Fix errors in comments in fts5.h. (check-in: 4002790d 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: 33a1924e 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: 11368e67 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: b29e02f8 user: drh tags: branch-3.8.9)
19:53
Add further tests for wal2 mode. (check-in: 54e628f9 user: dan tags: wal2)
18:11
Fix harmless compiler warnings. (check-in: 27221c69 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: 39559911 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: 8ba3d9f3 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: f8b781cf user: drh tags: trunk)
13:47
Fix a harmless compiler warning in Sessions. (check-in: fc9791ea 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: 32754ca6 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: 160b1e31 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: 7e4ed8b5 user: drh tags: trunk)
08:40
Possible fix for [d96eba87]. (Closed-Leaf check-in: 89a25abf 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: cc42dd15 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: 3036fd71 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: e0994e99 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: 18740bd4 user: drh tags: trunk)
21:52
dbfuzz2 found a NEVER() that is sometimes true. (check-in: 1201615c 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: 997b6511 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: 682053d1 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: 1f583c53 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: 7ffa9858 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: 67a87399 user: drh tags: trunk)
16:26
Add tests cases for recovery in wal2 mode. (check-in: 34f56f8a user: dan tags: wal2)
15:52
Merge the dbtotxt enhancement from trunk. (Closed-Leaf check-in: b386fce9 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: e3bf1d3e user: drh tags: trunk)
12:37
Include OPTS in the build of dbfuzz2. (check-in: eac9c0c4 user: drh tags: trunk)
12:28
Fix the Makefile so that it honors CFLAGS when building sessionfuzz. (check-in: 54231ac4 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: b4210d32 user: drh tags: dbfuzz2-cases)
2018-12-12
21:34
Fix another problem found by Matthew Denton's new fuzzer. (check-in: 2b690dbd user: drh tags: trunk)
20:39
Add new test file wal2big.test. (check-in: e3e50bcd 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: 5c7dab85 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: 4d5779f3 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: bc891ac6 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: 6b7567fc 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: c1c735a8 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: 23b62fb1 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: 18b2c23a user: dan tags: wal2)
13:44
Merge latest trunk changes into this branch. (check-in: d8dd98a3 user: dan tags: wal2)
12:51
Small performance improvement in sqlite3_step(). (check-in: d1db8d58 user: drh tags: trunk)
12:20
Small performance improvement in the sqlite3_bind() family of interfaces. (check-in: 1dc0c3df 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: c96bf6cc user: drh tags: trunk)
18:15
Refactor the sqlite3_normalized_sql() implementation. (check-in: 06e955e5 user: drh tags: trunk)
16:53
Merge latest mutexfree-shmlock changes into this branch. (Leaf check-in: 186b376e user: dan tags: begin-concurrent-pnu-mutexfree-shmlock)
16:52
Make SQLITE_MFS_NSHARD a compile time setting. (check-in: b9a74151 user: dan tags: mutexfree-shmlock)
16:49
Fix issues with the new normalizer. (Leaf check-in: 057d7d40 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: a4c890b0 user: drh tags: normalize-refactor)
15:58
Merge the latest version of mutexfree-shmlock with this branch. (check-in: 6007abfe user: dan tags: begin-concurrent-pnu-mutexfree-shmlock)
15:51
Add extra tests to shmlock.test (direct testing of xShmLock methods). (check-in: d2c785f9 user: dan tags: mutexfree-shmlock)
15:24
Rework the SQLITE_MUTEXFREE_SHMLOCK code to reduce contention. (check-in: d9157dd1 user: dan tags: mutexfree-shmlock)
09:45
Avoid a mutex in-and-out in unixShmBarrier() on this branch. Use __sync_synchronize() instead. (check-in: a8c5fd86 user: dan tags: mutexfree-shmlock)