SQLite

Timeline
Login

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

200 most recent check-ins using file src/walker.c version fb94aadc

2023-02-16
01:29
Do not compute unused result columns of subqueries. This optimization will potentially resolve the performance optimization request of [ticket baa5bb76c35a124c]. (Closed-Leaf check-in: 0c21b6a5 user: drh tags: branch-3.26)
01:21
Update test cases so that they work with TCL 8.7 and later. (check-in: e9b762de user: drh tags: branch-3.26)
2023-02-15
13:00
Update the configure script so that it contains the correct version number. (check-in: a7cbf308 user: drh tags: branch-3.26)
2019-03-08
15:39
Add the bgckpt.c extension to Makefile.in and Makefile.msc. (check-in: 3712d625 user: drh tags: wal2)
2019-02-05
19:15
Fix memory leaks on this branch. (check-in: e9c5e189 user: dan tags: reuse-schema)
2019-02-04
21:02
Fix a problem with reloading the schema on this branch. (check-in: 5dfbef83 user: dan tags: reuse-schema)
2019-02-02
21:02
Try new approach ensuring that each Schema object is only used by one connection/database at any one time. (check-in: 9e8e5f52 user: dan tags: reuse-schema)
2019-01-23
12:19
Fix a buffer overwrite triggered by a prefix query on a corrupt fts5 table. (check-in: 1d8172a9 user: dan tags: trunk)
2019-01-22
21:17
Fix a buffer overrun that could occur in fts5 if a prefix query is made on a corrupt database. (check-in: 1abc4415 user: dan tags: trunk)
20:18
Do not run shmlock.test as part of the journaltest permutation. (check-in: 5b7d0c78 user: dan tags: trunk)
18:20
Add the SQLITE_ENABLE_EARLY_CURSOR_CLOSE compile-time option which causes read cursors to be closed after their usefulness ends during a two-pass UPDATE. (check-in: 8790368b user: mistachkin tags: branch-3.26)
16:44
Use _strdup() instead of strdup() on Windows builds of the CLI, to avoid a compiler warning reported on the mailing list. (check-in: a7126a4f user: drh tags: trunk)
16:43
Fix the SQLITE_DESERIALIZE_READONLY feature so that it does not cause an assertion fault in the pager. (check-in: b9eccef7 user: drh tags: trunk)
16:11
Update dbfuzz2 to set a maximum database size of 100MiB by default, but with the new --max-db-size N option to change that limit. (check-in: 21d6bb78 user: drh tags: trunk)
16:06
Enhancements to deserialize: (1) Add the SQLITE_FCNTL_SIZE_LIMIT file control to set a maximum size for an in-memory database, defaulting to SQLITE_MEMDB_DEFAULT_MAXSIZE or 1GiB. (2) Honor the SQLITE_DESERIALIZE_READONLY flag. (3) Enhance the TCL interface to support -maxsize N and -readonly BOOLEAN. (4) Add the --maxsize option to the ".open" command and on the command-line for the CLI. (check-in: 30f08d58 user: drh tags: trunk)
13:45
Make sure cursors are opened on all indexes for an UPDATE OR REPLACE regardless of whether or not the indexes are partial or contain columns that might need to be updated. (check-in: e148cdad user: drh tags: trunk)
12:21
Fix another segfault caused by a corrupt fts3 database. (check-in: ba3b8412 user: dan tags: trunk)
02:34
Ensure that a key comparison does not read a collating sequence past the end of the KeyInfo, even if the key field of an index is corrupted by having a string in the last column instead of the ROWID. (check-in: 058a8006 user: drh tags: trunk)
2019-01-21
23:18
Enhance the btree search routine so that it does early detection of impossibly large keys and thereby avoids a large malloc() call. (check-in: 3ecaaee6 user: drh tags: trunk)
17:57
Avoid deferencing a freed pointer following an OOM or SQLITE_CORRUPT error in the fts3 xDestroy method. (check-in: 505ed9a4 user: dan tags: trunk)
16:12
Remove a faulty assert() from fts3. (check-in: 6c33a303 user: dan tags: trunk)
16:01
Make sure the extra bytes allocated for the saved cursor position by check-in [160b1e31c0f27257] are initialized to zero. (check-in: 27375649 user: drh tags: trunk)
14:55
Add the --memtrace option to the CLI. (check-in: a1e12fa2 user: drh tags: trunk)
14:49
Minor fix the fallocate.test module change from [7cd56cad5efead5] (check-in: 94fb7a47 user: drh tags: trunk)
13:47
Add the --max-data and --max-as options to dbfuzz2. Also cause dbfuzz2 to show its maximum RSS size upon exit in standalone mode with the -v option. (check-in: 7ce93e82 user: drh tags: trunk)
2019-01-20
00:03
Add the --max-stack option to dbfuzz2. (check-in: c11ae4fe user: drh tags: trunk)
2019-01-19
15:55
Avoid a division-by-zero error in fts5 caused by a corrupt database. (check-in: 928e6221 user: dan tags: trunk)
15:27
Remove a broken assert() triggered by a "PRAGMA max_page_count = N" invocation, where N is larger than the number of pages in the database image, but smaller than the number of pages in the database file. (check-in: 7cd56cad user: dan tags: trunk)
14:07
Fix a problem with using ALTER TABLE to rename a table or column when the database schema contains a trigger or view that itself contains an expression "<column> AND 0". (check-in: 908ff7ff user: dan tags: trunk)
2019-01-18
21:17
Fix a memory leak introduced by [55c5d72a]. (check-in: fbd681dc user: dan tags: trunk)
21:12
Fix a crash in the fts5vocab module caused by including a "term < NULL" term in a WHERE clause. (check-in: 9e717c43 user: dan tags: trunk)
21:03
Fix an infinite loop caused by a corrupt database in fts3. Also an undefined left-shift in fts5. (check-in: 55c5d72a user: dan tags: trunk)
20:15
Avoid passing a NULL pointer to memcpy in fts5, even if the database is corrupt. (check-in: acccc980 user: dan tags: trunk)
19:33
Typecasts added to the GeoPoly extension to avoid harmless UBSAN warnings. (check-in: a1f6a093 user: drh tags: trunk)
19:26
Fix problems causing undefined left-shift operations in the fts3 snippet() function. (check-in: b90dbaed user: dan tags: trunk)
18:52
Avoid integer overflow when computing the array of a bounding box with the rtree_i32 virtual table. (check-in: b352f159 user: drh tags: trunk)
17:53
Handle oversize floating point values carefully when converting to integers for the '%' binary operator. (check-in: 048add13 user: drh tags: trunk)
16:06
Fix a fairly obscure problem allowing an "ALTER TABLE RENAME col TO ..." statement to modify the schema in such a way as to break a reference within a trigger program. (check-in: 64bec9e6 user: dan tags: trunk)
14:53
Use the full 64-bit integer value in the argument to randomblob(). (check-in: 05df5f7a user: drh tags: trunk)
2019-01-17
20:19
Disable the xfer-optimization if the two tables have the same root page due to schema corruption. (check-in: f31b3bd2 user: drh tags: trunk)
20:06
Fix another corruption related crash in fts5. (check-in: 4538d9af user: dan tags: trunk)
19:33
Add the SQLITE_ENABLE_EARLY_CURSOR_CLOSE compile-time option which causes read cursors to be closed after their usefulness ends during a two-pass UPDATE. (check-in: 7def6c8e user: drh tags: trunk)
19:11
Fix a buffer overwrite that could occur when running an fts5 prefix query against a corrupt database. (check-in: 3910b563 user: dan tags: trunk)
17:39
Fix problems with joining two or more fts5_vocab tables that access the same underlying fts5 table. (check-in: 49956395 user: dan tags: trunk)
15:47
Sync up with the latest enhancements on trunk. (check-in: 475a179a user: drh tags: apple-osx)
15:40
Revamp the SrcList allocator routines to be methods of Parse instead of being methods of the "sqlite3" object, so that they can leave better error messages when the SrcList object grows too large. (check-in: df08d472 user: drh tags: trunk)
14:34
Limit the size of SrcList objects to 200 entries (compile-time configurable using -DSQLITE_MAX_SRCLIST=n). The maximum number of tables in a join has always been 64, so this is not a real constraint on capability. Limiting the size of a SrcList prevents DOS attacks (discovered by OSSFuzz) using crazy nexted CTE joins. (check-in: 7cac614d user: drh tags: trunk)
04:40
Fix a corner-case for the logic that cause an insert of a NULL into an INTEGER PRIMARY KEY column to be converted into a valid integer key, when the NULL results from a CASE expression that lacks an ELSE clause. (check-in: 9a425051 user: drh tags: trunk)
03:43
Ensure that the variable-length integer decoder in FTS3 never tries to left-shift a negative number. (check-in: 10ffc1fe user: drh tags: trunk)
01:06
Fix a failure in sqlite3ExprCompare() (check-in: 835e2cc5 user: drh tags: trunk)
2019-01-16
20:48
Fix a problem with fix [b4b57413]. (check-in: ca7b7aae user: dan tags: trunk)
19:44
Fix a problem in the fts3 matchinfo() function with corrupt database handling. (check-in: 24ed5fb6 user: dan tags: trunk)
19:26
Fix a problem in the code generator for sorting results with SRT_EphemTab and a LIMIT clause. (check-in: 49fcde2f user: drh tags: trunk)
14:58
Fix a problem with renaming a column that is used as part of an ORDER BY on a compound SELECT within a database view or trigger. (check-in: b4b57413 user: dan tags: trunk)
12:05
Avoid a dangling pointer comparison when renaming a table that has a trigger that itself contains a window function with an (illegal) column reference in a FOLLOWING expression. (check-in: d45bee36 user: dan tags: trunk)
11:38
Fix a memory leak that could occur in fts3 when handling a corrupt database. (check-in: 65cebb06 user: dan tags: trunk)
2019-01-15
20:51
Fix a problem with ALTER TABLE and vector assignments in UPDATE statements within triggers. (check-in: cc6cd753 user: dan tags: trunk)
18:14
Handle SQL NULL values without crashing in the fts5 snippet() and highlight() functions. (check-in: a5e9cc79 user: dan tags: trunk)
16:14
Fix a buffer overread in fts3 caused by a corrupt record. (check-in: e54efd60 user: dan tags: trunk)
15:18
Have fts5 reject attempts to insert a non-integer, non-null value into a rowid column with SQLITE_MISMATCH. (check-in: 4a9483f8 user: dan tags: trunk)
14:44
Fix a harmless memory leak in the Lemon parser generator utility program. (check-in: 1caff0fb user: drh tags: trunk)
14:31
Fix a problem triggered by DELETE statements with WHERE clauses that use the OR-optimization on some virtual tables. (check-in: ecf5caa7 user: dan tags: trunk)
2019-01-14
20:44
Add scalar function "prefix_length()" to ext/misc/prefixes.c. (check-in: 0bf15505 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: 11b8a4cb user: dan tags: trunk)
16:16
Add the "prefixes" table-valued function in the ext/misc folder. (check-in: f0fd2163 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: 9cd64ce4 user: dan tags: trunk)
15:09
Fix a problem with querying a corrupt fts3 database. (check-in: 65e50706 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: ddc3697e user: drh tags: trunk)
11:56
Have fts3 ignore empty sets of parenthesis if built with SQLITE_ENABLE_FTS3_PARENTHESIS. (check-in: c93c6b45 user: dan tags: trunk)
05:48
Avoid reading off the front of a page buffer when balancing a corrupt btree page. (check-in: cb505090 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: 824f9324 user: drh tags: trunk)
20:17
Relax the minimum size database file constraint on the dbtotxt utility program. (check-in: 97e723d7 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: 35f04235 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: ac3b6021 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: 0f850a25 user: drh tags: trunk)
20:55
Fix another problem with handling corrupt records in fts5_decode(). (check-in: 726e398b 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: e35eb877 user: drh tags: trunk)
14:58
Fix a problem with corrupt database handling in the fts3 matchinfo() function. (check-in: 703646b1 user: dan tags: trunk)
00:45
Improved detection of shadow table corruption in the fts5_decode() SQL function. (check-in: b74e5f3f user: drh tags: trunk)
00:12
Improved shadow table corruption detection in the matchinfo() function of FTS3. (check-in: 567be3bb user: drh tags: trunk)
00:07
Indicate that the database may be corrupt in the fts3corrupt4.test test script. (check-in: 473626d5 user: drh tags: trunk)
2019-01-11
23:08
Use 64-bit APIs in the fileio.c extension. (check-in: b49d56a0 user: drh tags: trunk)
21:34
Fix a segfault in fts3 prompted by a corrupted database. (check-in: 2d7b1d1d user: dan tags: trunk)
19:27
Fix another problem with corrupt databases in fts5. (check-in: 9bf811ea 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: 556dd892 user: dan tags: trunk)
17:20
Improved detection and reporting of errors in the readfile() extension SQL function. (check-in: d2f0b5a4 user: drh tags: trunk)
17:19
Omit errors about missing SAVEPOINTs when aborting the .archive command in the CLI. (check-in: 2a47387b user: drh tags: trunk)
16:44
Improved detection of cell corruption in sqlite3VdbeRecordCompareWithSkip(). (check-in: fa47f4c6 user: drh tags: trunk)
15:26
Merge documentation changes from branch begin-concurrent-wal2 into this branch. (check-in: cf8a0c71 user: dan tags: begin-concurrent-pnu-wal2)
15:22
Merge documentation changes from branch "begin-concurrent" into this branch. (Closed-Leaf check-in: 41e742bd user: dan tags: begin-concurrent-wal2)
15:06
Add new documentation file begin_concurrent.md. (check-in: fdbf97e6 user: dan tags: begin-concurrent)
15:00
Merge latest begin-concurrent-wal2 changes (documentation only). (check-in: d0ab56a3 user: dan tags: begin-concurrent-pnu-wal2)
14:59
Merge latest wal2 changes (documentation only) into this branch. (check-in: 820ba1cc user: dan tags: begin-concurrent-wal2)
14:58
Add new file doc/wal2.md to this branch. (check-in: b495dce1 user: dan tags: wal2)
14:46
Fix PRAGMA integrity_check so that it does not cancel the PRAGMA vdbe_debug setting. (check-in: aaa3a19f user: drh tags: trunk)
14:38
Add the --vdbe-debug command-line option to dbfuzz2. (check-in: 599b4df4 user: drh tags: trunk)
14:22
Add the "dbfuzz2" target to main.mk. Remove an unused local variable from dbfuzz2.c. (check-in: 05c7609c user: drh tags: trunk)
13:32
The keywords TRUE and FALSE should only act as boolean literal values if unquoted. (check-in: 5547f39d user: drh tags: trunk)
13:03
Separate makefile targets for "dbfuzz2", "dbfuzz2-asan", and "dbfuzz2-msan". (check-in: ea119641 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: 240f1c0c user: dan tags: trunk)
18:35
Fix a memory leak in fts5. (check-in: ff3b011f 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: 3291b2a6 user: dan tags: trunk)
15:17
Fix further problems with fts5 handling corrupt databases. (check-in: 83c467d7 user: dan tags: trunk)
14:33
More aggressive early detection of orphaned and malformed autoindexes when parsing the schema. (check-in: 10f9e39d 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: e22d2f90 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: 666cf8f6 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: 931278b2 user: dan tags: trunk)
14:49
Adjustments to the page cache to try to avoid harmless TSAN warnings. (check-in: 383437be user: drh tags: trunk)
11:19
Improved database corruption detection in the dbstat virtual table. (check-in: fc5ecc88 user: drh tags: trunk)
11:06
Small simplification to the dbstat virtual table. (check-in: 9d4c156f 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: f09aa324 user: drh tags: trunk)
2019-01-08
20:02
Use 64-bit math to compute the sizes of memory allocations in extensions. (check-in: ca67f2ec user: drh tags: trunk)
15:18
Performance improvement on the instr() function, especially for large haystacks. (check-in: ce51f1a2 user: drh tags: trunk)
14:28
Fix a possible memory leak when trying to UPDATE a corrupt RTREE index. (check-in: 63eb803d user: drh tags: trunk)
08:02
Fix further problems with fts5 and corrupt databases causing integer overflow. (check-in: 673a7dd6 user: dan tags: trunk)
2019-01-07
16:52
Fix another potential buffer overread in fts5. (check-in: d0e943d9 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: 6281ef97 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: 6064584d user: drh tags: trunk)
01:46
Give symbolic names to the special prepared statements used to implement incremental blob I/O. (Leaf check-in: 2a1cc632 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: a874c649 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: 598d7358 user: drh tags: trunk)
07:17
Fix two more problems with corrupt database handling in fts5. (check-in: 444c7c99 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: fa98748f user: drh tags: trunk)
19:39
Fix the experimental sqlite3_wal_info() API so that it works with wal2 mode. (check-in: 079daedb user: dan tags: begin-concurrent-pnu-wal2)
19:25
Add the "-external" option to the tserver_test.tcl program.. (check-in: ae7c5ed1 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: cf494b41 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: d7f55c62 user: drh tags: trunk)
12:46
Remove debugging pragmas accidently left in by a prior change. (check-in: 26275fc7 user: drh tags: trunk)
12:35
Fix a typo in a comment used to generate documentation. No functional changes. (check-in: ccc4f742 user: drh tags: trunk)
11:20
Fix another fts5 assert() that may fail if the database is corrupt. (check-in: 0888fc2e user: dan tags: trunk)
2019-01-03
19:12
Fix some problems with sqlite3_interrupt() handling in fts5. (check-in: c0eb839a user: dan tags: trunk)
16:03
Fix the csv01.test module so that it works on systems with \r\n line endings. (check-in: 36eaf5a5 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: df939c89 user: drh tags: trunk)
15:22
Fix a harmless compiler warning in the CSV extension. (check-in: fbcd7256 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: bef216df user: dan tags: trunk)
00:44
Fix the geopoly_svg() function so that it returns NULL when given zero arguments. (check-in: 120cb176 user: drh tags: trunk)
2019-01-02
23:49
Fix harmless compiler warnings in the unicode2 logic of FTS3 and FTS5. (check-in: 703029ac 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: 86685679 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: fcb7348b 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: 8445fb6d user: dan tags: wal2)
16:30
Merge latest wal2 changes into this branch. (check-in: c31eeb3c user: dan tags: begin-concurrent-wal2)
16:15
Merge latest trunk changes into this branch. (check-in: 87ef68f9 user: dan tags: wal2)
16:08
Merge latest trunk changes into this branch. (check-in: 5bf212f1 user: dan tags: begin-concurrent)
16:01
Add another test case to vacuum-into.test. (check-in: 0465d2fc user: dan tags: trunk)
15:27
Add test cases for commit [6c6fb1c6]. (check-in: 3961995c user: dan tags: trunk)
14:34
Raise an error if the argument to VACUUM INTO is an identifier. (check-in: 6c6fb1c6 user: drh tags: trunk)
2019-01-01
19:17
Fix another fts5 problem caused by a corrupt database. (check-in: 911342f7 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: 5c188361 user: dan tags: trunk)
13:59
Fix another case in fts5 where a corrupt database could cause a buffer overread. (check-in: f7e6cdc5 user: dan tags: trunk)
2018-12-31
21:43
Fix harmless compiler warnings. (check-in: b57c545a 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: e1303193 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: 4fcdc7a2 user: drh tags: reuse-subqueries)
18:30
Merge enhancements and bug fixes from trunk. (check-in: 9fb646f2 user: drh tags: reuse-subqueries)
17:58
Small changes to the OP_OpenEphemeral opcode to improve testability. (check-in: f856676c 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: 4678cb10 user: drh tags: trunk)
2018-12-29
20:47
Merge latest begin-concurrent changes with this branch. (check-in: 1625887c 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: 48ca30f9 user: dan tags: begin-concurrent)
16:34
Increase coverage provided by permutation "coverage-wal" on this branch. (check-in: f664f940 user: dan tags: begin-concurrent-wal2)
14:23
Additional small performance increase and size reduction to the sqlite3VdbeMakeLabel() mechanism. (check-in: 1bdee199 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: 4a0929ac user: drh tags: trunk)
2018-12-28
21:40
Merge performance enhancements and other patches. (Leaf check-in: 44e1b55a user: drh tags: factor-out-scalar-subselect)
21:32
Merge performance enhancements from trunk. (check-in: 0f1b9ff9 user: drh tags: reuse-subqueries)
20:48
Faster allocation of new sqlite3_stmt objects. (check-in: 891f1f72 user: drh tags: trunk)
20:14
Move the nOpAlloc field from Parse into Vdbe to avoid an extra pointer deference on the fast path in sqlite3VdbeAddOp3(). (check-in: 8f10efc2 user: drh tags: trunk)
19:23
Merge patches and enhancements from trunk. (check-in: da53f3d3 user: drh tags: reuse-subqueries)
18:09
Fix another problem with loading the structure record from a corrupt fts5 database. (check-in: c4d44542 user: dan tags: trunk)
17:45
Fix a problem causing the sqlite_master entry corresponding to a virtual table to be removed by a DROP TABLE even if the call to the vtabs xDestroy() method failed. (check-in: 0140f6db user: dan tags: trunk)
16:20
Add new test file wal2rollback.test to this branch. (check-in: 85a376fc user: dan tags: wal2)
14:33
Avoid an undefined left-shift operation in fts5 caused by malformed utf-8 text. (check-in: c3a3a111 user: dan tags: trunk)
13:57
Fix a buffer overwrite in fts5 triggered by a corrupt database. (check-in: a385298d user: dan tags: trunk)
07:37
Fix problems in fts5 found by ASAN. (check-in: c564bf87 user: dan tags: trunk)
2018-12-27
20:12
Fix another problem with corrupt database handling in fts5. (check-in: fb0d7fba user: dan tags: trunk)
17:11
Merge latest wal2 changes with this branch. (check-in: ea96001e user: dan tags: begin-concurrent-wal2)
16:55
Modify the btree02.test module so that it does not depend on whether TCL interprets a value as a string or as an integer. (check-in: d9e4f957 user: drh tags: trunk)
16:49
Increase test coverage of wal.c provided by permutation "coverage-wal" on this branch. (check-in: 2f7f893a user: dan tags: wal2)
15:36
Fix another problem in fts5 caused by a corrupt schema record. (check-in: ff45f9dd user: dan tags: trunk)
13:52
Fix the filename normalization in the dbtotxt utility program. (check-in: 29a00a05 user: drh tags: trunk)
07:46
Fix a null-pointer dereference that could occur in fts5 with a corrupt database. (check-in: b0a49d5e user: dan tags: trunk)
02:16
Fix a problem in which nested CTEs with the same table name trick the code generator into thinking they are the same CTE, which then tries to use the manifest them both into the same transient table. (check-in: 202dd033 user: drh tags: trunk)
00:30
In the treeview debugging output, provide additional details for the Table object associated with each FROM clause term. (check-in: 11d4682d user: drh tags: trunk)
2018-12-26
20:42
Improve testing of the wal.c changes on this branch. (check-in: 63483e22 user: dan tags: wal2)
19:10
Merge latest trunk changes with this branch. (check-in: 404f9d99 user: dan tags: wal2)
18:34
Update the coverage-wal permutation to cover branches enabled by SQLITE_ENABLE_SNAPSHOT. (check-in: 6821c61f user: dan tags: trunk)
17:49
Add a few more test cases to walvfs.test. (check-in: 14a64df3 user: dan tags: trunk)
16:57
Avoid an "uninitialized value read" problem in fts5 that can occur with a corrupt database. (check-in: 6cae81cd user: dan tags: trunk)
16:04
Fix a problem with handling corrupt databases in the fts5 integrity-check function. (check-in: 9bad745d user: dan tags: trunk)
15:04
Here is the beginnings of an effort to factor out the implementation of scalar subqueries to be implemented as subroutines at the end of the main body of bytecode, after the jump back to the OP_Init opcode. This is an incremental check-in that contains only preliminary changes. (check-in: 50e5f390 user: drh tags: factor-out-scalar-subselect)
14:15
Fix a problem with corrupt fts3 database detection introduced by [95a9a39f]. (check-in: c80bb15b user: dan tags: trunk)
12:50
Fix a problem with the CSV extension when it uses the "header" option on a real file. (check-in: 7acaed08 user: drh tags: trunk)
2018-12-25
11:17
Fix a typo in a comment that is used to generate session documentation. (check-in: a1f50d57 user: drh tags: trunk)
00:15
Increase the number of parameters to sqlite3WhereCodeOneLoopStart() to encourage the compiler to inline that routine within sqlite3WhereBegin(). This gives a performance improvement. (check-in: 3c2ad0e9 user: drh tags: reuse-subqueries)
2018-12-24
20:21
Improvements to EXPLAIN QUERY PLAN formatting. The MULTI-INDEX OR now shows a separate "INDEX" subtree for each index. SCALAR SUBQUERY entries provide a subquery number that is related back to the .selecttrace output. (check-in: 7153552b user: drh tags: reuse-subqueries)
20:00
Add a few more test cases to walfault2.test and walvfs.test. (check-in: 3873941c user: dan tags: trunk)
19:59
Change another fts5 assert() that may fail with a corrupt database to an assert_nc(). (check-in: d9653380 user: dan tags: trunk)
18:51
Add test cases to test file walvfs.test. (check-in: d697f6f3 user: dan tags: trunk)
18:10
Always include OP_Explain opcodes in the bytecode when SQLITE_DEBUG is enabled. (check-in: d8c1235c user: drh tags: trunk)
15:22
Copy some extra test infrastructure from the mutexfree-shmlock branch to trunk. (check-in: 883337ff user: dan tags: trunk)
15:15
Merge latest trunk with this branch. (Leaf check-in: 606b1ead user: dan tags: mutexfree-shmlock)
14:30
Restore a line of code that was previously commented out for debugging. (check-in: e53781f5 user: drh tags: reuse-subqueries)
13:34
Change the way a comparison used to detect corrupt databases in fts3 is done to avoid potential pointer overflow in 32-bit builds. (check-in: 95a9a39f user: dan tags: trunk)