SQLite

Timeline
Login

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

200 most recent check-ins using file test/cse.test version 277350a2

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-27
17:00
Fix a potential division by zero error in this version of RBU that might occur if an external client checkpoints a wal file created by a suspended RBU process. (Leaf check-in: 73edd93a user: dan tags: branch-3.14)
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)
2021-02-11
16:19
In RBU, avoid passing VFS xShmLock calls through to the underlying VFS in cases where xShmMap calls may not be. This fixes a bad interaction with ZipVFS. (Leaf check-in: 0c3838d9 user: dan tags: reuse-schema-3.31)
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-04-03
20:14
Restore an #if block inadvertently removed via check-in [9c77bfe41e]. (check-in: bf6bcfc1 user: mistachkin tags: branch-3.31)
16:11
Add a test case to fuzzdata8.db for the recent Henry Liu bugs. (check-in: 42b02454 user: drh tags: trunk)
15:48
Merge updates from trunk. (check-in: 348c4013 user: drh tags: bytecode-function)
13:39
Do not suppress errors when resolving references in an ORDER BY clause belonging to a compound SELECT within a view or trigger within ALTER TABLE. Fix for ticket [a10a14e9b4ba2]. Also, in the event of a semantic error in an aggregate query, early-out the resetAccumulator() function to prevent problems due to incomplete or incorrect initialization of the AggInfo object. Fix for ticket [af4556bb5c285c08]. (check-in: b6467491 user: drh tags: branch-3.31)
13:29
Fix a case when a pointer might be used after being freed in the ALTER TABLE code. Fix for [4722bdab08cb1]. (check-in: 52f800fa user: drh tags: branch-3.31)
13:19
In the event of a semantic error in an aggregate query, early-out the resetAccumulator() function to prevent problems due to incomplete or incorrect initialization of the AggInfo object. Fix for ticket [af4556bb5c285c08]. (check-in: 4a302b42 user: drh tags: trunk)
11:52
Do not suppress errors when resolving references in an ORDER BY clause belonging to a compound SELECT within a view or trigger within ALTER TABLE. Fix for ticket [a10a14e9b4ba2]. (check-in: 68429388 user: dan tags: trunk)
11:20
Fix a case when a pointer might be used after being freed in the ALTER TABLE code. Fix for [4722bdab08cb1]. (check-in: d09f8c36 user: dan tags: trunk)
2020-04-02
19:58
Fix a minor problem with EXPLAIN QUERY PLAN for triggers. (check-in: 6e11c03f user: drh tags: bytecode-function)
17:21
Minor changes for better test coverage. (check-in: ae3ac297 user: drh tags: bytecode-function)
13:21
Fix an obsolete comment in the parameter binding logic of the CLI. No changes to code. (check-in: c9c735e2 user: drh tags: trunk)
13:08
Fix another harmless compiler warning. (check-in: 949eec25 user: drh tags: bytecode-function)
12:53
Add a missing #ifdef to avoid a harmless compiler warning. (check-in: cc54de35 user: drh tags: bytecode-function)
12:24
Merge enhancements from trunk. (check-in: d1731385 user: drh tags: bytecode-function)
2020-04-01
17:10
Add support for the "ANALYZE WITH LIMIT=N" syntax. (Leaf check-in: 7e666b60 user: drh tags: analyze-with-limit)
01:15
Simple fixes to PRAGMA analysis_limit. (check-in: c20d4fde user: drh tags: approximate-analyze)
2020-03-31
20:57
Add "PRAGMA analysis_limit=N;" to limit the number of rows visited by ANALYZE when N is positive. Positive N also disables collecting stat4. (check-in: a279b151 user: drh tags: approximate-analyze)
18:41
Merge recent enhancements from trunk. (check-in: c705ce26 user: drh tags: approximate-analyze)
2020-03-30
19:38
Minor bug fix in NATSORT collating function. (check-in: a61be109 user: drh tags: natsort)
15:39
Add the NATSORT collating sequence. No test cases yet. (check-in: 79fcaa8e user: drh tags: natsort)
13:35
Use __atomic_load_n() and __atomic_store_n() for a few more things where they are available. (check-in: a49f8ec5 user: dan tags: trunk)
11:17
Fix "GCC_VESRION" typo in wal.c. (check-in: fbd93787 user: dan tags: trunk)
2020-03-28
19:02
Enhancements to the SQLITE_ENABLE_SETLK_TIMEOUT compile-time option to avoid rare deadlocks on recovery. (check-in: 06885e9a user: drh tags: trunk)
12:01
MSVC does not allow constant expressions as initializers for constants with /fp:strict. (check-in: 076658e5 user: drh tags: trunk)
2020-03-27
17:23
Modifications to the way blocking locks are used in SQLITE_ENABLE_SETLK_TIMEOUT builds so that multiple processes or threads may not deadlock when operating on a single database. (Closed-Leaf check-in: c516027d user: dan tags: setlk-deadlock-fix)
2020-03-26
16:48
Add the tables_used() table-valued function as a variation on bytecode(). (check-in: 6283c677 user: drh tags: bytecode-function)
15:28
Merge updates from trunk. (check-in: d7db0910 user: drh tags: bytecode-function)
00:29
Reinstate the optimization that converts "x IN (y)" into "x==y". (check-in: 27936e68 user: drh tags: trunk)
2020-03-25
20:31
For the LIKE pattern in the .dump command of the CLI, accept backslash as an escape character. (check-in: 029ceea6 user: drh tags: trunk)
12:50
Enhance the ".dump" command in the CLI so that it accepts multiple LIKE pattern arguments and shows the union of all matching tables. (check-in: 45fba3d7 user: drh tags: trunk)
2020-03-24
18:41
Optimize the "subprog IS NULL" constraint. (check-in: ca8c5f02 user: drh tags: bytecode-function)
17:52
Fix a memory leak. (check-in: c9f3405e user: drh tags: bytecode-function)
13:27
Provide content for the bytecode.subprog column. (check-in: df893364 user: drh tags: bytecode-function)
2020-03-23
23:17
Fix the build so that it works even without SQLITE_ENABLE_EXPLAIN_COMMENTS. (check-in: 5896cbf4 user: drh tags: bytecode-function)
20:58
The bytecode() function now runs and sometimes works, but it untested and there are known problems. (check-in: 6819b86e user: drh tags: bytecode-function)
19:14
Further simplification and modularization of the EXPLAIN logic. (check-in: aee1c12f user: drh tags: bytecode-function)
17:24
Begin breaking appear the sqlite3VdbeList() routine into subroutines that can be reused by the bytecode() table. (check-in: 2c4dd79f user: drh tags: bytecode-function)
15:49
Infrastructure for the bytecode() table-valued function. The function itself is not yet implemented. (check-in: 2795f0d6 user: drh tags: bytecode-function)
2020-03-21
23:10
Fix to the recomputation of the colUsed field added by check-in [a9bb71ba708ba722]. This fixes ticket [5829597ac43811e3]. (check-in: 5d14a1c4 user: drh tags: trunk)
22:03
Enhance the treeview system to show the SrcList_item.colUsed field for FROM clause elements. (check-in: 8a5c539b user: drh tags: trunk)
20:58
Simplify some of the code modified by the previous commit. (check-in: 04abadb5 user: dan tags: trunk)
15:41
Ensure that "main" can always be used to refer to the main database, even if it has been renamed using SQLITE_DBCONFIG_MAINDBNAME. (check-in: 682b426f user: dan tags: trunk)
15:10
Consolidate some code on this branch. (Closed-Leaf check-in: a85c63da user: dan tags: main-alias-fix)
15:07
Change a bitfield in sqlite3_stmt into an unsigned character, for slightly smaller code and better performance. (check-in: 0d4d3c64 user: drh tags: trunk)
14:22
Performance optimization in sqlite3VdbeMakeReady(). (check-in: aa92f9b9 user: drh tags: trunk)
14:05
Merge updates from trunk. (Leaf check-in: 2383aa2c user: drh tags: explain-improvements)
03:40
Back out the sqlite3_stmt_mode() and EXPLAIN TABLES enhancements, but keep the other miscellaneous improvements to EXPLAIN that were implemented while adding the above: Turn magic numbers into symbolic constants. Add the sqlite3MemPrint() interface accessible to the debugger. Improve the performance and reduce the code size. (check-in: 62aece66 user: drh tags: explain-improvements)
00:05
Recompute the set of columns used for each table when the table is involved in query flattening. (check-in: a9bb71ba user: drh tags: trunk)
2020-03-20
20:54
Allow "main" to be used to refer to the main database even after SQLITE_DBCONFIG_MAINDBNAME has been used to assign another alias. (check-in: 75c85ca3 user: dan tags: main-alias-fix)
20:18
Avoid an undefined integer overflow in fts3 by detecting data structure corruption earlier. (check-in: 86e98ddc user: dan tags: trunk)
20:00
Add the EXPLAIN TABLES syntax that uses SQLITE_STMTMODE_TABLELIST. Seems to work, but not well-tested. (Leaf check-in: e7343ce7 user: drh tags: sqlite3_stmt_mode)
17:49
Further simplification of the EXPLAIN logic. Fix the test errors from the previous check-in. (check-in: 5eaba9af user: drh tags: sqlite3_stmt_mode)
16:13
Revamp the EXPLAIN infrastructure to facilitate sqlite3_stmt_mode(). The currently code mostly works, but there are test failures. This is an incremental check-in. (check-in: e9e17e21 user: drh tags: sqlite3_stmt_mode)
2020-03-19
21:17
Initial code for a proposed new sqlite3_stmt_mode() API. This is an incomplete snapshot of a work-in-progress. (check-in: 3cf7537b user: drh tags: sqlite3_stmt_mode)
18:13
Change the ESCAPE clause on the LIKE operator to override wildcard characters, in order to match the behavior of PosgreSQL. (check-in: 11e0844f user: drh tags: trunk)
17:27
Fix an integer overflow problem with the dbstat virtual table that comes up when trying to analyze a corrupt database. (check-in: 1d64f4a8 user: drh tags: trunk)
15:57
Fix a typo in a comment. No changes to code. (check-in: 3a51919a user: drh tags: trunk)
2020-03-18
15:58
Fix the build for when SQLITE_ENABLE_STAT4 is defined. (check-in: 8f0a8c2a user: drh tags: approximate-analyze)
14:43
Add the SQLITE_ANALYZE_LIMIT compile-time option (expected to be temporary) that sets a threshold at which ANALYZE starts to use approximations during the analysis process. (check-in: a773fd46 user: drh tags: approximate-analyze)
2020-03-17
17:11
Provide an estimated row count to stat_init() for STAT1 analysis. (check-in: 714419fe user: drh tags: approximate-analyze)
13:41
Remove the SQLITE_OMIT_BTREECOUNT option. Btree count is required. (check-in: a9bfa47a user: drh tags: approximate-analyze)
13:07
Improved bytecode comments for the ANALYZE command. (check-in: c38ea413 user: drh tags: approximate-analyze)
12:37
Merge changes from trunk. (check-in: 93d71026 user: drh tags: approximate-analyze)
2020-03-16
18:52
Fix handling of window functions in aggregate queries that have no GROUP BY clause. Also remove a faulty assert causing the error reported in [618156e3]. (check-in: 38e3dd38 user: dan tags: trunk)
03:07
At the end of the right-hand table loop of a LEFT JOIN that uses an IN operator in the ON clause, put the OP_IfNoHope operator after the OP_IfNotOpen operator, not before, to avoid a (harmless) uninitialized register reference. Ticket [82b588d342d515d1] (check-in: 8b437b47 user: drh tags: trunk)
2020-03-13
07:28
Merge SQLITE_NOOP_UPDATE fix into this branch. (check-in: e2cc655e user: dan tags: begin-concurrent-report)
07:23
Fix a typo causing SQLITE_NOOP_UPDATE builds to fail. (check-in: 1e2109fd user: dan tags: begin-concurrent-pnu)
2020-03-12
19:37
Add link from begin_concurrent_report.md back to branch timeline. (check-in: 61869f8b user: dan tags: begin-concurrent-report)
17:54
Remove stray comment characters at the end of an #ifdef that were accidently left in the previous check-in. (check-in: ea914bec user: drh tags: trunk)
17:28
Fix comments and strengthen assert() statements associated with the OPFLAG_SEEKEQ and BTREE_SEEK_EQ flags. (check-in: 23174921 user: drh tags: trunk)
2020-03-11
20:03
Merge enhancements from trunk. (check-in: 4945a662 user: drh tags: approximate-analyze)
19:56
Do not factor out constant functions into the initialization section of a prepared statement, because even though they are constant, they can still throw exceptions. Instead, put such functions in an OP_Once block. This fixes ticket [3c9eadd2a6ba0aa5] and causes COALESCE() and CASE...END to be short-circuit. (check-in: c5f96a08 user: drh tags: trunk)
19:41
Rename sqlite3ExprCodeAtInit() to sqlite3ExprCodeRunJustOnce(). Other changes to make the new code cleaner. Test cases added. (Closed-Leaf check-in: d7f18489 user: drh tags: do-not-factor-functions)
19:30
Add documentation notes and fix outstanding issues on this branch. (check-in: b288bbd1 user: dan tags: begin-concurrent-report)
17:58
Do not factor out constant functions into the initialization section at the end of the prepared statement, be cause if they throw an exception, it will abort the statement even if the function is never called. Better to put constant functions in an OP_Once block. (check-in: 97a18a5c user: drh tags: do-not-factor-functions)
16:46
Support reporting of blob fields. (check-in: 724a4a84 user: dan tags: begin-concurrent-report)
02:04
This variant to the fix for ticket [e0c2ad1aa8a9c691] uses fewer CPU cycles. (check-in: fb5a8a9e user: drh tags: trunk)
2020-03-10
22:55
Merge updates from trunk. (check-in: e05f743f user: drh tags: approximate-analyze)
21:14
Fix test and other problems with reporting pages read and written. (check-in: 9ae970fd user: dan tags: begin-concurrent-report)
19:55
Fix problem in test script concreport.test. (check-in: 32d1b721 user: dan tags: begin-concurrent-report)
19:24
Enhanced detection logic for preventing the use of static schema expressions by code generating routines. (check-in: 5f60b527 user: drh tags: trunk)
19:23
Prevent the read-only expressions held in the schema from being passed down into code generating subroutines where they might be changed. Pass a copy of the expression instead. (check-in: 2b750b0f user: drh tags: branch-3.31)
18:55
Further changes to ensure that expressions held in table and index definitions do not get passed down into code generator logic where they might be modified. (check-in: f45f5de0 user: drh tags: trunk)
13:35
Make a copy of the expression that defines a value of a generated column before sending it to the code generator routines. (check-in: 03d201c0 user: drh tags: trunk)
11:50
Apply the correct affinity transformations when pulling values off of the sorter index used for GROUP BY. Ticket [e0c2ad1aa8a9c691] (check-in: 101f7dea user: drh tags: trunk)
02:57
The sqlite3ExprCodeFactorable() routine should make a copy of non-factorable expressions, as they might be coming from a DEFAULT or generated column in a table constraint. (check-in: a2d6f108 user: drh tags: trunk)
01:24
Background work for experiments trying to enhance ANALYZE so that it runs off of samples of the entire index and does not need to read the entire index. (check-in: 29d1cc5c user: drh tags: approximate-analyze)
2020-03-09
21:00
Report on pages, as well as keys, read and written by BEGIN CONCURRENT transactions. (check-in: b661ccc8 user: dan tags: begin-concurrent-report)
18:26
Cleaner separation of the STAT4-specific logic in the implementation of ANALYZE. (check-in: 3df07e5a user: drh tags: trunk)
15:39
Enhancements to the ".import" command of the CLI. (check-in: cab1834c user: drh tags: trunk)
03:21
Fix typos in RowSet. (check-in: 86465c08 user: pdr tags: trunk)
01:02
Fix typos in the Lemon documentation. (check-in: 35f1f151 user: drh tags: trunk)
2020-03-08
13:33
Avoid a redundant NULL check (check-in: 25dc53f6 user: pdr tags: trunk)
2020-03-07
16:51
Fix reporting cases related to UPDATE. And of WITHOUT ROWID tables. (check-in: d28d1739 user: dan tags: begin-concurrent-report)
2020-03-06
20:51
Enhancement to log logical writes as well as reads. (check-in: 1c1f180e user: dan tags: begin-concurrent-report)
2020-03-05
20:59
Fix reporting for indexed range scans that extend past the end of the data. (check-in: ab458a31 user: dan tags: begin-concurrent-report)
19:00
Merge trunk change [895bd20b29] into this branch. (Actually check-in date was 2020-05-18) (check-in: 507f972e user: dan tags: reuse-schema)
18:04
Report an error if the main, or any other, database encoding is modified by an external process (perhaps using the backup API) after the db has been opened. (check-in: 895bd20b user: dan tags: trunk)
16:30
Merge trunk enhancements into the reuse-schema branch. (Actual check-in date is 2020-05-18) (check-in: 9d068e1e user: drh tags: reuse-schema)
16:13
Change the sqlite3.pDfltColl (the default collating sequence for the database connection) so that it is the collating sequence appropriate for the database encoding, not the UTF8 collating sequence. This helps to ensure that the database encoding collation is always used, even for expressions that do not have an defined collating sequence. Ticket [1b8d7264567eb6fc]. (check-in: 4a585189 user: drh tags: trunk)
14:19
When printing the OP_CollSeq opcode for EXPLAIN listings, include the text encoding with the name of the collating sequence. (check-in: eb5c1b77 user: drh tags: trunk)
2020-03-04
19:17
Fix cases to do with index scans. (check-in: 6ec5a899 user: dan tags: begin-concurrent-report)
2020-03-03
21:01
Extend begin_concurrent_report() so that it reports on accesses to non-intkey tables as well. (check-in: 427e2c9d user: dan tags: begin-concurrent-report)
20:48
Fix a false-positive in the debugging logic that attempts to detect the use of uninitialized registers inside triggers. Ticket [c4c56482ced89d90] (check-in: 0463576b user: drh tags: trunk)
20:04
Remove an invalid assert() on the debugging logic that checks to ensure that register values are not used after they go stale. Ticket [d165ad781b39d574]. (check-in: bd94d7d0 user: drh tags: trunk)
01:16
Improved detection of corruption in the interior nodes of a segment btree in FTS3/4. (check-in: cc99447a user: drh tags: trunk)
2020-03-02
21:00
Fix reporting for some range scan cases. (check-in: ad961aee user: dan tags: begin-concurrent-report)
16:31
Enhance the fuzzcheck test program so that it is able to simulate OOM errors in the same way that dbsqlfuzz does. (check-in: a65c8d4e user: drh tags: trunk)
15:05
Merge latest begin-concurrent-pnu changes with this branch. (check-in: b1880b18 user: dan tags: begin-concurrent-report)
01:50
Fix a faulty assert() statement in the stale-register detection logic. Ticket [da5a09be6dabbf42]. (check-in: 219c296c user: drh tags: trunk)
01:16
Ensure that the NULL-scan pass counter is initialized when a ORDER BY NULLS LAST is used on the right table of a LEFT JOIN. Ticket [e12a0ae526bb51c7]. (check-in: 704bb9a3 user: drh tags: trunk)
2020-02-29
17:19
Fix a problem with window functions occuring within sub-selects that are part of an OR term in a WHERE clause of the outer SELECT. (check-in: 1e174ed0 user: dan tags: trunk)
15:53
In the CLI, add the ".oom" command for debugging builds. (check-in: 9c3136a7 user: drh tags: trunk)
2020-02-28
16:04
The RTREE extension behaves as if data columns have type REAL, so we should actually declare them as REAL so that automatic indexes handle them correctly. Ticket [e63b4d1a65546532] (check-in: 85a9b6a9 user: drh tags: trunk)
2020-02-27
17:16
In sqlite3changeset_apply(), ensure that DELETE and UPDATE changes are always executed on main database tables, not similarly named temp tables, as documented. INSERT statements are already being handled correctly. (check-in: f71a13d0 user: dan tags: trunk)
16:21
Fix harmless compiler warnings from MSVC. (check-in: 951b39ca user: drh tags: trunk)
15:20
Merge latest trunk changes into this branch. (check-in: 3f5650aa user: dan tags: reuse-schema)
15:07
Optimization for "SELECT min(x) FROM tbl" where "x" is indexed and NOT NULL. This also allows similar queries on NOT NULL virtual table columns to be optimized. (check-in: 59726777 user: dan tags: trunk)
13:54
Extra zero terminators on the end of the blank filename returned by sqlite3PagerFilename() for an in-memory database. This helps the result work better with sqlite3_filename_journal() and similar functions. (check-in: 63e533d2 user: drh tags: trunk)
12:33
Backport the change that allows the filename passed into the xFullPathname to be used as an argument to sqlite3_uri_parameter(). (check-in: 9c77bfe4 user: drh tags: branch-3.31)
11:32
Ensure that the filename passed into the xFullPathname method of the VFS is acceptable as an argument to sqlite3_uri_parameter(). The interface spec does not guarantee this, but it has been so historically and some applications have come to depends on it. (check-in: bfb09371 user: drh tags: trunk)
2020-02-25
20:05
Update the fuzzcheck test module so that it avoids inserting text values that contain embedded NULs in the XSQL table. Fix some legacy entries in the test/fuzzdata8.db that had embedded NULs. Add in new dbsqlfuzz cases that have accumulated over on the dbsqlfuzz project for a while. (check-in: 47d4240c user: drh tags: trunk)
2020-02-24
17:05
If STAT4 determines that a WHERE clause term that is not used by an index has very high probability of being true, then do not use that term to reduce the estimated output row count. (check-in: 40739c79 user: drh tags: trunk)
16:46
Rework this changes so that instead of setting the WhereTerm.truthProb when a term is seen to be of low selectivity, it merely sets a new flag (the TERM_HIGHTRUTH flag) which causes whereLoopOutputAdjust() to ignore that term. (Closed-Leaf check-in: 4558163b user: drh tags: stat4-truthprob)
13:35
Disable the new analyzeG.test module if not building with STAT4. (check-in: 4a9d3005 user: drh tags: stat4-truthprob)
13:26
Merge bugfix from trunk. (check-in: b542dee9 user: drh tags: stat4-truthprob)
2020-02-23
17:34
Fix a problem with ALTER TABLE for views that have a nested FROM clause. Ticket [f50af3e8a565776b]. (check-in: c431b3fd user: drh tags: trunk)
2020-02-22
18:27
Do not activate the truthProb adjustment mechanism if the truth probability is less than the heuristic value, as there could be correlations unknown to stat4. Also add additional tracing output to make truthProb adjustments more visible. (check-in: c535fea1 user: drh tags: stat4-truthprob)
17:32
Add new test file analyzeG.test, containing a test for the change on this branch. (check-in: 243ab185 user: dan tags: stat4-truthprob)
16:58
When stat4 information is available, try to use it to improve the truth probability of WHERE clause terms that do not participate in the index. (check-in: 1babd6ec user: drh tags: stat4-truthprob)
13:01
In the OP_Column opcode, if the cursor is marked NullRow (due to being the right table of a LEFT JOIN that does not match) and the cursor is the table cursor for an OR-optimization with a covering index, then do not substitute the covering index cursor, since the covering index cursor does not have the NullRow flag set. Ticket [aa4378693018aa99] (check-in: f02030b3 user: drh tags: trunk)
2020-02-20
14:11
Add test case for previous commit. (check-in: 14d14eb5 user: dan tags: trunk)
14:08
Early-out on the INTERSECT query processing following an out-of-memory error. This fixes a potential null pointer dereference found by sakura(@eternalsakura13) of Alpha Team, Qihoo 360. (check-in: a67cf5b7 user: drh tags: trunk)
2020-02-19
15:39
Fix a potential NULL pointer dereference following OOM. Problem discovered by dbsqlfuzz. Test case in TH3. (check-in: 5aeb5a2d user: drh tags: trunk)
2020-02-18
23:58
Remove a NEVER() macro and add a test case to cause its argument to be true. (check-in: ee034fe9 user: drh tags: trunk)
19:49
Add the new sqlite3_create_filename() and sqlite3_free_filename() interfaces for use by Shims. Use these interfaces inside the multiplexor. (check-in: 9469f36a user: drh tags: trunk)
2020-02-17
23:08
Convert invalid surrogates to 0xfffd when translating UTF. (check-in: 7fab1393 user: drh tags: trunk)
19:25
A better (smaller and faster) solution to ticket [4374860b29383380]. (check-in: abc473fb user: drh tags: trunk)
00:12
Take care when checking the table of a TK_COLUMN expression node to see if the table is a virtual table to first ensure that the Expr.y.pTab pointer is not null due to generated column optimizations. Ticket [4374860b29383380]. (check-in: 9d0d4ab9 user: drh tags: trunk)
2020-02-16
17:40
Avoid an infinite recursion on an illegal recursive definition of an fts5vocab table. (check-in: 109ee074 user: drh tags: trunk)
2020-02-13
22:12
Fix problems in the constant propagation optimization that were introduced by check-in [1c3e5c20a9e6f501]. Fix for ticket [1dcb4d44964846ad] (check-in: c9a8defc user: drh tags: trunk)
14:51
Disallow the skip-scan optimization in the absence of sqlite_stat1 data. (check-in: e0c6b8bd user: drh tags: trunk)
13:45
Omit O_NOFOLLOW from the open() call when opening /dev/null, since /dev/null is a symlink on Solaris, we are told. (check-in: 0c683c43 user: drh tags: trunk)
11:46
Fix an incorrect assert() statement that was added yesterday. Tickets [41c1456a6e61c0e7] and [fb8c538a8f57ae2a]. (check-in: abfb043e user: drh tags: trunk)
2020-02-12
20:50
Increase the default upper bound on the number of parameters in a single SQL statement to 32766 (from 999). (check-in: 2def7569 user: drh tags: trunk)
11:57
When determining whether an == or IS constraint in a WHERE clause makes an ORDER BY term redundant, consider the collation sequence used by the == or IS comparison, not the collation sequence of the comparison expression itself. Possible fix for [fb8c538a8f]. (check-in: 16aed5d0 user: dan tags: trunk)
2020-02-10
19:37
Fix a typo in the in-tree begin-concurrent documentation (check-in: b13dae1c user: drh tags: begin-concurrent)
19:24
Mark the sha1() extension function as SQLITE_DETERMINISTIC. (check-in: 7d8dcfb9 user: drh tags: trunk)
13:29
Fix the build for when SQLITE_VDBE_COVERAGE is used. (check-in: 08438164 user: drh tags: trunk)
2020-02-07
19:44
During byte-code generation, strive to avoid jumps that merely jump to the following instruction. (check-in: bcf876e6 user: drh tags: trunk)
01:12
Simplify the code by removing the unsupported and undocumented SQLITE_HAS_CODEC compile-time option (check-in: 5a877221 user: drh tags: trunk)
2020-02-06
20:46
There is no need to keep track of the number of changed rows or of the last-insert-rowid while running VACUUM. (check-in: a8a7c05b user: drh tags: trunk)
15:38
Unroll the comparison loop inside keywordCode() for to avoid unnecessary comparisions and thus help that routine run faster. (check-in: cec5f920 user: drh tags: trunk)
13:57
Separate OP_IdxInsert and OP_SorterInsert into completely separate opcodes, helping each one to run a little faster. (check-in: 447d71f0 user: drh tags: trunk)
13:09
Remove dead code from the sqlite3_filename_database() function. (check-in: 1b618555 user: drh tags: trunk)
11:08
Merge changes on 3.31 branch into reuse-schema. (check-in: 6dbb8cb0 user: dan tags: reuse-schema-3.31)
11:02
Fix a 4 byte OOB read in test_multiplex.c. (check-in: 6279f69f user: dan tags: branch-3.31)
10:55
Fix some fts3 problems found by usan. (check-in: fb7ccf61 user: dan tags: trunk)
2020-02-05
18:28
Small size reduction and performance improvement in the sqlite3VdbeMemFromBtree() interface used to pull content out of the b-tree and into an sqlite3_value object. (check-in: ae6dd8d3 user: drh tags: trunk)
2020-02-04
20:22
Merge latest trunk/wal2 changes, including the SQLITE_ENABLE_CORRUPT_PGNO patch, with this branch. (check-in: 76668b55 user: dan tags: begin-concurrent-pnu-wal2)
20:11
Merge latest trunk changes into this branch. (check-in: 6ad4d6b7 user: dan tags: wal2)
20:09
Merge latest trunk changes, including the SQLITE_ENABLE_CORRUPT_PGNO patch, into this branch. (check-in: 23bc80cc user: dan tags: begin-concurrent-pnu)
20:08
Merge latest trunk changes, including the SQLITE_ENABLE_CORRUPT_PGNO patch, into this branch. (check-in: f253618a user: dan tags: begin-concurrent)
20:01
Enable more detailed log messages in SQLITE_ENABLE_CORRUPT_PGNO builds if database corruption is encountered. (check-in: 57c36a29 user: dan tags: trunk)
01:41
Extend the OP_Copy-coalesce optimization fix of check-in [b36126c1889e323c] so that it is also correctly disabled by the CASE operator. Ticket [9d3666754ac37d5a]. (check-in: 29a969d6 user: drh tags: trunk)
00:55
Fix a problem with the byte-code decompiler that was inserted by the enhancements at [4248980a356f659b] (check-in: af63e95d user: drh tags: trunk)
2020-02-03
19:56
Cosmetic change to the xfer-optimization to put the OP_RowData opcode closer to the corresponding OP_Insert opcode. This makes it slightly easier to read and understand the code. (check-in: 0ea2dbfc user: drh tags: trunk)
12:25
Increase the version number to 3.32.0. (check-in: 8130bbb4 user: drh tags: trunk)
2020-02-01
21:03
On an INSERT or UPDATE, perform affinity conversions on new data prior to running CHECK constraints. Ticket [86ba67afafded936]. (check-in: 1d4f8620 user: drh tags: trunk)