SQLite

Timeline
Login

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

200 most recent check-ins using file ext/fts5/test/fts5integrity.test version 4317561c

2023-11-29
16:26
Fix a duplicate assert() caused by the second cherrypick in the previous check-in. (Leaf check-in: f10d4fc4 user: drh tags: branch-3.28)
16:07
Remove Window objects from the corresponding Select.pWin list when they are deleted, as they are, for example, when the ORDER BY clause is optimized out. (check-in: f9c6e6a7 user: drh tags: branch-3.28)
2023-10-19
21:05
Ensure that when an ephemeral cursor is reopened with a second invocation of to OP_OpenEphemeral, the sequence counter is reset and the cache marked as stale. Fix for [9cdc5c46]. (check-in: d4bfa8d2 user: drh tags: branch-3.28)
2023-09-15
20:04
Drop support for the view-scan optimization as it was causing multiple performance regressions. In its place, reduce the estimated row count for DISTINCT subsqueries by a factor of 8. (check-in: 796a65fa user: drh tags: branch-3.28)
2023-02-26
11:52
In the omit-unused-subquery-columns optimization, be sure to remove the EP_Skip and EP_Unlikely flags from the result set expressions that get nulled-out. dbsqlfuzz bf1d3ed6e0e0dd8766027797d43db40c776d2b15. Also fix an incorrect ".selecttrace" code block. (check-in: 83a7f13e user: drh tags: branch-3.28)
2023-02-16
21:01
Fix an #ifdef that uses a different macro name from the main branch. (check-in: ad6ac5d3 user: drh tags: branch-3.28)
19:04
Back-port omit-unused-subquery-column enhancements into the 3.28 branch. (check-in: 57a4e91f user: drh tags: branch-3.28)
14:29
Do not compute result columns of subqueries that are never used. Make those columns NULL instead. This optimization potentially resolves the enhancement request described by [ticket baa5bb76c35a124c]. (check-in: 0163b697 user: drh tags: branch-3.28)
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)
2022-10-24
13:50
Improve the ability of the query planner to recognize covering indexes even on tables with more than 63 columns and where the index is over columns beyond the 63rd column. (check-in: 3d1992de user: drh tags: branch-3.28)
2022-10-19
11:22
If a query uses an index where one or more of the columns of the index is an expression and if the corresponding expression is used elsewhere in the query, then strive to read the value of the expression out of the index, rather than recomputing it. This is the "Indexed Expression Optimizations". (check-in: 3da10328 user: drh tags: branch-3.28)
2022-09-01
10:41
In the query planner, add a heuristic that will reduce the cost of a full table scan for a materialized view or subquery if the full scan is the outer-most loop. This is shown to speed up some queries. (check-in: e3754cc1 user: drh tags: branch-3.28)
2022-08-10
17:03
Merge the branch-3.28a fixes into branch-3.28. (check-in: ba6bf331 user: drh tags: branch-3.28)
2022-08-09
20:22
Fix a rounding error caused by scalar->logarithm->scalar conversion when using stat4 data to estimate some range scans. (check-in: 68d86f2b user: drh tags: branch-3.28)
2021-08-11
18:56
Fix an RBU problem with restarting an update after the *-oal file is already larger than 4GiB. (Leaf check-in: 56869f54 user: dan tags: rbu-replace-hack)
18:44
If the special "sqlite_rbu_replace_hack" table is present in an RBU database, use REPLACE instead of INSERT when writing index entries to imposter tables. (check-in: 4b73e151 user: dan tags: rbu-replace-hack)
2021-07-13
15:30
Remove two incorrect assert() statements from the logic used to derive column names and types from subqueries. This allows the SQL associated with CVE-2020-13871 (ticket [c8d3b9f0a750a529]) to be tested. (Closed-Leaf check-in: d2e67220 user: dan tags: branch-3.28a)
2021-07-12
14:38
Fix a defect in the query-flattener optimization identified by ticket [8f157e8010b22af0]. This fix is associated with CVE-2020-15358. (check-in: 9e001b63 user: dan tags: branch-3.28a)
2020-10-22
18:58
Minor tweaks to query planning weights so that when STAT4 is enabled and functioning, a full table scan is more likely to be selected if that seems like the fastest solution. Only do this when STAT4 info is available because an error has a large potential downside. (check-in: 263293f1 user: drh tags: branch-3.28)
2020-10-02
13:57
Import further corner-case fixes for the in-scan-vs-index or OP_SeekScan optimization from trunk. (check-in: c144d640 user: drh tags: branch-3.28)
12:11
For the OP_SeekScan optimization, the OP_IdxGT does not necessarily come right after the OP_SeekGE. So use the P2 operand of OP_SeekScan to point to the first instruction after OP_IdxGT. Problem found by dbsqlfuzz. (check-in: ec37744c user: drh tags: branch-3.28)
02:07
Disable the OP_SeekScan opcode of the in-scan-vs-index optimization when in PRAGMA reverse_unordered_selects mode, as the OP_SeekScan only works with forwards scans. Thanks to OSSFuzz for pointing out the problem to us. (check-in: 9a1cdf7e user: drh tags: branch-3.28)
2020-09-30
18:22
Improved query optimization for multi-column indexes where the second or later columns are constrained by an IN operator and the earlier index columns limit the search to a small number of rows. Use the new OP_SeekScan opcode which does scanning of the relevant range of the index but gives up and falls back to doing a seek if the number of rows scanned grows to large, in order to guard against pathological cases where the estimated number of rows to be scanned is far too small. (check-in: f07ac3fb user: drh tags: branch-3.28)
2020-09-01
02:02
Improvements to the IN-early-out optimization so that it works more efficiently when there are two or more indexed IN clauses on a single table. (check-in: 49b7631e user: drh tags: branch-3.28)
2020-08-31
19:19
An attempt to improve the performance of the IN-early-out optimization (see check-in [09fffbdf9f2f6ce3]) by avoiding unnecessary calls to the b-tree search algorithm in OP_IfNoHope when the index key is at hand and the same answer can be obtained by doing a quick key comparison. Update: Experiment did not work out. (Closed-Leaf check-in: 8301da31 user: drh tags: branch-3.28-in-early-out-fail)
2020-08-17
21:03
When doing an UPDATE or DELETE using a multi-column index where only a few of the earlier columns of the index are useful for the index lookup, postpone doing the main table seek until after all WHERE clause constraints have been evaluated, in case those constraints can be covered by unused later terms of the index, thus avoiding unnecessary main table seeks. (check-in: 0ecda433 user: dan tags: branch-3.28)
2020-05-06
18:46
Provide the SQLITE_DEFAULT_LEGACY_ALTER_TABLE compile-time option. (check-in: b2325a6e user: drh tags: branch-3.28)
2020-01-17
15:33
More restrictions on changes to shadow tables when in defensive mode. (check-in: b302b260 user: drh tags: branch-3.28)
15:24
Validate the type, name, and tbl_name fields of the sqlite_master table when loading the schema, unless writable_schema is engaged. (check-in: 3d13fbf2 user: drh tags: branch-3.28)
14:56
Do not allow shadow tables to be dropped in defensive mode. (check-in: ad1f760f user: drh tags: branch-3.28)
14:30
Import the 3.31.0-beta FTS3/4 code directly into the 3.28 branch, thus providing 3.28 with all the latest 3.31 fixes. FTS3 has not been enhanced to use any core functionality that was not already available in 3.23, so no modifications were made to FTS3 sources for this import. (check-in: be4269c6 user: drh tags: branch-3.28)
2019-12-20
12:55
Do not continue an ALTER TABLE tree walk of a subquery if a prior error is seen in the tree. Report the problem immediately, without continuing. (check-in: 01ca865f user: drh tags: trunk)
12:33
Fix an assert() in btree.c that can fail if an INSERT is attempted on a corrupted database while in PRAGMA writable_schema=ON. (check-in: 07beb362 user: drh tags: trunk)
2019-12-19
22:08
Continuation of [e2bddcd4c55ba3cb]: Add another spot where it is necessary to abort early due to prior errors in sqlite3WindowRewrite(). (check-in: cba2a2a4 user: drh tags: trunk)
21:11
Fix the regexp extension so that it correctly translates all over-length 3-byte UTF8 sequences into 0xfffd. (check-in: 3d4c0bf8 user: drh tags: trunk)
20:37
When an error occurs while rewriting the parser tree for window functions in the sqlite3WindowRewrite() routine, make sure that pParse->nErr is set, and make sure that this shuts down any subsequent code generation that might depend on the transformations that were implemented. This fixes a problem discovered by the Yongheng and Rui fuzzer. (check-in: e2bddcd4 user: drh tags: trunk)
17:42
Detect the invalid use of NULLS LAST on an INTEGER PRIMARY KEY definition of a WITHOUT ROWID table. (check-in: 4417c5bf user: drh tags: trunk)
15:15
Fix the zipfile extension so that INSERT works even if the pathname of the file being inserted is a NULL. Bug discovered by the Yongheng and Rui fuzzer. (check-in: a80f84b5 user: drh tags: trunk)
13:17
Fix incorrect SQL generated by the Lemon change of the previous check-in. (check-in: fccfb8a9 user: drh tags: trunk)
12:29
Modify the parse.sql output file from Lemon so that the RULE table contains a column with the complete text of the rule. (check-in: 329cbb37 user: drh tags: trunk)
03:14
More restrictions on changes to shadow tables when in defensive mode. (Leaf check-in: 4146c629 user: drh tags: branch-3.30)
00:59
Minor enhancement to Win32 locking semantics. (Leaf check-in: ed66ffce user: mistachkin tags: win32LockFlags)
2019-12-18
21:22
Change an unreachable testcase() into an assert() (check-in: 062e00c4 user: drh tags: trunk)
20:51
Continue to back away from the LEFT JOIN optimization of check-in [41c27bc0ff1d3135] by disallowing query flattening if the outer query is DISTINCT. Without this fix, if an index scan is run on the table within the view on the right-hand side of the LEFT JOIN, stale result registers might be accessed yielding incorrect results, and/or an OP_IfNullRow opcode might be invoked on the un-opened table, resulting in a NULL-pointer dereference. This problem was found by the Yongheng and Rui fuzzer. (check-in: 86297431 user: drh tags: trunk)
13:42
Add the --vdbe-debug option to fuzzcheck. (check-in: 289158aa user: drh tags: trunk)
13:02
Enhancements to fuzzcheck on unix so that it captures signals and prints the current test file and test number prior to terminating. (check-in: ae7cbb24 user: drh tags: trunk)
09:17
Add a test case for fix in check-in [1ca0bd982ab1183b] (check-in: 519864da user: drh tags: trunk)
02:12
Correctly unwind the savepoint stack if the database goes read-only in the middle of a savepoint. (check-in: a96d02b4 user: drh tags: trunk)
01:31
Remove an assert() in the code generator that can fail due to an invalid INSERT statement. The same assert() appears again in the VDBE and will fire there if the problem persists in an SQL statement that does not contain errors. Gramfuzz find. (check-in: 9bdd57cb user: drh tags: trunk)
00:05
When processing constant integer values in ORDER BY clauses of window definitions (see check-in [7e4809eadfe99ebf]) be sure to fully disable the constant value to avoid an invalid pointer dereference if the expression is ever duplicated. This fixes a crash report from Yongheng and Rui. (check-in: 1ca0bd98 user: drh tags: trunk)
2019-12-17
12:03
Clean up the ExprList that holds the names of columns in a CTE before checking for unused references in the ALTER TABLE implementation. (check-in: 8223e79f user: drh tags: trunk)
2019-12-16
16:52
When a table is part of a LEFT JOIN and should be a completely NULL row due to the semantics of a LEFT JOIN, make sure any generated columns on that row evaluate to NULL. Ticket [3b84b42943644d6f] (check-in: 02714914 user: drh tags: trunk)
2019-12-15
02:49
Ensure that all ON CONFLICT REPLACE indexes are sorted to the end of the list of indexes for a table, even for weird cases where the same UNIQUE constraint occurs twice with the ON CONFLICT REPLACE clause only on the second one. This avoids an out-of-order contraint processing problem that can arise due to the optimization of check-in [469a62ca33081854]. (check-in: 1e3918ca user: drh tags: trunk)
00:36
Abort the OP_Savepoint opcode early if a virtual table xSync method fails, perhaps due to an interrupt. (check-in: 672e749a user: drh tags: trunk)
2019-12-14
19:55
When a generated column expression is initially parsed, if it contains errors convert the expression to a simple NULL. This prevents additional pieces of the expression tree that are allocated from lookaside from leaking into the schema, where lookaside allocations are not allowed. (check-in: a89b3860 user: drh tags: trunk)
18:08
Due to the previous change, the p5 parameter to OP_VColumn no longer ever contains extraneous bits, so change a testcase() into an assert() to show as much. (check-in: 5b4a88cd user: drh tags: trunk)
17:43
Do not set OP_Column flags on the instructions generated by sqlite3ExprCodeGetColumn() if the opcode generated is not really an OP_Column, which might happen if the column is virtual. Fix for ticket [b439bfcfb7deedc6] (check-in: 2401e047 user: drh tags: trunk)
15:01
Make the sqlite3ExprCodeTarget() expression code generator routine robust in the face of unknown opcodes - it simply generates a NULL value. (check-in: f8e876c8 user: drh tags: trunk)
14:15
Fix problems in fts3 with processing corrupt records and undefined integer overflows. (check-in: 3b873029 user: dan tags: trunk)
2019-12-13
23:38
Fix an utterly harmless "applying zero offset to null pointer" UB warning in sqlite3AtoF(): (check-in: 052fdf5e user: drh tags: trunk)
22:59
Initial exploration of blocky APIs, starting with a variant of sqlite3_exec. (Leaf check-in: fd849d5b user: numist tags: blocky-exec)
21:24
Patch to the page cache to avoid harmless pointer arithmetic that due to bugs in the STD-C spec is technically UB. This is to fix a harmless UBSAN complaint that OSSFuzz is hitting. (check-in: c29fc212 user: drh tags: trunk)
16:04
Change the default lookaside configuration to 40 slots of 1200-bytes each. This actually works out to 30 big slots and 93 small slots using the mini-lookaside allocator. We get the same (or better) lookaside coverage but with 72KB less memory per connection. (check-in: 47b71a84 user: drh tags: two-size-lookaside)
15:48
Cleanup and performance enhancements for mini-lookaside. (check-in: 74805668 user: drh tags: two-size-lookaside)
12:14
Merge fixes from trunk. (check-in: 9c471195 user: drh tags: two-size-lookaside)
11:42
Ensure that there is a containing SELECT statement when processing a normal aggregate function as if it were a window function. (check-in: c1014e80 user: drh tags: trunk)
11:32
*Remove* the macros, not just comment them out. (check-in: e5dc2939 user: drh tags: trunk)
11:31
Remove unused macros formerly used to define built-in aggregate functions. (check-in: 3ef0d44e user: drh tags: trunk)
01:12
Reduce the size of ExprList to 24-bytes per entry, down from 32-bytes per entry. This helps keep lookaside allocations in the mini-size. (check-in: bda92d92 user: drh tags: two-size-lookaside)
00:49
Tie up the loose ends in the ExprList size reduction. (Leaf check-in: 59d0f3af user: drh tags: two-size-lookaside, exprlist-size-reduction)
2019-12-12
22:11
Work toward reducing the incremental size of an ExprList object to 24-byte per entry, from 32-bytes (on a 64-bit machine). This helps the new mini-lookaside allocator to run better by avoiding excessive reallocs. The current change mostly works, but still has a few loose ends to tie up. This check-in is merely a snapshot to save my work. (check-in: fdda76cf user: drh tags: two-size-lookaside, exprlist-size-reduction)
20:58
Reduce the number of call sites to dbMallocRawFinish in the case where n > lookaside.sz (check-in: e392e7f2 user: numist tags: two-size-lookaside)
20:39
Fix an issue where malloc could be used to fulfill a small allocation when a large lookaside slot could have beeen used instead. (check-in: 611020e3 user: numist tags: two-size-lookaside)
20:22
Change the name of the Expr.a.zName field to zEName, so that it has a name that is distinct from other fields and variables and is hence easier to grep for. (check-in: d3783357 user: drh tags: two-size-lookaside)
17:17
Change the size of a mini-lookaside allocation to a macro (MINI_SZ) rather than a magic number (128). (check-in: 5e1949bc user: drh tags: two-size-lookaside)
16:49
Merge enhancements from trunk. (check-in: 6cb053f9 user: drh tags: two-size-lookaside)
15:19
Factor out the conditional (which is only true for rare errors) from the notValid() function in resolve.c, for a performance improvement and size reduction. Also cause failures to set the Expr node to a NULL operator so that it does not cause problems later in case PRAGMA writable_schema=ON has been set. Test cases in TH3. (check-in: c6af9f65 user: drh tags: trunk)
02:50
More efficient implementation of a lookaside allocator that supports mini (in this case, harcoded to 128B) slots. (check-in: b02fdc09 user: numist tags: two-size-lookaside)
00:20
Fix goofy string formatting in lemon.c that dates from the K&R-C days. (check-in: 48ba5e5a user: drh tags: trunk)
2019-12-11
18:53
Improved tracing output from the LEMON-generated parser. (check-in: 4d6d2fc0 user: drh tags: trunk)
16:22
Strengthen check-in [83da4d4104ee1870] by ignoring *all* WHERE-clause constraints for a virtual table that is the right table of a LEFT JOIN, as such constraints are never useful. This fixes an issue discovered by Manuel Rigger. (check-in: 840de36d user: drh tags: trunk)
15:07
When trying to drop a virtual table that has no xDestroy method, invoke the xDisconnect method rather than doing nothing, to avoid a memory leak. (check-in: 1fa29a5f user: drh tags: trunk)
14:25
The xDestroy method of a module might be NULL if the schema is corrupt. (check-in: 0457e7d1 user: drh tags: trunk)
2019-12-10
20:41
Enhance LEMON to provide the ability to mark a rules as one that will never reduce due to intervention of actions. Use this new capability to designate the EXPLAIN rule as NEVER-REDUCES. (check-in: 136cdefb user: drh tags: trunk)
18:10
Use a statement journal on a CREATE VIRTUAL TABLE statement in case the VCreate opcode fails. (check-in: aa3b0eb8 user: drh tags: trunk)
15:05
Fix parser bugs: require a semicolon after an EXPLAIN command. (check-in: 707a058a user: drh tags: trunk)
03:40
Avoid a buffer overread in fts5 that could occur when parsing corrupt configuration records. (check-in: 355afd77 user: dan tags: trunk)
02:48
Set the affinity of regular columns prior to computing the values of generated columns. Ticket [d7c3f125c925c522] (check-in: d47d66e3 user: drh tags: trunk)
2019-12-09
19:44
Rename a local variable to avoid masking a function parameter and thus causing a harmless compiler warning. (check-in: f065cf00 user: drh tags: trunk)
19:29
Add a NEVER() to the ALTER TABLE fix in check-in [1d2e53a39b87e364] (check-in: c7309ed3 user: drh tags: trunk)
18:22
The previous check-in was not quite correct, and introduced a new problem with the USING clause. Use this version instead. (check-in: ed28aaa4 user: drh tags: trunk)
17:14
Ensure that the SrcList_item.colUsed field is set correctly (set to have a 1 for all columns of the table) when a generated column appears in the USING clause of a join. (check-in: 1923efb2 user: drh tags: trunk)
15:52
Fix the NOT NULL verification logic in PRAGMA integrity_check so that it works for generated columns whose value is the result of a comparison operator. Ticket [bd8c280671ba44a7] CVE-2019-19646. (check-in: f3b39c71 user: drh tags: trunk)
14:34
Fix a gramfuzz find. If a partial index that does not reference any column of its table is used by an UPDATE statement in one-pass mode, then avoid the use of OP_DeferredSeek since the seek might not be resolved prior to the OP_Delete and OP_Insert that implement the UPDATE. (check-in: e3398c5f user: drh tags: trunk)
08:13
Avoid infinite recursion in the ALTER TABLE code when a view contains an unused CTE that references, directly or indirectly, the view itself. (check-in: 1d2e53a3 user: dan tags: trunk)
02:20
Fix possible null pointer dereferences in the fts5_expr() scalar function. (check-in: c5d44143 user: dan tags: trunk)
2019-12-08
00:06
Fix incorrect column-usage accounting associated with generated columns and added by check-in [6601da58032d18ae]. Fix for ticket [b92e5e8ec2cdbaa1]. (check-in: 9d75e1cc user: drh tags: trunk)
2019-12-07
13:42
Correctly deal with multi-row VALUES clauses that contain window functions. (check-in: 26d991f2 user: drh tags: trunk)
12:13
Ignore type affinity for auxiliary columns in RTREE as it is too error-prone to try to parse out the type from other constraints. Ticket [8bf76328ac940d52] (check-in: 7fa664ea user: drh tags: trunk)
00:22
Fix a problem with foreign keys and generated columns discovered by Manuel Rigger. (check-in: 27c0fdab user: drh tags: trunk)
2019-12-06
19:07
Early detection and reporting of too few columns in an rtree CREATE VIRTUAL TABLE statement. (check-in: ef73107f user: drh tags: trunk)
13:10
In the rtree extension, actively suppress extra tokens on the column names, and be pedantic about column affinities. Ticket [367a86e28859f1ff] (check-in: 97fb5a72 user: drh tags: trunk)
11:48
The check-in [b7810062ec2489e1] was not quite right in that it allowed an oversized shift operation (which is UB in C) on some obscure inputs. OSSFuzz found the problem for us overnight. (check-in: 62f2235a user: drh tags: trunk)
01:38
Further enhancements to RTREE, following up to check-in [f898d04cf272ef01] so that constraints are allowed to be compared to strings that look like numbers. Ticket [aa573a787b8f1fdf] (check-in: 32772dfd user: drh tags: trunk)
01:23
Do not allow UPSERT of a view. (check-in: ebf897e8 user: drh tags: trunk)
2019-12-05
21:46
Fix to the rowvalue logic that avoids disabling rowvalue inequality contraints on a virtual table when the virtual table sets the omit flag. The logic has been incorrect since row-values were added. However, this does not come up often as very few virtual tables implement inequality constraints using the omit flag. Ticket [f096d191b6641daa] (check-in: b7810062 user: drh tags: trunk)
18:29
Documentation update: Clarify that the sqlite3_index_info.aConstraintUsage.omit flag is a hint only and that the code generator is not obligated to follow the hint. (check-in: 7d3e3f6e user: drh tags: trunk)
17:31
Additional debugging information printed with the ".wheretrace 0x100" option. No changes to normally delivered code. (check-in: fc72ec52 user: drh tags: trunk)
14:42
Make sure the rowid of an RTREE virtual table has integer affinity. Ticket [9fe487ba3c064b4e] (check-in: 7ae8c0d5 user: drh tags: trunk)
14:31
Fix a problem in ALTER TABLE that could occur if an index, view or trigger in the schema features an expression of the form ((SELECT ...) IN ()) where the SELECT statement uses a CTE. (check-in: 7e5ad8e0 user: dan tags: trunk)
13:34
Be strict about type enforcement on rowid look-ups in the RTREE extension. Ticket [30e2c183b6b356e4] (check-in: d43e0efb user: drh tags: trunk)
00:44
Enhance the RTREE extension so that it give correct query results even if the query uses non-numeric constraints. Ticket [a55ab6d97d01ecbc] (check-in: f898d04c user: drh tags: trunk)
2019-12-04
19:45
Window functions are never constant. (check-in: 35f0b5a8 user: drh tags: trunk)
15:08
Ensure that an ALWAYS() in the rename logic really is always true, even for faulty inputs. (check-in: 54410f0e user: drh tags: trunk)
14:26
Fix an assert() failure that could occur in ALTER TABLE code when the schema contains a view that uses a CTE. (check-in: 75b04a4b user: dan tags: trunk)
03:46
Fix a buffer overread that could occur in fts3 with corrupt %_stat records. (check-in: e01fdbf9 user: dan tags: trunk)
03:31
Fix an incorrect NEVER() macro. (check-in: 96b6a76d user: drh tags: trunk)
01:42
Fix a double-free that could occur when a component of a compound SELECT with an ORDER BY clause uses named window definitions. (check-in: 92893b79 user: dan tags: trunk)
2019-12-03
03:34
Avoid a crash that could occur when a database containing a table with a temp trigger that has the same name as a temp table is detached. (check-in: c4cb9708 user: dan tags: trunk)
03:31
Avoid a harmless zero offset of a null pointer in FTS3, so as to not provoke unnecessary warnings from run-time checkers. (check-in: 85d95abe user: drh tags: trunk)
02:51
Avoid computing a zero offset of a null pointer, which though this is technically harmless, is upsetting to pedantic run-time checkers. (check-in: 3ce804e9 user: drh tags: trunk)
2019-11-30
19:29
Do not allow a term in the WHERE clause of the query to qualify a partial index on the right table of a LEFT JOIN. Ticket [7f39060a24b47353] (check-in: 4066a34d user: drh tags: trunk)
2019-11-29
13:01
Add comments in the parse.sql file to help demonstrate how rules are encoded. (check-in: 2c4f7148 user: drh tags: trunk)
12:51
Fix the parse.sql output file so that it is readable into a database where foreign keys are enforced. (check-in: 3a82c554 user: drh tags: trunk)
2019-11-27
20:40
More details on the comment justifying the aleged data race in the WAL-mode checkpoint logic. (check-in: 0fab65c7 user: drh tags: trunk)
12:03
Fix obsolete comment. No changes to code. (Leaf check-in: 0ff59edb user: drh tags: reuse-shm)
2019-11-26
14:24
Fix various documentation typos suggested by Mark Benningfield. No changes to code. (check-in: 08f09dc4 user: drh tags: trunk)
11:10
Fix to check-in [5d9a369301a65f32] so that it compiles without SQLITE_DEBUG. (check-in: fefe2d04 user: drh tags: trunk)
02:22
Add the new -S option to the lemon parser generator to cause it to output SQL that describes the input grammar. (check-in: 4dbd398d user: drh tags: trunk)
02:03
Fix an assert() in fts3 that could fail due to corrupt database records. (check-in: 5d9a3693 user: dan tags: trunk)
2019-11-25
23:55
Experimental file-controls for controlling the use of the -shm file. (check-in: 12b8fa23 user: drh tags: reuse-shm)
04:15
Modify journal3.test so that it can handle Tcl command "file attr <file> -perm" returning octal values in either "00755" or "0o755" format. (check-in: b0b65562 user: dan tags: trunk)
00:07
Minor enhancements to the TclKit download tool. (check-in: 75e31b1d user: mistachkin tags: trunk)
2019-11-23
16:34
Abort the window function tree rewrite early following an OOM. (check-in: d66f95a5 user: drh tags: trunk)
15:10
Avoid evaluating PARTITION BY or ORDER BY expressions multiple times for window function queries that use multiple window functions with the same window-definition. (check-in: 57070c68 user: dan tags: trunk)
08:51
Enhance the path arguments in JSON functions to access "#-N" array indexes. (check-in: ffeec62c user: drh tags: trunk)
08:36
Fix a memory leak in fts5 error handling code. (check-in: de6637e1 user: dan tags: trunk)
2019-11-22
17:37
Extend the json-path mechanism with array indexes of the form "#" or "#-n" for some positive number "n", to reference the end of an array. (Closed-Leaf check-in: 35ed68a6 user: drh tags: json-path-enhancement)
11:49
Fix a harmless compiler warning. (check-in: 34343c4b user: drh tags: trunk)
11:47
Fix an indentation error and improve the placement of an assert() based on a tweet from Yuri Kotov. (check-in: e6314e38 user: drh tags: trunk)
11:38
Add more test cases from Yongheng Chen and Rui Zhong. (check-in: f24e6ca4 user: drh tags: trunk)
10:14
Fix a crash that could occur if a sub-select that uses both DISTINCT and window functions also used an ORDER BY that is the same as its select list. (check-in: bcdd66c1 user: dan tags: trunk)
00:42
Revise the SQLITE_OPEN_NOFOLLOW so that it actually uses O_NOFOLLOW in the open() system call. This backs out the SQLITE_ACCESS_SYMLINK value but adds the new SQLITE_OK_SYMLINK return code from the xFullPathname method of sqlite3_vfs when that routine resolves symbolic links. O_NOFOLLOW is always included in open() system calls for journal files. (check-in: 6a64fb6a user: drh tags: trunk)
2019-11-21
20:24
Add all fuzz-test cases received from Yongheng Chen and Rui Zhong. Also fix a minor problem in gencol1.test cases. (check-in: ac080432 user: drh tags: trunk)
20:10
Fix an out-of-bounds array reference in the generated column logic. Problem discovered by valgrind. (check-in: a0ab42f7 user: drh tags: trunk)
19:37
Whenever a generated column is used, assume that all columns are used. (check-in: 6601da58 user: drh tags: trunk)
18:28
Fix a problem that comes up when using generated columns that evaluate to a constant in an index and then making use of that index in a join. (check-in: 8b12e95f user: drh tags: trunk)
17:14
Fix a recently introduced memory leak in the test code in test_vfs.c. (check-in: 2d53a30c user: dan tags: trunk)
14:20
Prevent direct and indirect recursive content= options in fts3/4 and fts5. (check-in: 2eb99732 user: dan tags: trunk)
2019-11-20
16:10
Fix a use-after-free problem in the test suite. No changes to production code. (check-in: 0d1055a5 user: dan tags: trunk)
13:31
Further improve detection of corrupt records in fts3. Also fix an error with check-in [dfcf081d842629a0] (check-in: a0f6d526 user: dan tags: trunk)
12:07
Changes to extensions and test logic so that the build works with gcc and with -std=iso9899:1999 (check-in: 2575a68c user: drh tags: trunk)
2019-11-19
21:22
Enhancements to DBSTAT: (1) Make name=? queries efficient. (2) Add the ability to aggregate results across each individual btree using the aggregate=TRUE constraint in the WHERE clause. (check-in: a48f6e17 user: drh tags: trunk)
18:48
Get the aggregate=TRUE feature working on the DBSTAT virtual table. (Closed-Leaf check-in: 16fef3db user: drh tags: dbstat-enhancements)
14:01
Begin an enhancement effort for the built-in DBSTAT virtual table. (check-in: 9b5722f0 user: drh tags: dbstat-enhancements)
00:13
Make the result of sqlite3_normalized_sql() survive its statement being reprepared. (check-in: 4330f079 user: mistachkin tags: trunk)
2019-11-18
23:48
Add support for the SQLITE_ACCESS_SYMLINK flag in the Win32 VFS. (check-in: 175c1500 user: mistachkin tags: trunk)
22:34
Ensure all file names passed to the VFS layer are double-zero terminated. (check-in: 251230cf user: mistachkin tags: trunk)
18:43
In the SQLITE_OPEN_NOFOLLOW processing, distinguish between an I/O error on the xAccess() call and an actual symlink encounter. (check-in: 2e98b42f user: drh tags: trunk)
17:46
Add support for SQLITE_OPEN_NOFOLLOW. (check-in: cb79c828 user: drh tags: trunk)
14:04
Improvements to detection of corruption in the %_stat shadow table of FTS4. (check-in: 6b67eba5 user: drh tags: trunk)
12:04
Further improvements to shadow table corruption detection in FTS3. (check-in: e35d8c76 user: drh tags: trunk)
11:14
Detect and prevent infinite recursion in fts3SelectLeaf() due to a malformed FTS3 btree. (check-in: dfcf081d user: drh tags: trunk)
10:37
Improved detection of corruption in the %_stat table of FTS4. Chromium ticket 1025467. (check-in: 10f8a3b7 user: drh tags: trunk)
2019-11-17
11:47
Fix an assert that can fail if the schema is corrupt. (check-in: ed57c48e user: drh tags: trunk)
02:41
Better detection of corruption in the %_stat and %_docsize shadow tables of FTS3. (check-in: 1e449687 user: drh tags: trunk)
00:08
Remove a reachable NEVER() in FTS3. (check-in: 8bd75bf6 user: drh tags: trunk)
2019-11-16
23:47
More improvements to shadow table corruption detection in FTS3. (check-in: 51525f9c user: drh tags: trunk)
21:40
Improved detection of corrupt shadow tables in FTS3. Enable the debugging special-inserts for FTS3 for both SQLITE_DEBUG and SQLITE_TEST. (check-in: 04b2873b user: drh tags: trunk)
18:36
Do not allow shadow tables to be dropped in defensive mode. (check-in: 0a988ce3 user: drh tags: apple-osx)
18:30
Modify three test cases so that they work even with unusual versions of the library printf(). (check-in: c2528907 user: drh tags: apple-osx)
16:54
More restrictions on changes to shadow tables when in defensive mode. (check-in: bae76a5c user: drh tags: trunk)
14:15
Do not allow CREATE TABLE or CREATE VIEW of an object with a name that looks like a shadow table name. (Closed-Leaf check-in: 6aef58b6 user: drh tags: defensive-improvements)
13:51
Break out the test for writable shadow tables into a separate subroutine. (check-in: 8ad34d36 user: drh tags: defensive-improvements)
12:04
Do not allow shadow tables to be dropped in defensive mode. (check-in: 70390bbc user: drh tags: trunk)
11:33
Fix a potential NULL pointer dereference on a RENAME TABLE that references a VIEW with a logic error in a window function in the ORDER BY clause. (check-in: 0adb273f user: drh tags: trunk)
2019-11-15
21:16
Modify three test cases so that they work even with unusual versions of the library printf(). (check-in: 8f4a3750 user: drh tags: trunk)
02:52
Merge the version 3.30.1 changes into the apple-osx branch. (check-in: 2c8af352 user: drh tags: apple-osx)
00:52
Fix table-valued functions so that they will work as the right table in a LEFT JOIN. Ticket [2ae0c599b735d59e] (check-in: 2c35d3f6 user: drh tags: trunk)
2019-11-14
23:08
Backport support for the sqlite3_hard_heap_limit64() interface and the hard_heap_limit pragma to the 3.30 branch. (check-in: ba27012d user: drh tags: branch-3.30)
18:07
Add support for the sqlite3_hard_heap_limit64() interface and the hard_heap_limit pragma. (check-in: 6399c47e user: drh tags: trunk)
17:46
Fix a bug in the hard_heap_limit pragma so that it returns the new value of the hard_heap_limit, not the soft_heap_limit. Change SQLITE_MAX_MEMORY so that it works by setting the default hard_heap_limit value. (Closed-Leaf check-in: 33fd0c3a user: drh tags: hard-heap-limit)
15:21
Merge recent enhancements from trunk. (check-in: b8a631fd user: drh tags: hard-heap-limit)
15:10
Minor documentation enhancements. No changes to code. (check-in: 6153f3aa user: drh tags: hard-heap-limit)
13:57
New test cases added to fuzzdata8.db. (check-in: 5baffcda user: drh tags: trunk)
13:24
Ensure that the same subquery does not go through the window-function rewrite more than once, even when that subquery is part of a virtual table constraint that lacks the omit flag. (check-in: d0bc7db6 user: drh tags: trunk)
2019-11-13
18:50
Add header guard to the expert extension. (check-in: 7e315185 user: mistachkin tags: trunk)
16:50
Fix the sqlite3TreeView() output to consistently use a colon and not a comma after the table number in the AST dumps. (check-in: fa2416f6 user: drh tags: trunk)
2019-11-12
16:21
For for the previous check-in: Always enable the nUri variable, even when debugging is turned off. (check-in: f84a1539 user: drh tags: trunk)
14:43
Ensure that the main filename and the journal filenames in the pager object are all correctly double-zero terminated. (check-in: df51ae19 user: drh tags: trunk)
03:45
Remove a harmless unused variable. (check-in: 28091a48 user: drh tags: trunk)
2019-11-11
15:13
Remove an asm() block from build tool mksourceid.c, as it causes build failures on some systems and performance is not important at build-time. (check-in: 8e100e6c user: dan tags: trunk)
2019-11-10
11:09
Proper surrogate pair decoding added to JSON functions. See the mailing list bug report and https://bugs.python.org/issue38749. More test cases needed here, but it seems to work so far. (check-in: 51027f08 user: drh tags: trunk)
10:08
Remove an incorrect ALWAYS() macro. (check-in: f7a74f89 user: drh tags: trunk)
2019-11-09
15:31
Change the COLFLAG_NOTAVAIL bitmask so that it fits in the single-byte Walker.eCode field. (check-in: 53847f5c user: drh tags: trunk)
14:44
New dbsqlfuzz test cases added. (check-in: 18c3a17d user: drh tags: trunk)
14:38
Make sure the WITH stack in the Parse object is disabled following an error. (check-in: de6e6d68 user: drh tags: trunk)
2019-11-08
20:13
When a virtual table reports orderByConsumed, that tells us nothing about whether or not the SQLITE_DISTINCTBY constraint is met. Fix for ticket [7e59041f9c4e5102]. Test cases in TH3. (check-in: b59f94e4 user: drh tags: trunk)