SQLite

Timeline
Login

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

100 check-ins occurring around ca67f2ec0e294384.

2019-01-14
20:44
Add scalar function "prefix_length()" to ext/misc/prefixes.c. (check-in: 0bf1550507 user: dan tags: trunk)
19:13
Fix a problem causing some Tcl test cases to fail with errors like "expected: [<multiline-whitespace>], got: []". (check-in: 11b8a4cba7 user: dan tags: trunk)
16:16
Add the "prefixes" table-valued function in the ext/misc folder. (check-in: f0fd2163fc user: drh tags: trunk)
15:35
Fix a problem causing a crash if an fts5vocab table was created to query an fts3/4 FTS index. (check-in: 9cd64ce453 user: dan tags: trunk)
15:09
Fix a problem with querying a corrupt fts3 database. (check-in: 65e50706a0 user: dan tags: trunk)
13:32
When parsing a corrupt record using sqlite3VdbeRecordUnpack(), make sure that the resulting UnpackedRecord object is completely initialized, to avoid (harmless) MSAN warnings. (check-in: ddc3697efd user: drh tags: trunk)
11:56
Have fts3 ignore empty sets of parenthesis if built with SQLITE_ENABLE_FTS3_PARENTHESIS. (check-in: c93c6b45a3 user: dan tags: trunk)
05:48
Avoid reading off the front of a page buffer when balancing a corrupt btree page. (check-in: cb50509020 user: drh tags: trunk)
2019-01-13
20:23
In dbfuzz2, avoid using a malloc in the LLVMFuzzerInitialize() initializer routine, so that no memory leaks are reported. Also, show the version of SQLite being used when the -v option is on. (check-in: 824f932469 user: drh tags: trunk)
20:17
Relax the minimum size database file constraint on the dbtotxt utility program. (check-in: 97e723d746 user: drh tags: trunk)
20:17
Improved detection of database corruption while balancing pages from an auto_vacuum database with overflow pages. Test cases in TH3. (check-in: 35f04235c4 user: drh tags: trunk)
00:58
Move a local variable declaration into the outermost scope in which it is used. This fixes an ASAN warning. (check-in: ac3b6021d9 user: drh tags: trunk)
2019-01-12
21:30
Prevent unsigned 32-bit integer overflow from leading to a buffer overread inside of an assert(). The problem fixed here is no reachable in production code. (check-in: 0f850a25d6 user: drh tags: trunk)
20:55
Fix another problem with handling corrupt records in fts5_decode(). (check-in: 726e398b9d user: dan tags: trunk)
16:19
Fix an off-by-one error on a Goto in the code generator, that only causes problems for a REPLACE on an INTEGER PRIMARY KEY in non-debug builds. Test case in TH3. (check-in: e35eb8776e user: drh tags: trunk)
14:58
Fix a problem with corrupt database handling in the fts3 matchinfo() function. (check-in: 703646b1b5 user: dan tags: trunk)
00:45
Improved detection of shadow table corruption in the fts5_decode() SQL function. (check-in: b74e5f3f30 user: drh tags: trunk)
00:12
Improved shadow table corruption detection in the matchinfo() function of FTS3. (check-in: 567be3bb1e user: drh tags: trunk)
00:07
Indicate that the database may be corrupt in the fts3corrupt4.test test script. (check-in: 473626d557 user: drh tags: trunk)
2019-01-11
23:08
Use 64-bit APIs in the fileio.c extension. (check-in: b49d56a0fa user: drh tags: trunk)
21:34
Fix a segfault in fts3 prompted by a corrupted database. (check-in: 2d7b1d1d41 user: dan tags: trunk)
19:27
Fix another problem with corrupt databases in fts5. (check-in: 9bf811ea89 user: dan tags: trunk)
17:41
Fix a problem handling a negative value in the "number-of-pages" database header field. Also a problem with running "REINDEX tbl" against a virtual table for which the SQL passed to sqlite3_declare_vtab() contains PRIMARY KEY or UNIQUE constraints. (check-in: 556dd8922f user: dan tags: trunk)
17:20
Improved detection and reporting of errors in the readfile() extension SQL function. (check-in: d2f0b5a483 user: drh tags: trunk)
17:19
Omit errors about missing SAVEPOINTs when aborting the .archive command in the CLI. (check-in: 2a47387ba6 user: drh tags: trunk)
16:44
Improved detection of cell corruption in sqlite3VdbeRecordCompareWithSkip(). (check-in: fa47f4c658 user: drh tags: trunk)
15:26
Merge documentation changes from branch begin-concurrent-wal2 into this branch. (check-in: cf8a0c71cf user: dan tags: begin-concurrent-pnu-wal2)
15:22
Merge documentation changes from branch "begin-concurrent" into this branch. (Closed-Leaf check-in: 41e742bd0f user: dan tags: begin-concurrent-wal2)
15:06
Add new documentation file begin_concurrent.md. (check-in: fdbf97e611 user: dan tags: begin-concurrent)
15:00
Merge latest begin-concurrent-wal2 changes (documentation only). (check-in: d0ab56a3be user: dan tags: begin-concurrent-pnu-wal2)
14:59
Merge latest wal2 changes (documentation only) into this branch. (check-in: 820ba1cc7e user: dan tags: begin-concurrent-wal2)
14:58
Add new file doc/wal2.md to this branch. (check-in: b495dce153 user: dan tags: wal2)
14:46
Fix PRAGMA integrity_check so that it does not cancel the PRAGMA vdbe_debug setting. (check-in: aaa3a19f8c user: drh tags: trunk)
14:38
Add the --vdbe-debug command-line option to dbfuzz2. (check-in: 599b4df43c user: drh tags: trunk)
14:22
Add the "dbfuzz2" target to main.mk. Remove an unused local variable from dbfuzz2.c. (check-in: 05c7609cfd user: drh tags: trunk)
13:32
The keywords TRUE and FALSE should only act as boolean literal values if unquoted. (check-in: 5547f39de9 user: drh tags: trunk)
13:03
Separate makefile targets for "dbfuzz2", "dbfuzz2-asan", and "dbfuzz2-msan". (check-in: ea119641a7 user: drh tags: trunk)
2019-01-10
19:26
Fix a memory leak in fts5 that could occur if scalar function fts5_decode() was passed a corrupt record. (check-in: 240f1c0c92 user: dan tags: trunk)
18:35
Fix a memory leak in fts5. (check-in: ff3b011f17 user: dan tags: trunk)
17:08
Avoid use-after-free and double-free errors that could occur if an fts5 table is modified in certain ways while there are active cursors. (check-in: 3291b2a6fe user: dan tags: trunk)
15:17
Fix further problems with fts5 handling corrupt databases. (check-in: 83c467d7af user: dan tags: trunk)
14:33
More aggressive early detection of orphaned and malformed autoindexes when parsing the schema. (check-in: 10f9e39d6e user: drh tags: trunk)
13:56
Use the new SQLITE_IDXTYPE_IPK values (3) on Index.idxType to indicate the fake INTEGER PRIMARY KEY index used during query planning. (check-in: e22d2f905f user: drh tags: trunk)
01:12
Fix the fts3DecodeIntArray() function so that it will not read off the end of the buffer it is handed. Any unread integers are set to zero. (check-in: 666cf8f6b3 user: drh tags: trunk)
2019-01-09
21:12
Fix an out-of-bounds read in SQL function fts5_decode() that could occur if it was passed a corrupt record. (check-in: 931278b257 user: dan tags: trunk)
14:49
Adjustments to the page cache to try to avoid harmless TSAN warnings. (check-in: 383437be27 user: drh tags: trunk)
11:19
Improved database corruption detection in the dbstat virtual table. (check-in: fc5ecc88f8 user: drh tags: trunk)
11:06
Small simplification to the dbstat virtual table. (check-in: 9d4c156fa2 user: drh tags: trunk)
02:02
Enhance the ALTER TABLE RENAME COLUMN feature so that it works on tables that have redundant UNIQUE and/or PRIMARY KEY constraints. Fix for ticket [bc8d94f0fbd633fd9a051e3] (check-in: f09aa3248e user: drh tags: trunk)
2019-01-08
20:02
Use 64-bit math to compute the sizes of memory allocations in extensions. (check-in: ca67f2ec0e user: drh tags: trunk)
15:18
Performance improvement on the instr() function, especially for large haystacks. (check-in: ce51f1a2b6 user: drh tags: trunk)
14:28
Fix a possible memory leak when trying to UPDATE a corrupt RTREE index. (check-in: 63eb803dbc user: drh tags: trunk)
08:02
Fix further problems with fts5 and corrupt databases causing integer overflow. (check-in: 673a7dd698 user: dan tags: trunk)
2019-01-07
16:52
Fix another potential buffer overread in fts5. (check-in: d0e943d957 user: dan tags: trunk)
15:57
For SQLITE_ENABLE_PREUPDATE_HOOK builds, disable the optimization for a REPLACE command on a WITHOUT ROWID table with no indexes, triggers or foreign key constraints that causes SQLite to clobber any existing row without separately checking for it. This optimization causes SQLite to omit the expected pre-update-hook callbacks. (check-in: 6281ef974c user: dan tags: trunk)
2019-01-06
02:06
The page size becomes fixed as soon as page1 from a non-empty database file is read. (check-in: 6064584d57 user: drh tags: trunk)
01:46
Give symbolic names to the special prepared statements used to implement incremental blob I/O. (Leaf check-in: 2a1cc6327a user: drh tags: named-blob-I/O)
2019-01-05
21:56
Add the exprNodeCopy() routine that will safely memcpy() an Expr node that might be a size-reduced node. (check-in: a874c64996 user: drh tags: trunk)
21:09
If the OP_ParseSchema opcode with a non-NULL P4 operand does not parse any rows out of the sqlite_master table, that indicates that the sqlite_master table is corrupt, so raise an SQLITE_CORRUPT error. (check-in: 598d7358e7 user: drh tags: trunk)
07:17
Fix two more problems with corrupt database handling in fts5. (check-in: 444c7c99be user: dan tags: trunk)
2019-01-04
23:39
Give a meaningful error on an attempt to use UPSERT on a virtual table, rather than simply not working. (check-in: fa98748f95 user: drh tags: trunk)
19:39
Fix the experimental sqlite3_wal_info() API so that it works with wal2 mode. (check-in: 079daedbe4 user: dan tags: begin-concurrent-pnu-wal2)
19:25
Add the "-external" option to the tserver_test.tcl program.. (check-in: ae7c5ed15d user: dan tags: begin-concurrent-pnu-wal2)
17:12
Update the "tserver" program to report the amount of time spent in COMMIT commands. (check-in: cf494b412c user: dan tags: begin-concurrent-pnu-wal2)
14:29
If the ".open" command fails in the CLI, reopen to :memory: so that at least some database is available for subsequent commands. (check-in: d7f55c62c3 user: drh tags: trunk)
12:46
Remove debugging pragmas accidently left in by a prior change. (check-in: 26275fc7e8 user: drh tags: trunk)
12:35
Fix a typo in a comment used to generate documentation. No functional changes. (check-in: ccc4f7424b user: drh tags: trunk)
11:20
Fix another fts5 assert() that may fail if the database is corrupt. (check-in: 0888fc2e88 user: dan tags: trunk)
2019-01-03
19:12
Fix some problems with sqlite3_interrupt() handling in fts5. (check-in: c0eb839a3c user: dan tags: trunk)
16:03
Fix the csv01.test module so that it works on systems with \r\n line endings. (check-in: 36eaf5a5e5 user: drh tags: trunk)
16:00
Fix the shmlock.test script so that it works with the Windows restriction that UnlockFile must exactly correspond to a prior LockFile. (check-in: df939c89fa user: drh tags: trunk)
15:22
Fix a harmless compiler warning in the CSV extension. (check-in: fbcd72565f user: drh tags: trunk)
15:17
Fix a problem with the second and subsequent sqlite3rbu_savestate() calls made on an RBU vacuum handle. (check-in: bef216dfa1 user: dan tags: trunk)
00:44
Fix the geopoly_svg() function so that it returns NULL when given zero arguments. (check-in: 120cb17683 user: drh tags: trunk)
2019-01-02
23:49
Fix harmless compiler warnings in the unicode2 logic of FTS3 and FTS5. (check-in: 703029ac6d user: drh tags: trunk)
19:46
Merge changes from begin-concurrent-wal2. Also modify the unix-excl shm-locks on this branch so that it is not an error to attempt to release an EXCLUSIVE lock that is not held. (check-in: 86685679b4 user: dan tags: begin-concurrent-pnu-wal2)
17:08
Reinstate assert() statements in os_unix.c that were removed to allow wal-mode SHARED locks to be taken over more than one locking slot (this branch no longer does that, so the assert() statements can go back in). (check-in: fcb7348ba1 user: dan tags: begin-concurrent-wal2)
17:00
Reinstate assert() statements in os_unix.c that were removed to allow wal-mode SHARED locks to be taken over more than one locking slot (this branch no longer does that, so the assert() statements can go back in). (check-in: 8445fb6d5d user: dan tags: wal2)
16:30
Merge latest wal2 changes into this branch. (check-in: c31eeb3c87 user: dan tags: begin-concurrent-wal2)
16:15
Merge latest trunk changes into this branch. (check-in: 87ef68f917 user: dan tags: wal2)
16:08
Merge latest trunk changes into this branch. (check-in: 5bf212f1a7 user: dan tags: begin-concurrent)
16:01
Add another test case to vacuum-into.test. (check-in: 0465d2fc0d user: dan tags: trunk)
15:27
Add test cases for commit [6c6fb1c6]. (check-in: 3961995cb5 user: dan tags: trunk)
14:34
Raise an error if the argument to VACUUM INTO is an identifier. (check-in: 6c6fb1c6ea user: drh tags: trunk)
2019-01-01
19:17
Fix another fts5 problem caused by a corrupt database. (check-in: 911342f751 user: dan tags: trunk)
18:00
Ensure that when a new cursor is opened by OP_OpenDup, any existing cursor with the same id opened by a previous OP_OpenDup is closed first. (check-in: 5c188361a9 user: dan tags: trunk)
13:59
Fix another case in fts5 where a corrupt database could cause a buffer overread. (check-in: f7e6cdc562 user: dan tags: trunk)
2018-12-31
21:43
Fix harmless compiler warnings. (check-in: b57c545a38 user: drh tags: trunk)
20:39
Additional steps to help ensure that scalar subqueries are only evaluated once even if they are used in multiple places within the query. This fixes a performance regression reported on the mailing list and caused by check-in [531eca6104e41e43] which was a fix for ticket [787fa716be3a7f650c]. Think of this check-in as an improved fix for that ticket. (check-in: e130319317 user: drh tags: trunk)
20:13
Remove an optimization that can no longer occur, being superceded by the subquery-reuse optimization. Put an assert in place of the optimization to detect if the need for this optimization ever returns. (Closed-Leaf check-in: 4fcdc7a293 user: drh tags: reuse-subqueries)
18:30
Merge enhancements and bug fixes from trunk. (check-in: 9fb646f29c user: drh tags: reuse-subqueries)
17:58
Small changes to the OP_OpenEphemeral opcode to improve testability. (check-in: f856676c84 user: drh tags: trunk)
16:36
Fix the OP_OpenEphemeral opcode in the bytecode engine so that if it is called a second or subsequent time, it merely clears the existing table rather than creating a new one. Proposed fix for ticket [d0866b26f83e9c55e30de0821f5d]. (check-in: 4678cb1044 user: drh tags: trunk)
2018-12-29
20:47
Merge latest begin-concurrent changes with this branch. (check-in: 1625887c02 user: dan tags: begin-concurrent-wal2)
20:42
Fix a problem causing a corrupt pager-cache if an OOM or IO error was encountered while committing a concurrent transacation. (check-in: 48ca30f9d7 user: dan tags: begin-concurrent)
16:34
Increase coverage provided by permutation "coverage-wal" on this branch. (check-in: f664f940a7 user: dan tags: begin-concurrent-wal2)
14:23
Additional small performance increase and size reduction to the sqlite3VdbeMakeLabel() mechanism. (check-in: 1bdee199a7 user: drh tags: trunk)
02:26
A new implementation of sqlite3VdbeMakeLabel() is faster and makes fewer memory allocations by deferring memory allocation until sqlite3VdbeResolveLabel() is called, at which point the code generator has a better idea of how big the relocation table needs to be. The sqlite3VdbeMakeLabel() routine now takes a Parse* parameter instead of Vdbe*. (check-in: 4a0929ac76 user: drh tags: trunk)
2018-12-28
21:40
Merge performance enhancements and other patches. (Leaf check-in: 44e1b55aab user: drh tags: factor-out-scalar-subselect)
21:32
Merge performance enhancements from trunk. (check-in: 0f1b9ff9e1 user: drh tags: reuse-subqueries)