/ Timeline
Login

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

200 most recent check-ins using file src/rowset.c version d977b01199

2024-04-02
18:48
Fix typos in comments. Provided ".wheretrace" debugging output for the interstage heuristic module. Do omit automatic index loops in the interstage heuristic. (Leaf check-in: 357d9513d2 user: drh tags: branch-3.28)
18:31
Fix table-valued functions so that they will work as the right table in a LEFT JOIN. Ticket [2ae0c599b735d59e] (check-in: 1f97086d62 user: drh tags: branch-3.28)
11:54
Add a heuristic in between the two solver() passes of the query planner that tries to prevent a very slow query plan in cases where the output row count estimate is imprecise. (check-in: 74b247d958 user: drh tags: branch-3.28)
2023-11-29
16:26
Fix a duplicate assert() caused by the second cherrypick in the previous check-in. (check-in: f10d4fc4a8 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: f9c6e6a710 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: d4bfa8d21a 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: 796a65fa61 user: drh tags: branch-3.28)
2023-02-26
11:52
In the [/info/7c2d3406000dc8ac|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: 83a7f13edb 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: ad6ac5d3e8 user: drh tags: branch-3.28)
19:04
Back-port omit-unused-subquery-column enhancements into the 3.28 branch. (check-in: 57a4e91f43 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 [baa5bb76c35a124c|ticket baa5bb76c35a124c]. (check-in: 0163b697dd 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 [baa5bb76c35a124c|ticket baa5bb76c35a124c]. (Closed-Leaf check-in: 0c21b6a5f8 user: drh tags: branch-3.26)
01:21
Update test cases so that they work with TCL 8.7 and later. (check-in: e9b762de0e 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: a7cbf30808 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: 3d1992de47 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: 3da1032878 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: e3754cc188 user: drh tags: branch-3.28)
2022-08-10
17:03
Merge the branch-3.28a fixes into branch-3.28. (check-in: ba6bf33147 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: 68d86f2b20 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: 56869f54f3 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: 4b73e151cd 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: d2e6722037 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: 9e001b635f 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: 0c3838d951 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: 263293f1e6 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: c144d6404f 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: ec37744c6e 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: 9a1cdf7e9c 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: f07ac3fb38 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: 49b7631e86 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. <b>Update:</b> Experiment did not work out. (Closed-Leaf check-in: 8301da31d0 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: 0ecda43371 user: dan tags: branch-3.28)
2020-05-06
18:46
Provide the SQLITE_DEFAULT_LEGACY_ALTER_TABLE compile-time option. (check-in: b2325a6e1c user: drh tags: branch-3.28)
2020-04-04
00:29
In the push-down optimization, do not substitute columns that have previously been identified as being constant by the propagate-constants optimization. Fix for ticket [51166be0159fd2ce]. Also, avoid factoring out constant expressions on the LHS of an IN(...) operator, as the IN(...) operation may affect the affinity of these values. Fix for [fd1bda016d1]. (Leaf check-in: 43612157f8 user: drh tags: branch-3.31)
2020-04-03
20:14
Restore an #if block inadvertently removed via check-in [9c77bfe41e]. (check-in: bf6bcfc16e user: mistachkin tags: branch-3.31)
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: b64674919f 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: 52f800fa93 user: drh tags: branch-3.31)
2020-03-13
07:28
Merge SQLITE_NOOP_UPDATE fix into this branch. (check-in: e2cc655e0d user: dan tags: begin-concurrent-report)
07:23
Fix a typo causing SQLITE_NOOP_UPDATE builds to fail. (check-in: 1e2109fd33 user: dan tags: begin-concurrent-pnu)
2020-03-12
19:37
Add link from begin_concurrent_report.md back to branch timeline. (check-in: 61869f8b48 user: dan tags: begin-concurrent-report)
2020-03-11
19:30
Add documentation notes and fix outstanding issues on this branch. (check-in: b288bbd1df user: dan tags: begin-concurrent-report)
16:46
Support reporting of blob fields. (check-in: 724a4a844d user: dan tags: begin-concurrent-report)
2020-03-10
21:14
Fix test and other problems with reporting pages read and written. (check-in: 9ae970fdc1 user: dan tags: begin-concurrent-report)
19:55
Fix problem in test script concreport.test. (check-in: 32d1b7210a user: dan tags: begin-concurrent-report)
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: 2b750b0f74 user: drh tags: branch-3.31)
2020-03-09
21:00
Report on pages, as well as keys, read and written by BEGIN CONCURRENT transactions. (check-in: b661ccc88f user: dan tags: begin-concurrent-report)
01:02
Fix typos in the Lemon documentation. (check-in: 35f1f151ac user: drh tags: trunk)
2020-03-08
13:33
Avoid a redundant NULL check (check-in: 25dc53f660 user: pdr tags: trunk)
2020-03-07
16:51
Fix reporting cases related to UPDATE. And of WITHOUT ROWID tables. (check-in: d28d1739a6 user: dan tags: begin-concurrent-report)
2020-03-06
20:51
Enhancement to log logical writes as well as reads. (check-in: 1c1f180eb6 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: ab458a319f 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: 507f972e91 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: 895bd20b29 user: dan tags: trunk)
16:30
Merge trunk enhancements into the reuse-schema branch. (Actual check-in date is 2020-05-18) (check-in: 9d068e1ef0 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: 4a5851893c 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: eb5c1b77d1 user: drh tags: trunk)
2020-03-04
19:17
Fix cases to do with index scans. (check-in: 6ec5a8995f 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: 427e2c9d95 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: 0463576b5d 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: bd94d7d052 user: drh tags: trunk)
01:16
Improved detection of corruption in the interior nodes of a segment btree in FTS3/4. (check-in: cc99447ac9 user: drh tags: trunk)
2020-03-02
21:00
Fix reporting for some range scan cases. (check-in: ad961aee15 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: a65c8d4e26 user: drh tags: trunk)
15:05
Merge latest begin-concurrent-pnu changes with this branch. (check-in: b1880b1899 user: dan tags: begin-concurrent-report)
01:50
Fix a faulty assert() statement in the stale-register detection logic. Ticket [da5a09be6dabbf42]. (check-in: 219c296cc8 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: 704bb9a39a 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: 1e174ed0d2 user: dan tags: trunk)
15:53
In the CLI, add the ".oom" command for debugging builds. (check-in: 9c3136a722 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: 85a9b6a92f 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: f71a13d072 user: dan tags: trunk)
16:21
Fix harmless compiler warnings from MSVC. (check-in: 951b39ca74 user: drh tags: trunk)
15:20
Merge latest trunk changes into this branch. (check-in: 3f5650aae6 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: 5972677793 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: 63e533d28e 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: 9c77bfe41e 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: bfb09371d4 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: 47d4240c4a 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: 40739c793b 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: 4558163b6a user: drh tags: stat4-truthprob)
13:35
Disable the new analyzeG.test module if not building with STAT4. (check-in: 4a9d300576 user: drh tags: stat4-truthprob)
13:26
Merge bugfix from trunk. (check-in: b542dee9de 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: c431b3fd8f 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: c535fea147 user: drh tags: stat4-truthprob)
17:32
Add new test file analyzeG.test, containing a test for the change on this branch. (check-in: 243ab1852a 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: 1babd6ec5d 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: f02030b340 user: drh tags: trunk)
2020-02-20
14:11
Add test case for previous commit. (check-in: 14d14eb537 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: a67cf5b7d3 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: 5aeb5a2d29 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: ee034fe916 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: 9469f36ac8 user: drh tags: trunk)
2020-02-17
23:08
Convert invalid surrogates to 0xfffd when translating UTF. (check-in: 7fab1393c2 user: drh tags: trunk)
19:25
A better (smaller and faster) solution to ticket [4374860b29383380]. (check-in: abc473fb8f 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: 9d0d4ab95d user: drh tags: trunk)
2020-02-16
17:40
Avoid an infinite recursion on an illegal recursive definition of an fts5vocab table. (check-in: 109ee07433 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: c9a8defcef user: drh tags: trunk)
14:51
Disallow the skip-scan optimization in the absence of sqlite_stat1 data. (check-in: e0c6b8bdb7 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: 0c683c43a6 user: drh tags: trunk)
11:46
Fix an incorrect assert() statement that was added yesterday. Tickets [41c1456a6e61c0e7] and [fb8c538a8f57ae2a]. (check-in: abfb043ebb 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: 2def75693a 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: 16aed5d0c6 user: dan tags: trunk)
2020-02-10
19:37
Fix a typo in the in-tree begin-concurrent documentation (check-in: b13dae1cb3 user: drh tags: begin-concurrent)
19:24
Mark the sha1() extension function as SQLITE_DETERMINISTIC. (check-in: 7d8dcfb95c user: drh tags: trunk)
13:29
Fix the build for when SQLITE_VDBE_COVERAGE is used. (check-in: 084381649e 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: bcf876e67e user: drh tags: trunk)
01:12
Simplify the code by removing the unsupported and undocumented SQLITE_HAS_CODEC compile-time option (check-in: 5a877221ce 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: a8a7c05b16 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: cec5f920f5 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: 447d71f086 user: drh tags: trunk)
13:09
Remove dead code from the sqlite3_filename_database() function. (check-in: 1b6185550f user: drh tags: trunk)
11:08
Merge changes on 3.31 branch into reuse-schema. (check-in: 6dbb8cb0e3 user: dan tags: reuse-schema-3.31)
11:02
Fix a 4 byte OOB read in test_multiplex.c. (check-in: 6279f69f0f user: dan tags: branch-3.31)
10:55
Fix some fts3 problems found by usan. (check-in: fb7ccf61be 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: ae6dd8d3e9 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: 76668b5589 user: dan tags: begin-concurrent-pnu-wal2)
20:11
Merge latest trunk changes into this branch. (check-in: 6ad4d6b7ff user: dan tags: wal2)
20:09
Merge latest trunk changes, including the SQLITE_ENABLE_CORRUPT_PGNO patch, into this branch. (check-in: 23bc80cc86 user: dan tags: begin-concurrent-pnu)
20:08
Merge latest trunk changes, including the SQLITE_ENABLE_CORRUPT_PGNO patch, into this branch. (check-in: f253618ac6 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: 57c36a293e 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: 29a969d6b1 user: drh tags: trunk)
00:55
Fix a problem with the byte-code decompiler that was inserted by the enhancements at [4248980a356f659b] (check-in: af63e95dcd 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: 0ea2dbfc90 user: drh tags: trunk)
12:25
Increase the version number to 3.32.0. (check-in: 8130bbb421 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: 1d4f86201d user: drh tags: trunk)
17:38
Fix the comment display for the OP_Function opcode. And at the same time, improve the comment generating logic to make use of the newer sqlite3_str_appendf() interface. (check-in: 4248980a35 user: drh tags: trunk)
14:29
Fix a problem in sqlite3CodecQueryParameters() that was introduced by the query parameter encoding changes for the 3.31.1 release. (check-in: 1240ee4f6f user: drh tags: apple-osx)
14:20
Merge the sqlite3CodecQueryParameters() fix into trunk. (check-in: a812f53369 user: drh tags: trunk)
13:30
Fix a problem in sqlite3CodecQueryParameters() that was introduced by the query parameter encoding changes for the 3.31.1 release. (check-in: cc65ca5412 user: drh tags: branch-3.31)
00:08
Merge version 3.31.1 (check-in: d250d085fa user: numist tags: apple-osx)
2020-01-31
14:52
Fix a minor typo in a comment in the btreeinfo extension. (check-in: b5a66d10f4 user: drh tags: trunk)
2020-01-29
15:03
Fix a problem with the processing of IN(...) constraints handled by virtual table implementations that do not set the "omit" flag when the virtual table column contains at least one NULL value. (check-in: dcb4838757 user: dan tags: trunk)
13:56
Add a test case for commit [ffd8bb93]. (check-in: bcd5b37b8e user: dan tags: trunk)
13:50
Remove a NEVER() that is in fact reachable. Test cases in dbsqlfuzz and TH3. (check-in: ffd8bb9351 user: drh tags: trunk)
13:10
Add new memory barriers during initialization. (check-in: a9b2adc5d6 user: drh tags: trunk)
12:37
Modify a couple of FTS test cases so that they work on big-endian platforms. (check-in: b20503aaf5 user: drh tags: trunk)
2020-01-28
20:27
Faster decoding of 32-bit variable-length integers in cases were we do not need to know the number of bytes in the encoding. (check-in: 59a31b16b5 user: drh tags: trunk)
20:09
Small performance improvement to the key-comparision routine for strings. (check-in: 41454499a2 user: drh tags: trunk)
18:09
Reinstate the optimization of converting "a IN (C)" into "a=C" but only if C is a constant. If the RHS is a table column, the complications of managing affinity and collations become too involved to mess with. (check-in: 8ac26a23d7 user: drh tags: trunk)
16:55
Fix a 4 byte OOB read in test_multiplex.c. (check-in: 912148913c user: dan tags: trunk)
15:02
Minor change for compatibility with the s390 architecture. (check-in: 04885763c4 user: drh tags: trunk)
2020-01-27
19:55
Version 3.31.1 (check-in: 3bfa9cc97d user: drh tags: trunk, release, version-3.31.1)
17:09
Update the version number to 3.31.1. (check-in: 6fb9a8fb85 user: drh tags: trunk)
14:40
Revise the layout of filenames in the Pager object so that it is unchanged from prior versions. It turns out that some important 3rd-party software does questionable pointer manipulations on those filenames that depend on that legacy layout. Technically, this is a misuse of SQLite by the 3rd-party software, but we want to avoid unnecessary breakage. (check-in: 34ab760689 user: drh tags: trunk)
2020-01-23
15:00
Fix typos in the sqlite3ext.h header file that prevent some newer APIs from being accessed from loadable extensions. (check-in: 14331989fc user: drh tags: trunk)
00:08
Fix variable declaration issue seen with MSVC. (check-in: 8a6fe3066c user: mistachkin tags: trunk)
2020-01-22
23:08
Fix a NEVER() macro that can be true if compiled with SQLITE_ENABLE_UNKNOWN_SQL_FUNCTION. Ticket [b985f0bd1636d9bc] (check-in: 9f0f5d593a user: drh tags: trunk)
21:18
Merge version 3.31.0 (check-in: 9c3f46384d user: drh tags: begin-concurrent-pnu-wal2)
21:12
Merge version 3.31.0 (check-in: 3bb267deb1 user: drh tags: wal2)
21:06
Merge version 3.31.0 (check-in: e65e6c01d6 user: drh tags: begin-concurrent-pnu)
20:56
Merge version 3.31.0 (check-in: bbbc2881b9 user: drh tags: begin-concurrent)
20:36
Merge version 3.31.0 (check-in: 0eae87ad11 user: drh tags: apple-osx)
20:02
Merge in version 3.31.0 (check-in: f418afa1bf user: drh tags: reuse-schema)
18:38
Version 3.31.0 (check-in: f6affdd416 user: drh tags: trunk, release, version-3.31.0)
2020-01-21
21:01
Begin adding instrumentation to record and report on the set of key-ranges a concurrent transaction reads from the database. (check-in: c39e3c14a9 user: dan tags: begin-concurrent-report)
16:31
Update test file exclusive.test so that it works with the "journaltest" permutation. (check-in: 4daf94d833 user: dan tags: trunk)
16:23
Fix a problem with using views in SQLITE_OMIT_VIRTUAL_TABLE builds. Also some test case fixes required for the same builds. (check-in: 934ee8bdb4 user: dan tags: trunk)
15:01
Fix a case in fts3auto.test that fails for SQLITE_DISABLE_FTS4_DEFERRED builds. (check-in: d241055ead user: dan tags: trunk)
14:42
Fix an assert() that could fail in SQLITE_MUTATION_TEST builds following an error in a query that uses CTEs. (check-in: c7e29458a7 user: dan tags: trunk)
13:40
Fix a problem in the userauth extension causing it to occasionally set "PRAGMA count_changes" (and some others) to true. (check-in: 3a62f64222 user: dan tags: trunk)
12:29
Fix the series.c and spellfix.c extensions to use SQLITE_VTAB_INNOCUOUS correctly. Fix the documentation on sqlite3_vtab_config() to take into account SQLITE_VTAB_INNOCUOUS and SQLITE_VTAB_DIRECTONLY. (check-in: 9265cb7f02 user: drh tags: trunk)
01:45
Improvements to the autoconf TEA Makefile for MSVC. (check-in: cffcf12f03 user: mistachkin tags: trunk)
2020-01-20
15:32
Merge recent fixes from trunk. (check-in: 9c920bbad3 user: drh tags: reuse-schema)
14:42
In the fuzzcheck test program, reduce the default expression depth limit from 1000 to 500 to avoid stack-overflow problems when running stress tests using clang ASAN. (check-in: 63d886f4ce user: drh tags: trunk)
2020-01-19
20:37
Enhancement to the CLI to allow the ".parameter init" command to work even if defensive mode is turned on. (check-in: 4d46255096 user: drh tags: trunk)
2020-01-18
23:52
Documentation improvements. (check-in: 535afe1509 user: drh tags: trunk)
22:20
In the TCL interface, add the ability to change the SQLITE_DBCONFIG_TRUSTED_SCHEMA setting using the "db config" method. (check-in: 1accfa8cf0 user: drh tags: trunk)
21:34
Allow non-deterministic function in CHECK constraints. It turns out that PostgreSQL, MySQL, and SQLServer all allow this. We should not be the the exception. Ticket [830277d9db6c3ba1] (check-in: 8c8ce526ad user: drh tags: trunk)
19:58
Fix a couple of test case issues on this branch. (check-in: 9830a44bc6 user: dan tags: reuse-schema)
19:46
Do not use memcpy() of zero bytes when initializing a pager. This avoids a warning. (check-in: cca437788e user: drh tags: trunk)
19:07
Disable a redundant test case that uses a very large stack, and hence is unable to run with -fsanitize=undefined,address. (check-in: 3c63f68e12 user: drh tags: trunk)
19:02
Fix harmless compiler warning seen with MSVC. (check-in: cd0437ba5b user: mistachkin tags: trunk)
18:59
Have this branch call sqlite3LockAndPrepare() instead of sqlite3Prepare() when parsing SQL for new schema objects in order to ensure that schemas are released as soon as possible. (check-in: 7a4ec57985 user: dan tags: reuse-schema)
14:50
Add extra front margin to the fake empty filename returned by sqlite3PagerFilename() for an in-memory or TEMP database. (check-in: fee945671a user: drh tags: trunk)
13:53
Fix the VDBE so that it correctly handles the sequence of operations OP_OpenEphemeral, OP_OpenDup, OP_OpenEphemeral, and OP_OpenDup in that order on the same cursor. (check-in: a1be6ee018 user: drh tags: trunk)
2020-01-17
23:27
Fix a typo in a comment. No code changes. (check-in: 4363f69c3a user: drh tags: trunk)
21:12
The compress() function should not be deterministic since the same input can have multiple possible compressed outputs. The uncompress() function, on the other hand, is deterministic. (check-in: 84f314902c user: drh tags: trunk)
19:14
Fix #ifdefs so it compiles cleanly with all SQLITE_OMIT compile-time options. Update compile-time option testing. (check-in: 7584e4b649 user: drh tags: trunk)
16:47
Improved rounding in the 'unixepoch' feature of the date and time functions. (check-in: c9abf1bd2d user: drh tags: trunk)
15:45
Update test script instrfault.test to account for the fact that bound blob values cast to text values are now intepreted using the text encoding of the database, instead of always as utf-8. (check-in: 4d6cb28811 user: dan tags: trunk)
15:33
More restrictions on changes to shadow tables when in defensive mode. (check-in: b302b260ca 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: 3d13fbf248 user: drh tags: branch-3.28)
14:56
Do not allow shadow tables to be dropped in defensive mode. (check-in: ad1f760f16 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: be4269c624 user: drh tags: branch-3.28)
11:18
Fix a case in "fuzz.test" that could fail, as non-deterministic functions may no longer appear in CHECK constraints. (check-in: a370871e21 user: dan tags: trunk)
2020-01-16
17:53
New testcase() macros in select.c, for coverage of the change from two check-ins ago. (check-in: 52206488f3 user: drh tags: trunk)
16:32
Add the SQLITE_FCNTL_CKPT_DONE file-control for the use of custom VFSs. (check-in: 3cc39e5069 user: dan tags: trunk)
16:12
Do not allow the constant-propagation optimization to apple to ON/USING clause terms as it does not help and it might cause downstream problems. (check-in: 1bc783da63 user: drh tags: trunk)
13:02
Very small performance improvement by ensuring that the argument to sqlite3VdbeFreeCursor() is non-NULL. Hold for the next sprint. (Leaf check-in: f8801ffd94 user: drh tags: close-cursor-faster)
12:25
Fix an SQL syntax error in the comment on the omit-left-join optimization. No changes to code. (check-in: 86b5e5a20e user: drh tags: trunk)
11:51
Clean up the definitions of the TERM_ constants in the code generator. Formatting only - no logic changes. (check-in: af06f80a59 user: drh tags: trunk)
2020-01-15
17:18
Fix the assert_schema_state_ok() routine so that it correctly ignores ATTACH-ed database that failed to open due to an error. (check-in: 1194a42add user: drh tags: reuse-schema)
16:20
Do not allow the "PRAGMA encoding" statement to change the database encoding if TEMP content exists, or content in any other attached database. Formerly, encoding changes were allowed if just the main database file was empty. Ticket [a08879a4a476eea9]. (check-in: 03b003c988 user: drh tags: trunk)
14:26
Merge all recent enhancements and fixes from trunk. (check-in: f783917800 user: drh tags: reuse-schema)
14:21
Merge in the latest trunk changes via the begin-concurrent-pnu branch. (check-in: 350627f3b1 user: drh tags: begin-concurrent-pnu-wal2)
14:11
Merge recent enhancements and fixes from trunk. (check-in: 35eae71a4d user: drh tags: wal2)
13:48
Merge all recent enhancements and fixes from trunk. (check-in: 110a081f12 user: drh tags: begin-concurrent-pnu)
13:34
Merge fixes and enhancements from trunk into begin-concurrent. (check-in: 95ba2f50fd user: drh tags: begin-concurrent)
12:49
Merge all recent enhancements and fixes from trunk into the apple-osx branch. (check-in: dadedf41c7 user: drh tags: apple-osx)
2020-01-14
16:50
Fix the urifuncs.c extension (used for testing and debugging only) so that the sqlite3_filename_database() SQL function and its siblings correctly handle an invalid schema name passed in as the argument. (check-in: 3d7434a9d8 user: drh tags: trunk)
16:39
Remove an ALWAYS on a branch for improved database corruption detection in btree.c:freeSpace(). Test case found by dbsqlfuzz. (check-in: 54bf048119 user: drh tags: trunk)