SQLite

Timeline
Login

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

106 events for the month beginning 2019-05-01 by user drh

Following month ↑
2019-05-30
13:47
Optimization to the round() SQL function for large input values without a fractional part. (check-in: e95138f5f4 user: drh tags: trunk)
00:46
Smaller and faster sqlite3IsNaN() implementation makes deserialization of floating point values much faster. (check-in: ea748edecb user: drh tags: trunk)
2019-05-29
21:18
Much faster implementation of applyNumericAffinity() by avoiding some unnecessary calls to sqlite3Atoi64(). (check-in: c1d8a3f654 user: drh tags: trunk)
18:33
Add an assert() as an additional test for fix in check-in [523b42371122d9e1b3]. (check-in: f9e85e6c79 user: drh tags: trunk)
17:22 Fixed ticket [c41afac34f]: LIMIT applied globally rather than locally plus 5 other changes (artifact: d33af184ff user: drh)
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: 523b423711 user: drh tags: trunk)
16:04 New ticket [c41afac34f] LIMIT applied globally rather than locally. (artifact: 67d7ba1715 user: drh)
2019-05-27
11:21
Fix an error message on the blobread() extension function so that it says "read" instead of "write". (check-in: 7cbb9a5fe8 user: drh tags: trunk)
11:09
Fix a memory leak in the delta_parse() table-valued function of the fossildelta.c extension. (check-in: c86ca3f022 user: drh tags: trunk)
00:29
Improved rounding even on systems with an 8-byte "long double" type. (check-in: 15202aee15 user: drh tags: trunk)
2019-05-25
18:17
Performance enhancement in sqlite3AtoF(). About 8% faster. (check-in: 81721aa545 user: drh tags: trunk)
17:41
Use "long double" literals to initialize an array of "long double" objects. (check-in: 2e2ebad3ab 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: b84e7057c0 user: drh tags: trunk)
00:17
Disable the new rounding tests on systems without long double support. (check-in: ed250b4e18 user: drh tags: trunk)
2019-05-24
22:58
Improvements to rounding behavior in the round() and printf() functions. (check-in: 641b2d2105 user: drh tags: trunk)
13:15
The ".shared-schema" command in the CLI requires the sqlite_dbpage table, so disable it if the build does not include that extension. (check-in: 0913ff4dc3 user: drh tags: reuse-schema)
13:04
Merge recent enhancements from trunk. (check-in: ff9f3e0951 user: drh tags: reuse-schema)
2019-05-23
16:38
Improvements to the view-self-join optimization so that it works on all VIEWs, not just on Common Table Expressions. (check-in: d2fe370caf 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: cb1d06521d user: drh tags: trunk)
22:49 Fixed ticket [ce82323194]: Duplicate CTE name gives incorrect result plus 5 other changes (artifact: 65d134bbb7 user: drh)
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: 3cacc4b940 user: drh tags: trunk)
22:44 New ticket [ce82323194] Duplicate CTE name gives incorrect result. (artifact: fe37540714 user: drh)
14:35
New dbsqlfuzz find added to test/fuzzdata8.db. (check-in: 42af7c819b user: drh 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: b3692c406f user: drh tags: trunk)
2019-05-20
18:43
Improvements to the automatic compile-time selection of byte-order, as suggested on the mailing list by Seb Kemper. (check-in: b7aad92961 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: 3e1b55f3ab user: drh tags: trunk)
12:35 Fixed ticket [d3e7f2ba5b]: Nested boolean formula with IN operator computes an incorrect result plus 5 other changes (artifact: eaeb86ad08 user: drh)
2019-05-17
20:40 Closed ticket [f4ec250930]: Malformed image when using no journal mode, zero cache size, and failing when creating an index. plus 6 other changes (artifact: 90d3b35d87 user: drh)
20:37
Disable PRAGMA journal_mode=OFF when SQLITE_DBCONFIG_DEFENSIVE is turned on. Ticket [f4ec250930342e0c]. (check-in: a0f5eb5c79 user: drh tags: trunk)
20:07 Fixed ticket [3c27b97e31]: REAL rounding seems to depend on FROM clause plus 3 other changes (artifact: 8b824eda8e user: drh)
2019-05-16
20:40
Add test cases to test/fuzzdata7.db for (harmless) dbfuzz2 finds. (check-in: 1eb2a628e4 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: 4b05caeb1b user: drh tags: trunk)
19:09 Ticket [3c27b97e31] REAL rounding seems to depend on FROM clause status still Open with 3 other changes (artifact: f8ef4408b1 user: drh)
11:47
Fix a harmless use-of-initialized-value fault in the assert() logic added by check-in [d612fb7873cf59d] (check-in: 3dac90728a user: drh 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: d612fb7873 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: 05897ca48a user: drh tags: trunk)
10:16
Simplify the "Verifying Code Authenticity" section of the README.md file. No code changes. (check-in: adebffc18e user: drh tags: trunk)
2019-05-14
22:25
Merge all the latest trunk enhancements into the reuse-schema branch. (check-in: 018f3199b9 user: drh tags: reuse-schema)
22:07
Merge the latest trunk and wal2 enhancements. (check-in: 3deaa6e23b user: drh tags: begin-concurrent-pnu-wal2)
22:02
Merge the latest trunk enhancements into the wal2 branch. (check-in: 23ec34e4f6 user: drh tags: wal2)
21:51
Merge the latest trunk enhancements into begin-concurrent-pnu. (check-in: e70878b363 user: drh tags: begin-concurrent-pnu)
21:51
Merge the latest trunk enhancements into begin-concurrent. (check-in: 5d3a6e18d4 user: drh tags: begin-concurrent)
19:39
Merge recent enhancements from trunk into apple-osx. (check-in: 40362d5181 user: drh tags: apple-osx)
19:20
New test cases in test/fuzzdata8.db. (check-in: 228e1087c0 user: drh tags: trunk)
00:43 Fixed ticket [bba7b69f98]: REINDEX on WITHOUT ROWID table with DESC PRIMARY KEY corrupts automatic UNIQUE index plus 3 other changes (artifact: a585576722 user: drh)
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: f7aadfab3b user: drh tags: trunk)
00:22 Ticket [bba7b69f98] REINDEX on WITHOUT ROWID table with DESC PRIMARY KEY corrupts automatic UNIQUE index status still Open with 7 other changes (artifact: 20ef9db5e6 user: drh)
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: b3413197f5 user: drh tags: trunk)
2019-05-10
17:54
Fix harmless compiler warnings. (check-in: 956ca2a452 user: drh tags: trunk)
17:50
Fix harmless compiler warnings in the CLI. (check-in: 2846bc0429 user: drh tags: trunk)
14:34
Ensure that the BtShared.nPage value is reset correctly on a SAVEPOINT ROLLBACK. (check-in: e6d5fee8cd user: drh 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: e80b2d9fcb 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: 3cc55e09e6 user: drh tags: trunk)
12:06
Fix the round() SQL function so that it handles infinities correctly. (check-in: db9acef14d user: drh tags: trunk)
2019-05-09
18:13
Make the ".schema" command in the CLI resistant to corrupt database files. (check-in: f22c7e229e user: drh tags: trunk)
17:10 Fixed ticket [6c1d3febc0]: REAL PRIMARY KEY leads to a missing entry in the index. plus 5 other changes (artifact: 605b36497f user: drh)
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: 9b0915272f user: drh tags: trunk)
16:22
Improved debugging output from the OP_MakeRecord opcode. (check-in: ac790729d9 user: drh tags: trunk)
15:07 New ticket [6c1d3febc0] REAL PRIMARY KEY leads to a missing entry in the index.. (artifact: 2609d9f9d1 user: drh)
11:18
Improved error handling for the ".open --hexdb" command of the CLI. (check-in: 4fa831d5cd user: drh tags: trunk)
2019-05-08
23:56 Edit [ebe4845cd0ffb96b|ebe4845cd0]: Edit check-in comment. (artifact: 0cd4ae8dea user: drh)
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: ebe4845cd0 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: 51d32173ff user: drh 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: 740201107a user: drh tags: trunk)
19:32
Simplification to the logic underlying PRAGMA case_sensitive_like. (check-in: ef0015fde4 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: 8658574e3f user: drh tags: trunk)
17:29 Closed ticket [a340eef47b]: PRAGMA case_sensitive_like can corrupt some databases. plus 2 other changes (artifact: c318aa8541 user: drh) ... 1 similar event omitted.
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: eabe7f2d4f user: drh tags: trunk)
14:03 Ticket [9cf6c9bb51] "<" or "<=" comparison of rowid and non-numeric text value sometimes gets the wrong answer. status still Closed with 4 other changes (artifact: bbfde8a2e2 user: drh)
04:34 Edit [74eba2558a81f9e7|74eba2558a]: Edit check-in comment. (artifact: bc11414dcc user: drh)
04:33
Remove an ALWAYS() that was previously added by check-in [a0819086] but which turns out can sometimes be false. (check-in: ad8fc5d8b4 user: drh tags: trunk)
03:34
Remove a NEVER() that was added in the previous check-in [a0819086a521f] because it is in fact reachable. (check-in: 74eba2558a user: drh tags: trunk)
00:17
Earlier detections of errors in the byte-offset-to-cell-content integer at offset 5 in the header of a btree page. (check-in: a0819086a5 user: drh tags: trunk)
2019-05-07
20:06 Fixed ticket [e63cbcfd33]: Database table/index contents mismatch (corruption) caused by FK processing plus 3 other changes (artifact: c199eb6b37 user: drh)
20:06
Generate all records for INSERT or UPDATE prior to running foreign key constraint checks, since the FK checks might modify the datatype of registers used to generate the records. Fix for ticket [e63cbcfd3378afe6980d6]. (check-in: 3c75605b46 user: drh tags: trunk)
19:13
On an INSERT or UPDATE, generate the new table record prior to running foreign key checks, in case the foreign key checks changes datatypes on the registers holding column values. Proposed fix for ticket [e63cbcfd3378afe6980d626]. (check-in: 3f1c805164 user: drh tags: tkt-e63cbcfd)
17:47
Strive to prevent harmless compiler warnings in GCC 4.8.5. (check-in: 8b6691f619 user: drh tags: trunk)
02:57
Add the exprNodeCopy() routine that will safely memcpy() an Expr node that might be a size-reduced node. (Leaf check-in: ab2ba8e732 user: drh tags: expr-node-copy-patch)
2019-05-04
17:34 Fixed ticket [5c6955204c]: Incorrect result on a table scan of a partial index plus 4 other changes (artifact: 0e40db4024 user: drh)
17:32
Fix the NOT NULL logic in the theorem prover that determines when a partial index can be used. Ticket [5c6955204c392ae763a95]. (check-in: c2e439bccc user: drh tags: trunk)
17:00 Ticket [5c6955204c] Incorrect result on a table scan of a partial index status still Open with 6 other changes (artifact: 597550cf37 user: drh) ... 1 similar event omitted.
01:41
In the sqlite3_value or Mem object, make the MEM_IntReal type completely independent from MEM_Int and MEM_Real. This helps avoid problems when inserting non-float values into a "REAL" column. (check-in: 5a8a23ee5f user: drh tags: trunk)
01:29
New testcase macros to ensure that MEM_IntReal is fully tested. (Closed-Leaf check-in: 8b8ef445cc user: drh tags: int-real)
2019-05-03
21:17
Add the SQLITE_TESTCTRL_RESULT_INTREAL test-control and use it to create the intreal() SQL function in testfixture. Write a few simple tests to prove this all works. TH3 will hold most of the INTREAL tests, probably. (check-in: c983873132 user: drh tags: int-real)
19:34
Ensure that UTF16 strings are properly zero-terminated before returning them in an sqlite3_value_text16() request, even if the string is invalid UTF16 because it was formed from an arbitrary and/or odd-length BLOB. (check-in: 3a16ddf91f user: drh tags: trunk)
17:08
Improved comments on the elements of the array constant used to implement the sqlite3_value_type() interface. (check-in: f73a7de7a5 user: drh tags: int-real)
02:41
Fix the ".open --hexdb" command in the CLI so that it works even with terminal input. (check-in: 9b5d943426 user: drh tags: trunk)
2019-05-02
21:36
Make MEM_IntReal a completely independent type, meaning a floating point value stored as an integer. This fixes a problem with arithmetic within arguments to string functions on indexes of expressions. But it is a big change and needs lots of new testcase() macros for MC/DC and so it is initially put on this branch. (check-in: dba836e31c user: drh tags: int-real)
17:45
Ensure that the typeof() function always returns SQLITE_FLOAT for floating point values even when the value is stored as an integer to save space. (check-in: 48889530a9 user: drh tags: trunk)
15:56
Earlier detection of a database corruption case in balance_nonroot(), to prevent a possible use of an uninitialized variable. (check-in: c509d8a8ae user: drh tags: trunk)
14:15
Merge enhancements from trunk (check-in: 3a4751a9f2 user: drh tags: hard-heap-limit)
12:17 Edit [b043a54c3de54b28|b043a54c3d]: Edit check-in comment. (artifact: f310e80bd5 user: drh)
12:12 Edit [b043a54c3de54b28|b043a54c3d]: Edit check-in comment. (artifact: 0c8c80eeac user: drh)
01:41
The "LIKE Optimization" (which converts a LIKE into a BETWEEN operator that is able to use an index) does not work and cannot be used if the collating sequence of the column is not TEXT and if the pattern starts with a "+" sign. This is another case of ticket [c94369cae9b561b1f996d005]. The new test case was discovered by Manuel Rigger. (check-in: b043a54c3d user: drh tags: trunk)
00:52
Fix an issue (discovered by OSSFuzz) in the enhanced OP_Concat operator from check-in [713caa382cf7dd] earlier today. (check-in: 3e897702f8 user: drh tags: trunk)
2019-05-01
19:01 Fixed ticket [ae0f637bdd]: REINDEX fails on a UNIQUE index on the GLOB operator of a REAL column plus 5 other changes (artifact: 7cb9c4986d user: drh)
19:01
Add a test case for ticket [ae0f637bddc5290b44669e066a]. (check-in: ece481695f user: drh tags: trunk)
18:59
When values have real affinity and are converted into strings for CHECK constraints or index expressions, do the conversions into a real-number format even if the values are stored as integers for efficiency. This appears to fix ticket [ae0f637bddc5290b446]. (check-in: 5997d07566 user: drh tags: trunk)
15:32 Fixed ticket [3be1295b26]: Inconsistent behavior of a unique constraint on a boolean expression. plus 5 other changes (artifact: 1100ca344f user: drh)
15:32
Avoid unwelcomed side effects on the input operands in the OP_Concat operator. Fix for ticket [3be1295b264be2fac49b681] (check-in: 713caa382c user: drh tags: trunk)
14:41
In "PRAGMA vdbe_trace" output, show the results of OP_Affinity opcodes. (check-in: 56604bb60a user: drh tags: trunk)
14:28 New ticket [3be1295b26] Inconsistent behavior of a unique constraint on a boolean expression.. (artifact: f434cc9980 user: drh)
13:59 New ticket [ae0f637bdd] REINDEX fails on a UNIQUE index on the GLOB operator of a REAL column. (artifact: 823e1833ec user: drh)
13:09 New ticket [a340eef47b] PRAGMA case_sensitive_like can corrupt some databases.. (artifact: 42a326805f user: drh)
Previous month ↓