SQLite

Timeline
Login

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

200 most recent check-ins using file ext/misc/appendvfs.c version 3777f22e

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
15:00
Fix a defect in the query-flattener optimization identified by ticket [8f157e8010b22af0]. This fix is associated with CVE-2020-15358. (Leaf check-in: bcd014c4 user: dan tags: branch-3.32a)
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-07-24
09:14
Fix pointer aliasing problem in the in-memory journal code. Ref: forum post d44eb2fc44 (check-in: 892e9191 user: drh tags: trunk)
2020-07-23
20:37
Turns out this is an aliasing bug in SQLite, not a GCC bug. Was: Work-around for what appears to be another GCC bug - this one for GCC 8.3.0 on ARM. See the SQLite forum post for discussion. (Closed-Leaf check-in: 40c44d38 user: drh tags: mistake)
18:03
Add the OMIT_ZLIB compile-time option to sessionfuzz.c. (Originally checked into the wrong branch.) (check-in: 6019bf8a user: drh tags: trunk)
18:01
Add the OMIT_ZLIB compile-time option to sessionfuzz.c. (Closed-Leaf check-in: 0785e314 user: drh tags: wrong-branch)
15:23
Fix a typo in an error message. (check-in: 849b03d8 user: drh tags: larger-databases)
14:27
Merge fixes from trunk. (check-in: dd39418e user: drh tags: larger-databases)
14:12
An ORDER BY clause can slip into an SRT_Upfrom query via the query flattener, even without the SQLITE_ENABLE_UPDATE_DELETE_LIMIT compile-time option. So always enable the code to deal with that case. (check-in: 6a3111cd user: drh tags: trunk)
13:45
Fix another case where a corrupt record could cause an assert() to fail in fts3. (check-in: 28515bbb user: dan tags: trunk)
09:14
Merge support for partial integrity checks. (check-in: b5443b47 user: drh tags: larger-databases)
00:45
Add the ability to do a PRAGMA integrity_check (or quick_check) on a single table by specifying the table name as the argument. (check-in: 65dd3214 user: drh tags: trunk)
2020-07-22
21:11
Detect out-of-bounds rootpage values in the schema. (check-in: e4a92688 user: drh tags: larger-databases)
21:05
Disable rootpage bounds checking when the SQLITE_TESTCTRL_EXTRA_SCHEMA_CHECKS setting is off, to facilitate reaching obscure error states during testing. (Closed-Leaf check-in: d7dd4fc4 user: drh tags: rootpage-bounds-check)
20:12
Improvements to rootpage bounds checking during schema parse. (check-in: 75599a97 user: drh tags: rootpage-bounds-check)
18:03
When parsing the schema, detect out-of-bounds rootpage values and throw an error. (check-in: 6c3a2727 user: drh tags: rootpage-bounds-check)
17:12
All TCL tests now passing. (check-in: 4c5f3c6c user: drh tags: larger-databases)
13:56
Most test cases now passing. (check-in: 92e2ab38 user: drh tags: larger-databases)
13:38
Continuing work toward supporting unsigned 32-bit page numbers. (check-in: 9ce1710a user: drh tags: larger-databases)
11:42
Enhance showdb to be 32-bit clean. (check-in: a8200327 user: drh tags: larger-databases)
10:36
Merge fixes from trunk. (check-in: d2aac001 user: drh tags: larger-databases)
2020-07-21
18:36
Work-around for GCC bug 96270. (check-in: 9679c0c6 user: drh tags: trunk)
18:25
Add the sqlite3Int64ToText() routine and use it to convert integers to text, as it is much faster than the generic text formatter. (check-in: 14eed318 user: drh tags: trunk)
2020-07-20
23:33
Fix the ".read" command so that it gives an error when its argument is a directory. See forum message 4c53c434ca. (check-in: 6d258c3c user: drh tags: trunk)
18:07
Fix a corner-case error in the new UPDATE FROM logic helpfully discovered by OSSFuzz. (check-in: 5cc20093 user: drh tags: trunk)
14:54
Add the "enlargedb" utility program used to construct very large database files for testing. (check-in: 66858d87 user: drh tags: larger-databases)
13:11
Faster column name lookup in the columnIndex() routine using hashing. (check-in: de2a9081 user: drh tags: trunk)
12:47
Initial changes to allow database up to 281TB in size. (check-in: 9cb7da9b user: drh tags: larger-databases)
2020-07-18
18:59
Fix test case result on a DELETE with an INDEXED BY clause due to improvements in the query planner at [d901837fea1ed54d] (check-in: 020dbfa2 user: drh tags: trunk)
18:44
More harmless compiler warning fixes. (check-in: 4c0d208c user: drh tags: trunk)
18:03
Fix a harmless compiler warning. (check-in: 5a0b0c6e user: drh tags: trunk)
15:52
Add UPDATE FROM compatible with postgresql. (check-in: 88baf1eb user: drh tags: trunk)
2020-07-17
22:20
Add ALWAYS() around a conditional that is always true. (Closed-Leaf check-in: 270e17bb user: drh tags: update-from)
18:07
Use #ifdef to omit code that is only reachable when the SQLITE_ENABLE_UPDATE_DELETE_LIMIT compile-time option is used. (check-in: 587ded60 user: drh tags: update-from)
16:31
Make it an error to repeat the target object/alias of an UPDATE statement in its FROM clause. (check-in: d90a37e9 user: dan tags: update-from)
15:34
Add a couple of "#ifdef SQLITE_ENABLE_UPDATE_DELETE_LIMIT" blocks missing from new code on this branch. (check-in: cc471df0 user: dan tags: update-from)
11:07
Bring this branch up to date with begin-concurrent-pnu. (check-in: 12a909fb user: dan tags: begin-concurrent-report)
2020-07-16
20:57
Allow BEGIN CONCURRENT transactions to contain schema modifications. However, this causes them to conflict with all other transactions. (check-in: 2160ede1 user: dan tags: begin-concurrent-pnu-wal2)
20:39
Allow BEGIN CONCURRENT transactions to contain schema modifications. However, this causes them to conflict with all other transactions. (check-in: e9393a18 user: dan tags: begin-concurrent-pnu)
20:24
Allow BEGIN CONCURRENT transactions to contain schema modifications. However, this causes them to conflict with all other transactions. (check-in: 9a4a0230 user: dan tags: begin-concurrent)
18:55
Relax pointless restrictions on allowing tables in the FROM clause from crossing over LEFT JOINs, as long as the table being moved is not the right table of the LEFT JOIN. (check-in: c1ea0649 user: drh tags: trunk)
14:52
Modifications to test code so that the sqlite3MemdebugHastype() assert() statements are enabled for Tcl tests. (check-in: e3c423cb user: dan tags: update-from)
14:19
Small performance improvement and size reduction in sqlite3DbStrNDup(). (check-in: 35cd8706 user: drh tags: trunk)
10:48
Add OOM test for UPDATE...FROM statements inside triggers. (check-in: 917a479b user: dan tags: update-from)
02:36
Fix a double-free of the FROM clause of an UPDATE inside of triggers. (check-in: 706c8da2 user: drh tags: update-from)
00:45
Separate VdbeCoverage() macro for different jumps. (check-in: da593e57 user: drh tags: update-from)
2020-07-15
21:53
Fix a problem in UPDATE FROM in which it tries to free using sqlite3_free() instead of sqlite3DbFree(). (check-in: 8ca87526 user: drh tags: update-from)
20:01
This was originally a merge to trunk. But after further testing, maybe it is better to run it a little longer on a branch. (check-in: 7d7d5ecb user: dan tags: update-from)
19:38
Add tests for UPDATE...FROM and foreign keys. (check-in: 6c3668f9 user: dan tags: update-from)
18:30
Fix problems that could occur if a table with the same name as the table being updated appeared in the FROM clause of an UPDATE statement. (check-in: 13224cbd user: dan tags: update-from)
15:32
Fix a problem in SQLITE_ENABLE_HIDDEN_COLUMN builds occuring when an UPDATE...FROM fired an INSTEAD OF trigger. (check-in: 5176cb7a user: dan tags: update-from)
11:00
Update this branch with changes from trunk. (check-in: 53b8b507 user: dan tags: update-from)
02:15
New test cases for decimal and ieee754. (check-in: 73d62f82 user: drh tags: trunk)
2020-07-14
23:58
Improvements to the min()/max() optimization so that it is able to use indexes where terms are constrained by IN operators. (check-in: b8ba2f17 user: drh tags: trunk)
22:20
Now appears to work. All legacy tests pass. Need to add new tests, however. (Closed-Leaf check-in: 81e64509 user: drh tags: minmax-opt-exp)
19:51
Support UPDATE...FROM statements in trigger programs. (check-in: 4f6d8d0e user: dan tags: update-from)
15:30
Fix an obsolete header comment on the sqlite3WhereIsOrdered() routine. (check-in: 5041f6a1 user: drh tags: trunk)
13:02
Merge fixes from trunk. (check-in: 2af372f5 user: drh tags: minmax-opt-exp)
12:40
Early detection of freelist size corruption in incremental vacuum. (check-in: f25a56c2 user: drh tags: trunk)
02:03
Fix a crash. Not all tests pass, but tests do at least run to completion now. (check-in: b5d38e28 user: drh tags: minmax-opt-exp)
01:51
Fix an obsolete assert(). (check-in: 221e0210 user: drh tags: minmax-opt-exp)
01:03
Merge latest changes from trunk. This branch still does not work. (check-in: 61443872 user: drh tags: minmax-opt-exp)
2020-07-13
20:43
Add test for LEFT JOIN in UPDATE...FROM statement. (check-in: 4f3dff04 user: dan tags: update-from)
20:10
Add test cases and fixes for UPDATE...FROM statements that modify primary key columns. (check-in: 47c87af3 user: dan tags: update-from)
18:04
Merge latest trunk changes with this branch. (check-in: 5ee3c27e user: dan tags: update-from)
15:35
Add back the ALWAYS() macro that was removed by [f7a74f89dbd58b47] as the condition is no longer reachable due to the previous check-in. (check-in: 9cb03bea user: drh tags: trunk)
15:20
Fix a problem causing queries containing window functions to ignore collation sequences under some circumstances. (check-in: e6c2192e user: dan tags: trunk)
11:06
Fix an integer overflow bug in fts5 triggered by a corrupt record. (check-in: 49da8bdc user: dan tags: trunk)
2020-07-11
16:45
Add second test case for the improvement in [30735432]. (check-in: 1bd18ca3 user: dan tags: trunk)
16:42
Improved detection of a corrupt database schema. Fix for a problem discovered by dbsqlfuzz. (check-in: 30735432 user: drh tags: trunk)
2020-07-10
21:43
Remove unnecessary code from the window functions implementation. (check-in: 1e87da9c user: drh tags: trunk)
19:09
An attempt to get the Min/Max optimization working with IN constraints. Not currently working. (check-in: 4a64c16f user: drh tags: minmax-opt-exp)
11:12
Fix a broken assert() in fts3 that could fail when handling corrupt records. (check-in: 51247323 user: dan tags: trunk)
2020-07-09
21:29
Fix handling of another corrupt database case in fts3. (check-in: ccff8cb8 user: dan tags: trunk)
14:05
Fix a comment typo. No changes to code. (check-in: 610ee8d5 user: drh tags: trunk)
2020-07-07
19:24
Remove bashism from configure script. (check-in: 138beebb user: dan tags: trunk)
2020-07-06
12:13
Increase the resolution of the vdbe opcode counters to 64 bits, as apparently some users run single prepared statements that go for longer than 4 billion instructions. See forum post "Possible freeze in the progress loop" (check-in: 612eb590 user: drh tags: trunk)
2020-07-04
20:29
Fix the table_info pragma so that it always checks the schema version and reprepares, even if it is a no-op. (check-in: 6da77973 user: drh tags: trunk)
2020-07-03
21:24
Fix the line-number of error messages coming out of the ".import" command when the --skip option is used. (check-in: e0a8b11d user: drh tags: trunk)
21:18
Fix a compiler warning about an unused procedure in the parser. (check-in: b27bb4fe user: drh tags: trunk)
18:07
Update the lemon documentation to match recent enhancements. (check-in: ca7630a5 user: drh tags: trunk)
17:24
If the amalgamation is built using OPT_FEATURE_FLAGS = -DSQLITE_UDL_CAPABLE_PARSER then it can be compiled with or without the -DSQLITE_ENABLE_UPDATE_DELETE_LIMIT option and it works either way. (check-in: 1f96a29d user: drh tags: trunk)
15:41
In lemon, add "%if" and "%else" and allow boolean expressions as the argument to "%if", "%ifdef", and "%ifndef". (check-in: 951d22b7 user: drh tags: trunk)
12:32
Fix the pragma_foreign_key_check virtual table so that it accepts arguments. (check-in: 07f849de user: drh tags: trunk)
12:15
Fix a problem with "PRAGMA foreign_key_check" where if a table in one schema appears to have foreign key constraints against another table in a different schema, the pragma will try to check the constraints even though they do not apply because they are in different schemas. (check-in: 81bc4b65 user: drh tags: trunk)
2020-07-02
17:05
Minor simplification to the 32-bit varint decoder. (check-in: 6ffd17b6 user: drh tags: trunk)
2020-07-01
16:19
Ensure that the "PRAGMA schema_version" command causes the schema to be reparsed and reloaded. (check-in: 27d4a9a7 user: drh tags: trunk)
14:07
Fix a problem with VM code generated for some aggregate SELECT statements that feature min()/max() aggregates both with and without FILTER clauses. (check-in: 2094da75 user: dan tags: trunk)
2020-06-30
18:21
Add a test to ensure that "PRAGMA wal_checkpoint = FULL" invokes the busy-handler to wait on read-locks. (check-in: f068fb11 user: dan tags: trunk)
15:32
Avoid a potential buffer overread in fts3 when processing corrupt records. (check-in: 4d0cfb12 user: dan tags: trunk)
2020-06-29
20:26
Fix generated columns so that they play well with upsert. See the forum post by "iffycan" for details. (check-in: fa9d93cf user: drh tags: trunk)
20:20
Change the magic number used to identify the "excluded" pseudo-table in an UPSERT statement into a #define constant. (check-in: e96c2ac9 user: drh tags: trunk)
20:09
Document the dual-use of the P5 operand to the OP_MakeRecord opcode. (check-in: a73f80f2 user: drh tags: trunk)
19:58
Passive checkpoints do not use the busy-handler. So, in order to minimize visible changes for legacy applications, do not enable blocking locks for passive checkpoints. (Closed-Leaf check-in: 9c2b4bdd user: dan tags: wal-setlk-changes)
18:30
Change the name of IntegrityCk.mallocFailed to IntegrityCk.bOomFault to avoid confusion with the sqlite3 object field with the same name. (check-in: 87c7d962 user: drh tags: trunk)
18:22
Change things so that if SQLITE_ENABLE_SETLK_TIMEOUT is defined as 2 instead of 1, all blocking locks are taken for a single millisecond and the default busy-handler invoked as normal. (check-in: ac381e6e user: dan tags: wal-setlk-changes)
17:52
Add test script to verify busy-timeouts are working for SQLITE_ENABLE_SETLK_TIMEOUT builds. (check-in: ada43e7c user: dan tags: trunk)
16:30
Do not run resetAccumulator() after a malloc failure. (check-in: 1b426603 user: drh tags: trunk)
13:33
Fix another fts3 problem with processing corrupt records. (check-in: 6e0ffa20 user: dan tags: trunk)
13:12
Small performance improvement in the sqlite3_step() interface. (check-in: 61400ef9 user: drh tags: trunk)
2020-06-26
20:41
Fix a problem that could cause an infinite loop in the fts3 'merge' command. (check-in: be545f85 user: dan tags: trunk)
17:56
When computing the verification hash in speedtest1, do not include the value of floating point results (which can very in trailing bits depending on platform) but merely hash the fact that a floating point value was received. (check-in: e12225d5 user: drh tags: trunk)
16:17
Improvements to speedtest1.c for more consistent verification hashes. (check-in: d34b8ff5 user: drh tags: trunk)
15:42
Improvements to speedtest1. Added the --memdb and --output options. The --verify option now outputs a hash of SQL outputs. The speed-check.sh script disables the hashing feature with --legacy and adds the --verify option. (check-in: f3455cec user: drh tags: trunk)
15:32
Add the ieee754_to_blob() and ieee754_from_blob() functions. Fix the handling of subnormal forms in the two-argument version of ieee754(). (check-in: c78cbf2e user: drh tags: trunk)
14:05
Add --verify to speed-check.sh and add --memdb and --output to speedtest1.c. Other improvements to speedtest1.c. (Closed-Leaf check-in: 89a11120 user: drh tags: speedtest-hash)
04:34
Fix a possible null pointer deref following OOM. Discovered by dbsqlfuzz. (check-in: cc888878 user: drh tags: trunk)
2020-06-25
23:21
Update the showlocks utility program so that it functions on files with a huge number of locks without overflowing the stack. (check-in: adb7484f user: drh tags: trunk)
20:28
Enhance the --verify option to speedtest1.c so that it computes and displays a hash of the result from all SQL queries, for verification purposes. (check-in: 60d1e46c user: drh tags: speedtest-hash)
2020-06-24
15:06
Add the ieee754_mantissa() and ieee754_exponent() functions to the iee754 extension. Build the ieee754 extension into the CLI. (check-in: db2f0836 user: drh tags: trunk)
13:52
Fix the decoding of subnormal values in the ieee754 extension. (check-in: 838817b6 user: drh tags: trunk)
13:14
In the one-argument version of the ieee754() extension function, if the argument is an 8-byte blob, interpret that blob as a binary64 floating point and decode it. (check-in: 4199c1e8 user: drh tags: trunk)
12:29
Add the decimal extension. It is built into the shell, but is an optional add-on for the library. It is not included in the amalgamation. (check-in: 5391687b user: drh tags: trunk)
11:45
Fix the ".selecttrace" command in the CLI (only available when compiled with the non-standard -DSQLITE_ENABLE_SELECTTRACE option) so that it does not segfault if invoked without any arguments. (check-in: d45c27a3 user: drh tags: trunk)
2020-06-23
20:03
Enhance the --testset option on speedtest1 so that it can accept a comma-separated list of test modules to run in order. (check-in: 780e8aaa user: drh tags: trunk)
17:57
Try to remove end-of-line whitespace when building the amalgamation. (check-in: be3e7814 user: drh tags: trunk)
15:29
Fix a harmless compiler warning. (Closed-Leaf check-in: e1416c8b user: drh tags: decimal)
14:44
Avoid unnecessary normalization in decimal_sum(). Trim excess trailing zeros off the result of decimal_mul(). (check-in: 0294ce07 user: drh tags: decimal)
2020-06-22
21:25
Add the decimal_mul() function. (check-in: 72eee04b user: drh tags: decimal)
19:12
An extension for doing decimal arithmetic on strings. (check-in: 4c3b8560 user: drh tags: decimal)
16:02
Fix problems with handling return value of mmap() in lsm_unix.c (mmap() returns MAP_FAILED on error, not NULL). (check-in: da06168c user: dan tags: trunk)
2020-06-20
03:43
Work around a bug (an incorrect warning) in Clang-8. (check-in: 06729114 user: drh tags: trunk)
2020-06-19
15:35
Reverse unintentional spacing change in the previous check-in. (check-in: c7b2ee1e user: mistachkin tags: trunk)
15:33
Include 'sqlite3rc.h' in the amalgamation archive targets. (check-in: 3df579ca user: mistachkin tags: trunk)
15:24
Extend the refactoring into extensions. Clean up stray newlines. (check-in: 7a876209 user: drh tags: trunk)
13:33
Further refactoring of the schema table name. (check-in: 9536fa0a user: drh tags: trunk)
11:34
Refactoring various names. No changes in the resulting machine code. (check-in: 7bb08b1b user: drh tags: trunk)
2020-06-18
14:30
Merge the 3.32.3 release into the reuse-schema branch. (Leaf check-in: c2d36763 user: drh tags: reuse-schema-3.32)
14:00
Version 3.32.3 (Leaf check-in: 7ebdfa80 user: drh tags: release, branch-3.32, version-3.32.3)
13:16
Fix an assert() that could fail when operating on a database with a corrupt schema. (check-in: b69b9c06 user: drh tags: branch-3.32)
2020-06-17
20:29
Fix an assert() that could fail when operating on a database with a corrupt schema. (check-in: 4a340c9b user: dan tags: trunk)
17:27
Fix an assert() in fts3 that could fail when processing a corrupt record. (check-in: ea71fb7f user: drh tags: branch-3.32)
14:54
Fix an assert() in fts3 that could fail when processing a corrupt record. (check-in: 4adc0a1b user: dan tags: trunk)
14:14
Fix a problem with retrying constraint failures within sqlite3changeset_apply() calls with the SQLITE_CHANGESET_INVERT flag is set. (check-in: d73e857b user: dan tags: trunk)
12:37
Merge miscellaneous fixes from trunk into the 3.32 branch. (check-in: d55b8e79 user: drh tags: branch-3.32)
2020-06-16
19:51
Add new file doc/wal-lock.md, containing notes on wal-mode blocking locks. (check-in: c6b1d3a3 user: dan tags: trunk)
17:34
In the CLI, only interrupt tabular outputs at the end of a line. And print "Interrupt" on a line after stopping the output. (check-in: f3bd6893 user: drh tags: trunk)
15:19
Merge 3.32.2 changes into the reuse-schema branch. (check-in: dc081336 user: drh tags: reuse-schema-3.32)
14:12
Add a test case covering the previous check-in to the test/fuzzdata8.db file. (check-in: 95379da0 user: drh tags: trunk)
14:06
Fix an assert() in fts3 that can fail when processing a corrupt record. (check-in: a58a6d6f user: dan tags: trunk)
2020-06-15
20:27
Provide "sqlite_schema" as an alternative name to the table that holds the database schema. (check-in: 61782a7a user: drh tags: trunk)
20:05
Fix the CLI so that interrupts work in columnar output mode. (check-in: 9472f1fe user: drh tags: trunk)
14:38
Fix the --enable-update-limit option to ./configure. (check-in: d31fd57e user: drh tags: trunk)
13:51
Fix a defect in the query-flattener optimization identified by ticket [8f157e8010b22af0]. (check-in: 10fa79d0 user: drh tags: trunk)
2020-06-14
13:40
Check-in [1d4f86201dab9a22] changed a testcase() to an assert() because we didn't know how to reach that condition any more. But YongHeng's fuzzer found a way. So now we change it back. Ticket [9fb26d37cefaba40]. (check-in: 90b1169d user: drh tags: trunk)
2020-06-13
21:24
Avoid deleting expression nodes in the flattener code, as they may be referenced by AggInfo objects further up the stack. Ticket [e367f31901ea8700] (check-in: cc1fffde user: dan tags: trunk)
03:18
Identifiers "TRUE" and "FALSE" cannot take on their boolean constant values if they are operands of the "." operator. (check-in: ad738286 user: drh tags: trunk)
2020-06-12
15:45
New test case added to test/fuzzdata8.db. (check-in: 14a5cbdd user: drh tags: trunk)
15:17
Fix a buffer overread in fts3 that could occur when decoding a corrupted record. (check-in: 9a4a40c4 user: dan tags: trunk)
00:31
Remove a NEVER() that turns out to be reachable. (check-in: 44e573ec user: drh tags: trunk)
2020-06-11
16:04
Add a new assert() to the SELECT processing. (check-in: 98cea4a3 user: drh tags: trunk)
15:53
Avoid rewriting compound SELECT statements that use a different collation sequence for ORDER BY and record processing a second time if they contain window functions. Fix for [b706351c]. (check-in: 32a88bdd user: dan tags: trunk)
00:57
Provide the ability to use the SELECTTRACE() debugging macro outside of the select.c source file. Use this to add a new SELECTTRACE() entry in window.c for improved tracing of window-function parse-tree rewriting. (check-in: 30c6d895 user: drh tags: trunk)
2020-06-10
14:30
Make sure the bbox object is fully initialized in geopoly, even if reading a corrupted database. (check-in: fd5abb1a user: drh tags: trunk)
11:18
Ensure that aggregate functions that (a) are part of SELECT statements with no FROM clause and (b) have one or more scalar sub-selects as arguments are assigned to the correct aggregate context. Fix for ticket [7c6d876f84e6e7e2] (check-in: dafd2466 user: dan tags: branch-3.32)
11:01
Ensure that the "push-down" optimization does not push constraints down into compound queries if any of the component queries uses window functions. (check-in: d31850fe user: dan tags: branch-3.32)
11:01
Disable AggInfo consistency checks when unwinding after an OOM. (check-in: 7e2833fb user: dan tags: branch-3.32)
10:58
Ensure that the "push-down" optimization does not push constraints down into compound queries if any of the component queries uses window functions. (check-in: 094dcfe7 user: dan tags: trunk)
03:07
Disable AggInfo consistency checks when unwinding after an OOM. (check-in: 65179814 user: drh tags: trunk)
2020-06-09
23:50
Ensure that aggregate functions that (a) are part of SELECT statements with no FROM clause and (b) have one or more scalar sub-selects as arguments are assigned to the correct aggregate context. Fix for ticket [7c6d876f84e6e7e2] (check-in: c29a9e48 user: drh tags: trunk)
22:11
Mark an always-true conditional with ALWAYS(). (Closed-Leaf check-in: 35a23684 user: drh tags: agg-context-fix)
17:45
Ensure that aggregate functions that (a) are part of SELECT statements with no FROM clause and (b) have one or more scalar sub-selects as arguments are assigned to the correct aggregate context. (check-in: 16a41fa8 user: dan tags: agg-context-fix)
14:56
Crazy experimental change to refcount the AggInfo objects. (Leaf check-in: 9a4cc1db user: drh tags: refcount-agginfo)
13:53
Modify a test file to avoid causing Tcl to allocate too much memory. (check-in: 232431f3 user: dan tags: trunk)
13:38
Give the expression pointer fields of AggInfo distinctive names in order to simplify tracking of all their uses. (check-in: a53bdd31 user: drh tags: trunk)
13:17
Persist AggInfo expressions before deleting them when omitting the LIMIT clause in a subquery. One possible fix for ticket [7c6d876f84e6e7e2]. (Leaf check-in: 04867cba user: drh tags: tkt-7c6d876f84e6e7e2)
11:59
Improved tree-view debugging output for aggregate functions. (check-in: b5711b4e user: drh tags: trunk)
2020-06-08
14:43
Fix a case where a corrupted fts3 record could cause an assert() failure, or spurious SQLITE_NOMEM error in builds with assert() disabled. (check-in: d48af4d2 user: dan tags: trunk)
12:51
Increase the version number to 3.32.3. (check-in: a376ec69 user: drh tags: branch-3.32)
12:49
When an Expr object is changed and that Expr is referenced by an AggInfo, then also update the AggInfo. Also, persist all AggInfo objects until the Parse object is destroyed. This is a new fix for ticket [c8d3b9f0a750a529]. (check-in: 44a58d6c user: drh tags: branch-3.32)
11:34
When an Expr object is changed and that Expr is referenced by an AggInfo, then also update the AggInfo. Also, persist all AggInfo objects until the Parse object is destroyed. This is a new fix for ticket [c8d3b9f0a750a529] that avoids the follow-on problems identified by tickets [0899cf62f597d7e7], [1f6f353b684fc708], [e5504e987e419fb0], and [f7d890858f361402]. (check-in: 6e6b3729 user: drh tags: trunk)
2020-06-07
22:44
Fix minor OOM problems. (Closed-Leaf check-in: 8b23d802 user: drh tags: persist-agginfo)