SQLite

Timeline
Login

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

100 check-ins occurring around 5d4c65779d.

2021-04-07
18:17
Do not allow the use of rowid for views and subqueries unless compiled with -DSQLITE_ALLOW_ROWID_IN_VIEW. (check-in: a2ddb89b20 user: drh tags: trunk)
18:08
Add the SQLITE_ALLOW_ROWID_IN_VIEW option to omitttest.tcl. (Closed-Leaf check-in: 83b8e4c281 user: drh tags: no-rowid-on-view)
17:46
Merge latest changes into this branch. (check-in: 655c28412f user: dan tags: begin-concurrent-report)
17:32
Merge latest trunk changes into this branch. (check-in: 1f3f7e4bf3 user: dan tags: begin-concurrent-pnu)
15:45
Also prohibit the use of rowid from a subquery. Add the SQLITE_ALLOW_ROWID_IN_VIEW compile-time option to restore legacy behavior in case somebody actually needs it. (check-in: 14b1d56ef8 user: drh tags: no-rowid-on-view)
15:23
Merge version 3.35.4 with this branch. (check-in: 4b4f87913a user: dan tags: reuse-schema-3.35)
15:13
Update a broken assert() on this branch. (check-in: e69f29892e user: dan tags: reuse-schema)
13:20
Unnecessary local variable initialization to fix a harmless compiler warning. (check-in: c22e47c77a user: drh tags: trunk)
12:59
In FTS3, if the xBegin method fails to start a transaction due to an OOM error, then make sure that the virtual table is left in a consistent state. dbsqlfuzz 85ef48423fda4eef79a551654445d8ef3537a590. (check-in: dd55357833 user: drh tags: trunk)
12:36
Fix an assert in the automatic-index constructor that can be false following an OOM error. dbsqlfuzz ee04d66c627ed5b5301e0ce09e24db47e0f1544e. (check-in: cc6463fe6d user: drh tags: trunk)
12:21
Earlier detection of page 1 on the freelist (which is impossible) and reporting of that as database corruption. dbsqlfuzz 6fe6c504b320be5e3eed66896cb0db28bfb38a93. (check-in: b1bf0d9875 user: drh tags: trunk)
12:02
Fix a possible crash that could occur when executing a drop column operation on a corrupt database schema. (check-in: c337849416 user: dan tags: trunk)
09:31
Fix seg-fault upon appendvfs attempt to open non-existent file. (check-in: 04f6439f4d user: larrybr tags: trunk)
2021-04-06
23:29
Do not apply the optimization that omits DISTINCT if all result terms are part of a UNIQUE index if the index is also a partial index. Fix for the bug reported by forum post 66954e9ece. (check-in: c2f940b028 user: drh tags: trunk)
22:56
Detect OOM earlier in the geopoly extension. dbsqlfuzz 0986e7b020e6137fc6b96331f91d15753d18e42d. (check-in: 7237117595 user: drh tags: trunk)
21:20
Modify the drop column code to handle WITHOUT ROWID tables for which a single column appears more than once in the primary key. (check-in: e0d2507021 user: dan tags: trunk)
19:13
Raise an error if a query tries to access the "rowid" of a view, as views do not have rowids. (check-in: 7a73c6166b user: drh tags: no-rowid-on-view)
18:40
Restructure a loop in window.c to avoid hitting an assert() following an OOM. dbsqlfuzz test case 6ef74a9659de87e9be3d8694ad062c448aa7ef1d. (check-in: 887c19a15b user: dan tags: trunk)
18:02
Update an assert statement that could fail when using "PRAGMA writable_schema = 1" to access a database with a corrupt schema. (check-in: 55cad6f628 user: dan tags: trunk)
17:51
Fix issue with failing --enable-debug --enable-fts5 build. (check-in: e7491acc0c user: dan tags: trunk)
16:55
New test cases added to fuzzdata8.db. (check-in: 039ad662dd user: drh tags: trunk)
16:42
Silence an msan warning triggered by a corrupt database by initializing a local variable in sqlite3Insert(). (check-in: f64deecee1 user: dan tags: trunk)
16:16
Avoid a use-after-free that may occur when accessing a corrupt database schema with "PRAGMA writable_schema = 1" set. (check-in: a1d823f687 user: dan tags: trunk)
14:46
Remove some test routines from release builds of fts5. (check-in: 3088bf15ca user: dan tags: trunk)
13:57
Fix incorrect RETURNING test cases in wherelimit.test (check-in: 20d21ff9be user: dan tags: trunk)
13:56
Earlier detection of OOM errors during window function processing. dbsqlfuzz b08676f5a0437552c95d2a5d7ef285f8c451ea35. (check-in: 8e04f52e32 user: drh tags: trunk)
13:53
Handle "RETURNING rowid" clauses attached to INSERTs on views without causing an assert() to fail. Fixes dbsqlfuzz crash 0081f863d7b2002045ac2361879fc80dfebb98f1. (check-in: 9c5b7386d0 user: dan tags: trunk)
13:03
Further improvements (subsequent to [d91450847a3a3a72]) to handling of attempts to delete a journal using the memdb VFS. dbsqlfuzz ac61dab357279a6a531de067f040e9a4828d2df0. (check-in: a083940642 user: drh tags: trunk)
12:50
Earlier detection and handling of OOM problems. dbsqlfuzz 39f2963ea5559aa3a16e24e0e3cb42aac85a7371. (check-in: 8d46df7313 user: drh tags: trunk)
2021-04-05
22:42
Relax an assertion on the sqlite3WhereEnd() routine after dbsqlfuzz found a counter-example. (check-in: e6b591e765 user: drh tags: trunk)
22:30
Add a missing CORRUPT_DB to an assert in the OP_ResultRow opcode. (check-in: 82f92d79e1 user: drh tags: trunk)
19:23
Adjust the README.md file so that build instructions work for Fossil version 2.12 and later. Forum post 51f28bb701. (check-in: 51f87adc7f user: drh tags: trunk)
19:05
Do not allow floating point rounding errors to cause a window function xInverse() function to be invoked before the corresponding xStep() call. (check-in: 7a19fed4f2 user: dan tags: trunk)
17:50
Fix an assert() that can be false when doing an incremental vacuum on a corrupt database file. dbsqlfuzz cced0668cfd4da4eb2382cb9dd26c17c64aaff76. (check-in: 15b801016f user: drh tags: trunk)
16:20
Avoid coding unindexed WHERE constraints if an equivalent transitive term has already been coded by an outer loop. (check-in: 644bb77f8b user: dan tags: trunk)
13:41
Do not invoke the xDelete method when converting to PRAGMA journal_mode=OFF if the underlying VFS does not support that method. dbsqlfuzz 39d6af88ef5242f866c4f9b21ede330c5c1e36a8. (check-in: d91450847a user: drh tags: trunk)
11:39
As a continuation of [1f66a85b7757754f], ensure that an OOM that occurs while checking the validity of the schema is reported out as SQLITE_NOMEM and not as SQLITE_SCHEMA. (check-in: 5045c8a748 user: drh tags: trunk)
2021-04-04
23:56
Fix an assert() in sqlite3BtreeLast() that needs an "|| CORRUPT_DB" term. Dbsqlfuzz case b92b72e4de80b5140c30ab71372ca719b8feb618. (check-in: ad718388a1 user: drh tags: trunk)
14:22
Avoid compile error when SQLITE_OMIT_VIRTUALTABLE defined. (check-in: 0ee0ef476b user: larrybr tags: trunk)
12:52
Make shell .parameter feature type-agnostic. Hush harmless compiler warning. (check-in: 35cf295e02 user: larrybr tags: trunk)
2021-04-03
23:30
Improved robustness to OOM conditions in the window function logic. dbsqlfuzz 0c123f7d80b29beaafc8411c12129e46f7ffdac3. (check-in: 35ff7cbf54 user: drh tags: trunk)
20:35
Take care not to change an SQLITE_NOMEM error into SQLITE_SCHEMA. (check-in: 1f66a85b77 user: drh tags: trunk)
19:23
Fix a crash in handling queries of the form "SELECT aggregate(DISTINCT tbl.col) FROM ... LEFT JOIN tbl ...". Fixes a problem introduced by [ef4ac0ddd297bbd3]. (check-in: 0dcf808ddf user: dan tags: trunk)
2021-04-02
20:53
Merge latest trunk changes with this branch. (check-in: a221625933 user: dan tags: begin-concurrent-report)
20:43
Correctly capture the error when a RETURNING clause appears on an attempt to UPDATE an eponymous virtual table. dbsqlfuzz 486f791cbe2dc45839310073e71367a1d8ad22dd. (check-in: 778a9a6e6f user: drh tags: trunk)
20:40
Merge latest trunk changes into this branch. (check-in: a7e612ee8f user: dan tags: begin-concurrent-pnu)
20:29
Merge latest trunk changes into this branch. (check-in: 9842084230 user: dan tags: begin-concurrent)
19:55
Add experimental SQLITE_FCNTL_EXTERNAL_READER file control. (check-in: e16da5af82 user: dan tags: trunk)
18:59
Fix a problem with the geopoly_bbox() function. (check-in: f3a2eb979f user: drh tags: trunk)
15:20
Version 3.35.4 (check-in: 5d4c65779d user: dan tags: release, branch-3.35, version-3.35.4)
11:59
Fix incorrect RETURNING test cases in wherelimit.test (check-in: 64b0eb7e11 user: drh tags: branch-3.35)
2021-04-01
11:30
When resolving names in the RETURNING clause, do not accept trigger names even within subquires. (check-in: 8541c71b35 user: drh tags: branch-3.35)
2021-03-31
23:56
When resolving names in the RETURNING clause, do not accept trigger names even within subquires. See forum post 34c81d83c9177f46 for context. (check-in: fd4ea3f626 user: drh tags: trunk)
17:49
When resolving column names in the RETURNING clause, do not ignore an incorrect table name qualifier. Raise an error instead. (check-in: 3b916924ce user: drh tags: branch-3.35)
17:42
When resolving column names in the RETURNING clause, do not ignore an incorrect table name qualifier. Raise an error instead. See forum post 85aef8bc01 for context. (check-in: 51d5c50b2f user: drh tags: trunk)
13:51
Defer deletion of expressions that are optimized out by the AND optimizer in the sqlite3ExprAnd() routine until the corresponding Parse object is deleted. This avoids a dangling pointer in AggInfo if sqlite3ExprAnd() is invoked by the push-down optimization. The dangling pointer appears to be harmless in release builds, only showing up in debug builds. Problem found by dbsqlfuzz. (check-in: 77a30f3f7a user: drh tags: branch-3.35)
13:41
Ensure that negative numbers may not be used in frame offset clauses even if they are initially text value. e.g. (RANGE BETWEEN '-1' PRECEDING ...). (check-in: 2d179f58bf user: drh tags: branch-3.35)
13:31
Defer deletion of expressions that are optimized out by the AND optimizer in the sqlite3ExprAnd() routine until the corresponding Parse object is deleted. This avoids a dangling pointer in AggInfo if sqlite3ExprAnd() is invoked by the push-down optimization. The dangling pointer appears to be harmless in release builds, only showing up in debug builds. Problem found by dbsqlfuzz. (check-in: c36b43589a user: drh tags: trunk)
11:31
Ensure that negative numbers may not be used in frame offset clauses even if they are initially text value. e.g. (RANGE BETWEEN '-1' PRECEDING ...). (check-in: 8b681b274d user: dan tags: trunk)
2021-03-30
01:57
Raise an error if a term of the form "TABLE.*" appears in the RETURNING clause, as SQLite does not (yet) know how to handle that. Ticket [132994c8b1063bfb]. (check-in: 257e16f7b3 user: drh tags: branch-3.35)
01:52
Raise an error if a term of the form "TABLE.*" appears in the RETURNING clause, as SQLite does not (yet) know how to handle that. Ticket [132994c8b1063bfb]. (check-in: 3039bcaff9 user: drh tags: trunk)
2021-03-29
21:59
Increase the patch number to 3.35.4. (check-in: 4375cec281 user: drh tags: branch-3.35)
21:16
Do not do the EXISTS-to-IN transformation if the sub-select has LIMIT clause. Ticket [de7db14784a08053] (check-in: 3bf8a35716 user: dan tags: branch-3.35)
20:28
Do not do the EXISTS-to-IN transformation if the sub-select has LIMIT clause. (check-in: d07e246f9b user: dan tags: trunk)
20:04
Add "#ifdef SQLITE_DEBUG" blocks around test variables sqlite3_fts5_may_be_corrupt and sqlite3_fts3_may_be_corrupt. (check-in: 004559544e user: dan tags: trunk)
20:01
Simplify the comparison opcodes in the bytecode engine, for a performance improvement. (check-in: f2af5868be user: drh tags: trunk)
19:47
Fix VDBE coverage macros. (Closed-Leaf check-in: ebe100de55 user: drh tags: compare-opcode-opt)
18:53
Omit the SQLITE_STOREP2 and SQLITE_KEEPNULL options from the comparison opcodes, allowing them to run faster. This required refactoring the vector comparison logic, which in turn required changing OP_ElseNotEq into OP_ElseEq. (check-in: 380b46054b user: drh tags: compare-opcode-opt)
14:40
Add the OP_ZeroOrNull opcode and use it to compute boolean values for scalar comparisons, rather than the SQLITE_STOREP2 parameter to the comparison opcode. (check-in: 93781b6f10 user: drh tags: compare-opcode-opt)
13:47
The comparison opcodes (ex: OP_Eq) now set the iCompare flag so that the result of comparison can be used by subsequent OP_Jump or OP_ElseNotEq opcodes. (check-in: bd00df8f07 user: drh tags: compare-opcode-opt)
2021-03-28
23:37
Alternative implementation of the comparison opcode speed-up of check-in [4a8805d9a66dc888] that should pass muster with UBSAN. (check-in: afb18f6454 user: drh tags: trunk)
20:44
Document the "%token" directive for Lemon. This directive has been in place for a while, but was previously undocumented. (check-in: 36624d3740 user: drh tags: trunk)
2021-03-27
20:45
Performance improvement in the comparison opcodes by rewriting an array lookup using pointer arithmetic. This makes gcc 5.4.0 builds with -Os both faster and smaller. Though I suspect that in newer compilers with better optimizers in will probably make no difference at all in the generated machine code. Later: Even though the new code is perfectly valid, and generates correct machine code that is both smaller and faster, UBSAN complains about it in OSSFuzz. So we will take it out. So here was have an example of OSSFuzz coercing a widely used application to become bigger and slower. (Leaf check-in: 4a8805d9a6 user: drh tags: gcc-opt)
16:21
For the sqlite3_bind_text16 TCL binding used for testing, ensure that there are at least 3 terminating zeros, so that there will always be a \u0000 character even if the original byte sequence is an odd number of bytes. (check-in: c23d092f37 user: drh tags: trunk)
2021-03-26
23:59
In the sqlite3_bind_text and sqlite3_bind_text16 TCL commands of the test suite, ensure that the string is zero-terminated if the size argument is negative. (check-in: f472fd6443 user: drh tags: trunk)
14:04
Merge up all the 3.35.3 changes into the begin-concurrent-pnu-wal2 branch. (check-in: 4d425e641d user: drh tags: begin-concurrent-pnu-wal2)
13:58
Merge the 3.35.3 enhancements into the wal2 branch. (check-in: a1b8d9d213 user: drh tags: wal2)
13:47
Merge patch 3.35.3 into the begin-concurrent-report branch. (check-in: 4ba9fc34c5 user: drh tags: begin-concurrent-report)
13:38
Merge version 3.35.3 changes into the begin-concurrent-pnu branch. (check-in: 7e4c48afcc user: drh tags: begin-concurrent-pnu)
13:31
Merge from 3.35.3 into the begin-concurrent branch. (check-in: 988da36c86 user: drh tags: begin-concurrent)
13:16
Merge in changes for 3.35.3 (check-in: 76f19f4bcf user: drh tags: reuse-schema)
12:12
Version 3.35.3 (check-in: 4c5e6c200a user: drh tags: release, branch-3.35, version-3.35.3)
2021-03-24
23:30
Remove old testcases() macros. Also remove surplus end-of-line whitespace. (check-in: 54b41915ed user: drh tags: trunk)
19:57
Add a comment to snapshotrevert.c warning of the undefined effects reverting to an old snapshot may have on newer readers. (Leaf check-in: 00af3bd254 user: dan tags: snapshot-revert)
19:54
Add experimental extension "snapshotrevert". (check-in: 2d5ee3bad1 user: dan tags: snapshot-revert)
19:44
Comment improvements to on the distinct-agg optimization. Show a line in the EQP output when using an ephemeral table to implement DISTINCT on an aggregate. (check-in: 037ca79e60 user: drh tags: trunk)
17:28
Improvements to distinct aggregates such that they can sometimes avoid using an ephermeral table to test for duplicates if the column that is distinct is part of an index. (check-in: ef4ac0ddd2 user: drh tags: trunk)
17:04
Fix a harmless compiler warning. (check-in: 26b005a95e user: drh tags: trunk)
2021-03-23
22:15
Fix a problem with renaming a column when there is a quoted string immediately following the column name somewhere in the schema. (check-in: 4719fae626 user: dan tags: trunk)
21:02
Add an ALWAYS() on a branch that is always taken. (check-in: 0646d2260c user: drh tags: trunk)
19:39
Test result adjustments in test/misc7.test due to the EQP format change. (check-in: d3ade8c7fe user: drh tags: trunk)
16:34
When doing schema updates, try to convert (incorrect) double-quoted strings into (SQL-standard) single-quoted strings. (check-in: 0770470488 user: drh tags: trunk)
15:39
Tweaks to test/scanstatus.test to account for the new EQP format. (check-in: 2eb28afd01 user: drh tags: trunk)
15:07
Changes to test/analyzeG.test to conform to the new EXPLAIN QUERY PLAN syntax. (check-in: d8afde1bf1 user: drh tags: trunk)
14:33
Fix a test case in bigmmap.test so that it works with the new EXPLAIN QUERY PLAN output format. (check-in: 9ac064fe2a user: drh tags: trunk)
14:27
Add the ExprList.nAlloc column and use it to make the sqlite3ExprListAppend() routine much faster. (check-in: 1d3c4662c2 user: drh tags: trunk)
01:06
Enhance the EXPLAIN QUERY PLAN output to use symbolic names to describe subqueries, where possible, instead of cryptic subquery index numbers. And in other ways, make the EQP output cleaner and easier to read. Little code is changed, but many of the test results had to be tweaked to align with the new output format. (check-in: f8e28308fd user: drh tags: trunk)
2021-03-22
18:53
Merge recent fixes from trunk. (Closed-Leaf check-in: 4a343698b4 user: drh tags: eqp-improvements)
16:50
Increase the version number to 3.36.0 to begin the next development cycle. (check-in: 5cee689d64 user: drh tags: trunk)
16:47
This branch for any further patches on 3.35. We anticipate 3.35.3 in a few days. Hopefully there will never be a need for 3.35.4. (check-in: 8de4cb984a user: drh tags: branch-3.35)