SQLite

Timeline
Login

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

100 ancestors of 71643deb6bbad4b4

2019-06-10
19:17
Have ALTER TABLE commands ignore the lhs of "expr IN ()" and "expr NOT IN ()" expressions, just as other queries do. Fix for [533010b8ca]. (check-in: 71643deb user: dan tags: trunk)
19:07
Improvements to the documentation for the xAccess method of the VFS. Ticket [5e0423b058fa5adf] (check-in: 7078d77e user: drh tags: trunk)
18:33
Make sure a CAST to "NUMERIC" results in an integer if the value can be losslessly expressed as an integer, as the documentation requires. Ticket [dd6bffbfb6e61db9]. (check-in: c0c90961 user: drh tags: trunk)
15:34
Handle renaming a column or table when the schema contains a (meaningless) index on the constant expression ('text' IN ()) or ('text' NOT IN()). Fix for [fd76310a]. (check-in: 567b1309 user: dan tags: trunk)
13:46
Do not attempt the LIKE optimization on a column with numeric affinity if the rhs of the operator begins with whitespace. Fix for ticket [fd76310a5e]. (check-in: 94b58ab0 user: dan tags: trunk)
2019-06-07
22:51
Remove code in the round() SQL function that became unreachable due to the optimization of check-in [e95138f5f4febde5] (check-in: b141bae3 user: drh tags: trunk)
22:26
When casting string values into numeric and the string has a prefix that looks like a number but total string is not a well-formed number, then take extra care that the result is either integer or real depending on what the prefix looks like. Fix for tickets [e8bedb2a184001] and [4c2d7639f076aa]. (check-in: 67a68af5 user: drh tags: trunk)
18:56
Also upgrade script config.sub to the latest version. This should have been part of the previous commit. (check-in: efbf31b8 user: dan tags: trunk)
18:53
Upgrade the config.guess script to the latest version. (check-in: be843813 user: dan tags: trunk)
2019-06-05
14:29
CLI enhancements: Add the ".filectrl" command. Make the ".testctrl" command visible to ".help". (check-in: 7b3a99fc user: drh tags: trunk)
13:14
Add a test case for the unix SQLITE_FCNTL_CHUNK_SIZE file-control. (check-in: 3a477fd0 user: dan tags: trunk)
2019-06-04
18:21
In the CLI, add a small delay (0.1 seconds) after launching the output command for ".once" before deleting the temporary file. (check-in: 4979f138 user: drh tags: trunk)
15:47
New dbsqlfuzz test cases add to test/fuzzdata8.db. (check-in: 873aa46d user: drh tags: trunk)
13:11
Fix a segfault in fts3 that could occur when processing corrupt fts records. (check-in: dff24c6c user: dan tags: trunk)
2019-06-03
15:09
Fix harmless compiler warning in lemon. (check-in: 2da0eea0 user: mistachkin tags: trunk)
2019-05-30
13:47
Optimization to the round() SQL function for large input values without a fractional part. (check-in: e95138f5 user: drh tags: trunk)
00:46
Smaller and faster sqlite3IsNaN() implementation makes deserialization of floating point values much faster. (check-in: ea748ede user: drh tags: trunk)
2019-05-29
21:18
Much faster implementation of applyNumericAffinity() by avoiding some unnecessary calls to sqlite3Atoi64(). (check-in: c1d8a3f6 user: drh tags: trunk)
18:33
Add an assert() as an additional test for fix in check-in [523b42371122d9e1b3]. (check-in: f9e85e6c user: drh tags: trunk)
17:22
Fix the query flattener optimization so that it preserve the "SF_Compound" bit when flattening a compound subquery into a non-compound outer query. Failure to preserve that bit could allow subsequent flattenings which are not valid. Fix for ticket [c41afac34f15781fe09cd]. (check-in: 523b4237 user: drh tags: trunk)
2019-05-28
14:42
Fix an assert() in fts3 that could fail when processing corrupt records. Also some minor sanitizer warnings. (check-in: c736c40a user: dan tags: trunk)
2019-05-27
11:21
Fix an error message on the blobread() extension function so that it says "read" instead of "write". (check-in: 7cbb9a5f user: drh tags: trunk)
11:09
Fix a memory leak in the delta_parse() table-valued function of the fossildelta.c extension. (check-in: c86ca3f0 user: drh tags: trunk)
00:29
Improved rounding even on systems with an 8-byte "long double" type. (check-in: 15202aee user: drh tags: trunk)
2019-05-25
18:17
Performance enhancement in sqlite3AtoF(). About 8% faster. (check-in: 81721aa5 user: drh tags: trunk)
17:41
Use "long double" literals to initialize an array of "long double" objects. (check-in: 2e2ebad3 user: drh tags: trunk)
13:14
Add new cases to speedtest1 for measuring performance of binary to/from decimal conversions of floating point values. (check-in: b84e7057 user: drh tags: trunk)
00:17
Disable the new rounding tests on systems without long double support. (check-in: ed250b4e user: drh tags: trunk)
2019-05-24
22:58
Improvements to rounding behavior in the round() and printf() functions. (check-in: 641b2d21 user: drh tags: trunk)
11:55
Fix an fts5 segfault that could occur after parsing a corrupt structure record. (check-in: 600daa9c user: dan tags: trunk)
2019-05-23
16:40
Add test cases for the fix in the previous commit. (check-in: c1057b2a user: dan tags: trunk)
16:38
Improvements to the view-self-join optimization so that it works on all VIEWs, not just on Common Table Expressions. (check-in: d2fe370c user: drh tags: trunk)
2019-05-22
23:12
New test case for check-in [74ef97bf51dd531a] that takes the fix in the previous check-in into account. (check-in: cb1d0652 user: drh tags: trunk)
22:49
Renumber the Select.selId values in the copies of SELECT statements that implement VIEWs when the VIEW is expanded, so that when the same VIEW is used twice in the same join, each expansion as a distinct selId. This fixes ticket [ce823231949d3abf42453c8]. (check-in: 3cacc4b9 user: drh tags: trunk)
14:35
New dbsqlfuzz find added to test/fuzzdata8.db. (check-in: 42af7c81 user: drh tags: trunk)
14:22
Fix a buffer overread that could in fts3 when dealing with corrupt records. (check-in: 1660d773 user: dan tags: trunk)
2019-05-21
17:04
Combine the implementations of the key and hexkey pragmas into a single case. Have both pragmas return "ok" if they are implemented. (check-in: b3692c40 user: drh tags: trunk)
16:32
Fix a problem in [b5ca442a] causing an assert() to fail in REINDEX commands. (check-in: a3e77c77 user: dan tags: trunk)
14:42
Use a statement journal for all CREATE INDEX statements in case an indexed exprsesion throws an exception when it is evaluated. Fix for [b5ca442a]. (check-in: b8071d10 user: dan tags: trunk)
2019-05-20
19:46
Fix a segfault that could occur in sqlite3session_diff() if NULL were passed as the pzErrMsg argument. (check-in: aee73fd2 user: dan tags: trunk)
18:43
Improvements to the automatic compile-time selection of byte-order, as suggested on the mailing list by Seb Kemper. (check-in: b7aad929 user: drh tags: trunk)
18:35
A minor variation on check-in [1685610ef8e0dc] which (hopefully) makes the logic a little easier to follow. Also disallows the use of the double-quoted string hack in the query expression used for VACUUM INTO, which is not strictly required, but moves us toward the goal of disallowing the double-quoted string hack everywhere. (check-in: 3e1b55f3 user: drh tags: trunk)
17:14
Disallow string constants enclosed in double-quotes within new CREATE TABLE and CREATE INDEX statements. It is still possible to enclose column names in double-quotes, and existing database schemas that use double-quotes for strings can still be loaded. This addresses ticket [9b78184b]. (check-in: 1685610e user: dan tags: trunk)
10:36
Update the sqlite3ExprCompare() routine so that it does not think "? IS NOT TRUE" is the same as "? IS TRUE". Fix for [d3e7f2ba5b3]. (check-in: 99eba69b user: dan tags: trunk)
2019-05-18
21:22
Fix an assert() failure that could occur in a join query if the RHS of an IN() operator is a list containing correlated expressions. This problem was introduced by checkin [e130319317e7611938] which was part of the fix for ticket [787fa716be3a7f650c] - so this commit is part of that ticket's fix too. (check-in: 778b1224 user: dan tags: trunk)
19:49
Avoid including the comment in the output of "PRAGMA table_info" in situations where there is a comment following a DEFAULT value within a CREATE TABLE statement. (check-in: d91095ba user: dan tags: trunk)
2019-05-17
20:37
Disable PRAGMA journal_mode=OFF when SQLITE_DBCONFIG_DEFENSIVE is turned on. Ticket [f4ec250930342e0c]. (check-in: a0f5eb5c user: drh tags: trunk)
15:59
Always store a REAL value in a column with REAL affinity if the integer equivalent would require 8 bytes of storage. Fix for [3c27b97e3]. (check-in: 14c00b10 user: dan tags: trunk)
2019-05-16
20:40
Add test cases to test/fuzzdata7.db for (harmless) dbfuzz2 finds. (check-in: 1eb2a628 user: drh tags: trunk)
20:36
Initialize the 18-byte overrun area on the buffer used to reconstruct overflow btree cells during a btree search, to avoid a harmless jump-depends-on-uninit-values warning. (check-in: 4b05caeb user: drh tags: trunk)
20:13
Fix an assert() in the OP_Delete opcode that could fail with a corrupt database. (check-in: 915388ab user: dan tags: trunk)
16:44
Add new test file fts5corrupt4.test. (check-in: 5dfc4fe9 user: dan tags: trunk)
11:47
Fix a harmless use-of-initialized-value fault in the assert() logic added by check-in [d612fb7873cf59d] (check-in: 3dac9072 user: drh tags: trunk)
03:47
Fix harmless compiler warning in the session extension. (check-in: dff823ca user: mistachkin tags: trunk)
01:22
Make sure the OP_Concat opcode always correctly zero-terminates a UTF16 string, even if the input strings are ill-formed. This is a followup to check-in [3a16ddf91f0c9c516a7] that fixes a case the previous check-in missed. Also add assert()s to prove correct zero termination. (check-in: d612fb78 user: drh tags: trunk)
2019-05-15
18:42
Fix the count-of-view optimization so that it is (correctly) disabled for a query that includes a WHERE clause or a GROUP BY clause. (check-in: 05897ca4 user: drh tags: trunk)
10:16
Simplify the "Verifying Code Authenticity" section of the README.md file. No code changes. (check-in: adebffc1 user: drh tags: trunk)
2019-05-14
20:25
Fix a problem with the fix for [9cf6c9bb51] (commit [658b84d7]) that could cause a cursor to be left in an invalid state following a (rowid < text-value) search. (check-in: bc7d2c16 user: dan tags: trunk)
19:20
New test cases in test/fuzzdata8.db. (check-in: 228e1087 user: drh tags: trunk)
18:33
Fix a problem with corrupt db handling in the fts5_vocab module. (check-in: 456ced57 user: dan tags: trunk)
11:33
Fix an assert() and potential buffer overrun in fts5 that could occur if the database was corrupt. (check-in: 8be8bd0d user: dan tags: trunk)
00:43
Disable index seek optimizations on REINDEX when the order of primary keys in the index differs from the main table. Fix for ticket [bba7b69f9849b5bf11b4]. (check-in: f7aadfab user: drh tags: trunk)
2019-05-13
11:52
Fix an assert() failure in fts5 that could occur when processing a corrupt database. (check-in: f158c048 user: dan tags: trunk)
2019-05-11
19:36
A new implementation for the sqlite3ExprImpliesExpr() theorem prover that does a better job of answering TRUE to "(NOT A) OR B" when B is a NOT NULL expression. (check-in: b3413197 user: drh tags: trunk)
16:14
When considering partial indexes, do not assume that a "CASE x ..." expression implies "x IS NOT NULL". (check-in: 1b243032 user: dan tags: trunk)
13:04
Do not assume that "x IS NOT ?" implies "x NOT NULL" when considering partial indexes. Fix for ticket [8025674847]. (check-in: 0ba6d709 user: dan tags: trunk)
2019-05-10
20:44
Add tests for the RBU module. (check-in: a194e536 user: dan tags: trunk)
17:54
Fix harmless compiler warnings. (check-in: 956ca2a4 user: drh tags: trunk)
17:50
Fix harmless compiler warnings in the CLI. (check-in: 2846bc04 user: drh tags: trunk)
16:16
Fix some harmless compiler warnings. (Closed-Leaf check-in: ca068d82 user: mistachkin tags: warnings)
14:34
Ensure that the BtShared.nPage value is reset correctly on a SAVEPOINT ROLLBACK. (check-in: e6d5fee8 user: drh tags: trunk)
14:26
Treat integer values in window definition ORDER BY clauses as constants, not as references to another expression. (check-in: 7e4809ea user: dan tags: trunk)
14:03
Improved comments and extra assert() statements on the OP_Savepoint opcode, just to make the code a little easier to read and reason about. (check-in: e80b2d9f user: drh tags: trunk)
12:14
Fix the previous check-in [db9acef14d492121] so that the amalgamation build works for systems for which lack HAVE_ISNAN. (check-in: 3cc55e09 user: drh tags: trunk)
12:06
Fix the round() SQL function so that it handles infinities correctly. (check-in: db9acef1 user: drh tags: trunk)
2019-05-09
18:37
Fix another small buffer overread in sqlite_dbdata triggered by a corrupt database page. (check-in: 1dfc95b8 user: dan tags: trunk)
18:33
Fix a problem in the ".recover" command allowing a circular loop of b-tree pages in a database file to cause an infinite loop. (check-in: 8d2a062e user: dan tags: trunk)
18:13
Make the ".schema" command in the CLI resistant to corrupt database files. (check-in: f22c7e22 user: drh tags: trunk)
17:54
Fix a crash in the sqlite_dbdata module that could occur if a pointer within an overflow chain in a corrupt database pointed past the end of the db. (check-in: 3eae4e30 user: dan tags: trunk)
17:10
Disable the optimization where a REAL value with no fractional part is stored as an INTEGER when the integer uses as much space as the real value it proposes to stand in for (8 bytes). This avoids corner cases of comparing integers against real values that are beyond the resolution of an IEEE 754 double. Fix for ticket [6c1d3febc00b22d457c78c2] (check-in: 9b091527 user: drh tags: trunk)
16:57
Avoid long delays that can occur when ".recover"ing data from a database with a corrupt freelist. (check-in: 20f06bf2 user: dan tags: trunk)
16:22
Improved debugging output from the OP_MakeRecord opcode. (check-in: ac790729 user: drh tags: trunk)
15:51
Fix another corruption related buffer overread in the sqlite_dbdata module. (check-in: 5cd728fb user: dan tags: trunk)
15:07
Fix further buffer overreads triggered by passing corrupt records to the sqlite_dbdata module. (check-in: dbc6a9f7 user: dan tags: trunk)
14:15
Have ".recover" handle cases where the sqlite_master table contains malformed SQL statements. (check-in: e736da9c user: dan tags: trunk)
11:45
Fix a problem with running the ".recover" command on a database that is zero pages in size. (check-in: 47fa6534 user: dan tags: trunk)
11:34
Avoid reading outside a record buffer when extracting an SQL value in the sqlite_dbdata virtual table code. (check-in: d99bb0c1 user: dan tags: trunk)
11:21
Merge accidental fork in trunk. (check-in: ec937303 user: dan tags: trunk)
11:19
Fix a problem in the new code introduced by [658b84d7] causing corruption and other errors to be ignored. (check-in: 7ccf2e7d user: dan tags: trunk)
11:18
Improved error handling for the ".open --hexdb" command of the CLI. (check-in: 4fa831d5 user: drh tags: trunk)
2019-05-08
23:55
Ensure that the sqlite3BtreeLast() interface initializes the *pRes return to zero if the cursor is already sitting on the last entry of the table. Manuel Rigger found the obscure test case for which this makes a difference. (check-in: ebe4845c user: drh tags: trunk)
23:53
This is part of the previous check-in that didn't get committed for some reason - probably because I failed to press the "Save" button on the text editor. (check-in: 51d32173 user: drh tags: trunk)
21:14
Add another test case to cover a previously uncovered branch in the RBU module. (check-in: 30392985 user: dan tags: trunk)
19:55
Fix another pattern for which the LIKE optimization does not work for a non-TEXT affinity. Case found by Manuel Rigger. (check-in: 74020110 user: drh tags: trunk)
19:32
Simplification to the logic underlying PRAGMA case_sensitive_like. (check-in: ef0015fd user: drh tags: trunk)
19:06
Avoid an excess register allocation in UPDATE, when possible. This improves speed (slightly) and reduces the code footprint. (check-in: 8658574e user: drh tags: trunk)
18:49
Add tests to improve code coverage of the RBU module. (check-in: ecb56b75 user: dan tags: trunk)
17:27
Provide the SQLITE_OMIT_CASE_SENSITIVE_LIKE_PRAGMA compile-time option to omit the case_sensitive_like pragma. This change, in combination with documentation changes, is the current solution to ticket [a340eef47b0cad5]. (check-in: eabe7f2d user: drh tags: trunk)
11:52
Fix VDBE opcodes OP_SeekLT and OP_SeekLE so that they work on intkey tables with non-numeric text values. Fix for [9cf6c9bb]. (check-in: 658b84d7 user: dan tags: trunk)
11:42
Fix VDBE opcodes OP_SeekLT and OP_SeekLE so that they work on intkey tables with non-numeric text values. (Closed-Leaf check-in: a870c196 user: dan tags: tkt-9cf6c9bb)
04:33
Remove an ALWAYS() that was previously added by check-in [a0819086] but which turns out can sometimes be false. (check-in: ad8fc5d8 user: drh tags: trunk)