SQLite

Timeline
Login

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

50 descendants and 50 ancestors of 75d665a494dd7d6e

2019-09-02
14:46
Fix a potential crash in fts5 caused by using an auxiliary function on a "special" query like '*id' or '*reads'. (check-in: 9490683ae8 user: dan tags: trunk)
02:21
When applying the IN_INDEX_NOOP optimization and the LHS has REAL affinity, also apply REAL affinity to each element of the RHS. Ticket [2841e99d104c6436]. (check-in: 88833a9c28 user: drh tags: trunk)
01:25
Fix an obsolete comment that defines the meaning of one of the parameters to the sqlite3FindInIndex() subroutine. No changes to code. (check-in: 0c946f0846 user: drh tags: trunk)
00:58
When computing an expression value for an index-on-expression or a CHECK constraint and the expressions uses a REAL table column, but the value of that column is an integer (in other words, when it is using the store-real-as-integer optimization) be sure to promote the value to real before evaluating the expression. Ticket [57af00b6642ecd68]. (check-in: 0658c16e31 user: drh tags: trunk)
2019-09-01
23:36
Remove an obsolete paragraph from the OP_Column documentation. No code changes. (check-in: f6d8956cf8 user: drh tags: trunk)
2019-08-31
20:29
Fix a harmless compiler warning. (check-in: 63c67a54b4 user: drh tags: trunk)
20:26
Mark new VDBE branches never taken. (check-in: 83c2adffbf user: drh tags: trunk)
20:13
Improvements to the algorithm that determines which SELECT in a sequence of nested SELECT statements that an aggregate function belongs to. This resolves an issue identified by dbsqlfuzz. (check-in: d768007473 user: drh tags: trunk)
17:14
If a DELETE trigger fired by an UPDATE OR REPLACE statement deletes the row being updated, do not attempt to proceed with the original UPDATE operation. Fix for [d6a0fbc1]. (check-in: 4145b3e050 user: dan tags: trunk)
01:33
Remove some affinity tests that became unreachable due to the prior change. (check-in: e2db1123fa user: drh tags: trunk)
2019-08-30
23:56
When the affinity of a table column is INT or REAL, make the affinity of corresponding index columns NUMERIC. This increases the precision of index lookups for large numbers so that it matches the precision of ordinary comparison operators. Ticket [40812aea1fde9594] (check-in: e0d909c740 user: drh tags: trunk)
23:15
Make sure OP_RealAffinity has been applied to all columns of type REAL in the excluded.* pseudo-table of an UPSERT. Ticket [5a3dba8104421320] (check-in: 67381daded user: drh tags: trunk)
21:52
Improvements to VDBE tracing. No changes to code in normal deliverables. (check-in: 54553bf16f user: drh tags: trunk)
19:45
Add test case to window8.test. Also fix an error in a comment in window.c. (check-in: 2925bfa597 user: dan tags: trunk)
18:02
Back out the change at [47cd634c98b502d4] which was incorrect. Add a test case so that we don't accidently back out that change again. (check-in: 596ac2a4ea user: drh tags: trunk)
17:28
Add further comments to window.c. (check-in: 900464567b user: dan tags: trunk)
16:46
New test cases for window functions with RANGE BETWEEN and DESC NULLS FIRST. (check-in: f7002f86c7 user: drh tags: trunk)
16:14
Fix a bug in RANGE window functions that use "ORDER BY <expr> DESC NULLS FIRST" as the window-frame ORDER BY clause. (check-in: 39b4cad4a5 user: dan tags: trunk)
16:00
The expression "(X IS FALSE) IN (FALSE)" does not imply that X is NOT NULL. Ticket [f8f472cbc77ba9c9] (check-in: dd66134817 user: drh tags: trunk)
15:11
The expression "(X IS FALSE) BETWEEN FALSE AND TRUE" does not implie that X is not NULL. Ticket [fba33c8b1df6a915] (check-in: 057fb8b180 user: drh tags: trunk)
13:07
The expression "(x IS FALSE) IS FALSE" does not imply that X is not NULL. Ticket [a6408d42b9f44462] (check-in: 45ff2b1f26 user: drh tags: trunk)
2019-08-29
23:24
Remove a faulty testcase() macro. (check-in: 80124ae552 user: drh tags: trunk)
21:16
Improve vdbe branch coverage of NULLS LAST code. (check-in: e8e9f77d52 user: dan tags: trunk)
19:34
Fix other problems similar to ticket [c0390363]. (check-in: 96ff2ba9c4 user: dan tags: trunk)
16:48
Add a missing VdbeCoverage() macro. (check-in: 33da6092d3 user: drh tags: trunk)
16:17
Remove an unreachable branch in the NULLS LAST logic of RANGE window functions. (check-in: 47cd634c98 user: drh tags: trunk)
15:50
Fix another case where SQLite assumes that if "~(? AND FALSE)" is true, "?" must be non-null. (check-in: 616f5663b3 user: dan tags: trunk)
15:06
Avoid assuming that for "~ (? AND FALSE)" to be true, "?" must not be NULL, just as we do for "NOT (? AND FALSE)". Fix for ticket [c0390363]. (check-in: 84ae41fd2f user: dan tags: trunk)
14:25
Fix a potential buffer overrun in fts5 caused by corrupted database records. (check-in: c465d0eb47 user: dan tags: trunk)
00:27
Improve Lemon so that it enlarges some of its tables slightly in order to avoid having to index range checks on table lookups for a performance increase. (check-in: 4be6a23a18 user: drh tags: trunk)
2019-08-28
11:49
Fix an unreachable branch in sqlite3ParserFallback() (Closed-Leaf check-in: e059178b47 user: drh tags: lemon-optimization)
11:31
Further improvements to parser speed by enlarging lookup tables to eliminate the need to do range checking on the index prior to lookup. (check-in: 47d3e091ae user: drh tags: lemon-optimization)
02:09
Increase the size of the yy_lookahead table so that it is never necessary to down bounds checking on the index. (check-in: bafd872398 user: drh tags: lemon-optimization)
2019-08-27
19:59
Add support for "ORDER BY ... NULLS FIRST" and "ORDER BY ... NULLS LAST". Use this to fix ticket [f8a7060e]. (check-in: 94085fb3e7 user: dan tags: trunk)
2019-08-26
20:41
Merge in recent fixes from trunk. (Closed-Leaf check-in: ad816d01d4 user: drh tags: nulls-last)
2019-08-23
21:11
Attempt to parse the NULLS LAST clause more efficiently. A few cycles were saved, but at the expense of more code. And there is a bug was introduced somewhere. Not worth continuing down this line. (Closed-Leaf check-in: 12d2cf8871 user: drh tags: dead-end)
20:33
Move some things in parse.y so that TK_COLUMN and TK_AGG_COLUMN are assigned the same values as they are on trunk for a very small speedup. (check-in: d26fdfa3bc user: dan tags: nulls-last)
17:09
Revise the VDBE comments for NULL-scan so that they also work make sense when reading a NULLS FIRST plan. (check-in: bfe793780f user: drh tags: nulls-last)
17:00
Additional simplifications of the WHERE loop code generator logic for NULLS LAST. (check-in: 1383680d92 user: drh tags: nulls-last)
16:12
Simplification of the WHERE loop code generator for NULLS LAST saves a few CPU cycles and about a hundred bytes of code space. (check-in: e3ed2f496f user: drh tags: nulls-last)
13:32
Invert the meaning of the regBignull flag so that it is 1 when doing the normal scan and 1 when scanning nulls. This enables the re-do jump at the bottom of the loop to be coded with a single OP_IfNotZero opcode, rather than a sequence of OP_If, OP_Integer, OP_Goto. (check-in: bf875e1a25 user: drh tags: nulls-last)
13:08
Extra VDBE comments in the NULLS LAST logic provide landmarks to help understand the EXPLAIN output. (check-in: 649b08ead5 user: drh tags: nulls-last)
2019-08-22
21:13
Add additional VDBE coverage macros. (check-in: d3531f5be7 user: drh tags: nulls-last)
19:35
Merge fixes from trunk. Also fix a reference to the KeyInfo.aSortOrder field, which should now be KeyInfo.aSortFlags (check-in: 63e625c8eb user: drh tags: nulls-last)
2019-08-21
19:58
Add missing VdbeCoverage() macros to new code. (check-in: b1cbcdc6eb user: dan tags: nulls-last)
17:46
Disable broken test case in expert1.test. (check-in: 73e30c2e92 user: dan tags: nulls-last)
15:41
Update this branch with latest trunk changes. (check-in: 6153bcf41a user: dan tags: nulls-last)
2019-08-20
20:09
Further tests for the special null-handling on this branch. (check-in: 0dbbb51f4d user: dan tags: nulls-last)
17:51
Add tests for sort-by-index cases that use IN() and non-default NULL handling. (check-in: 09d660ecde user: dan tags: nulls-last)
15:47
Do not pass ORDER BY clauses with non-standard NULL handling to virtual table implementations. (check-in: a9a82ee88d user: dan tags: nulls-last)
2019-08-19
19:59
Fix problems with window frames that use ORDER BY ... NULLS LAST etc. (check-in: 75d665a494 user: dan tags: nulls-last)
17:26
Prevent NULLS FIRST/LAST from being used in CREATE INDEX and other statements. (check-in: bb9767a287 user: dan tags: nulls-last)
2019-08-17
18:16
Add tests to ensure that this branch really does fix ticket [f8a7060ece]. (check-in: f892066425 user: dan tags: nulls-last)
17:55
Fix problem with DESC indexes on this branch. (check-in: b49df1fe9b user: dan tags: nulls-last)
15:47
Merge trunk changes into this branch. (check-in: db1e60800b user: dan tags: nulls-last)
00:53
The SQLITE_DIRECTONLY flag, when added to sqlite3_create_function() prevents the function from being used inside a trigger or view. (check-in: de76737698 user: drh tags: trunk)
2019-08-16
22:58
Add the ability to unregister a virtual table module by invoking sqlite3_create_module() with a NULL sqlite3_module pointer. (check-in: 31e34fa339 user: drh tags: trunk)
21:07
Add support for using indexes for some ORDER BY clauses that use non-default NULL handling. Still some problems on this branch. (check-in: 81069d7196 user: dan tags: nulls-last)
2019-08-15
23:11
Fix harmless compiler warnings in the TCL interface. (check-in: f17e72291f user: drh tags: trunk)
21:27
Add the SQLITE_DBCONFIG_ENABLE_VIEW option, together with a "db config" command in the TCL interface that can access that option as well as all the other sqlite3_db_config() boolean options. (check-in: 61b4bccd29 user: drh tags: trunk)
20:04
Provide the SQLITE_DIRECTONLY flag for app-defined functions that prohibits the use of those functions within triggers or views. (Closed-Leaf check-in: fc745845d8 user: drh tags: directonly)
14:35
Ensure that the optional "sz=N" parameter that can be manually added to the end of an sqlite_stat1 entry does not have an N value that is too small. Ticket [e4598ecbdd18bd82] (check-in: 98357d8c12 user: drh tags: trunk)
13:53
Ensure that SQLite does not attempt to process incompatible window functions in a single scan. Fix for [256741a1]. (check-in: 4f5b2d9381 user: dan tags: trunk)
13:46
Avoid downgrading SQLITE_CORRUPT errors detected by the schema parser into SQLITE_NOMEM or SQLITE_ERROR errors. (check-in: b2e79f8ff0 user: drh tags: trunk)
13:17
Ensure that the cell overwrite optimization does not overwrite the header of the b-tree page. (check-in: 4cc5694cbd user: drh tags: trunk)
00:04
Early detection out-of-bounds page numbers on the direct-overflow-read optimization gives consistent error messages regardless of whether or not the optimization is enabled. (check-in: b517a52fa3 user: drh tags: trunk)
2019-08-14
15:17
Always check for reads past the end of the file on the in-memory journal driver. This used to be an assert(). (check-in: 4d41ca7d6e user: drh tags: trunk)
2019-08-13
20:34
Add some static to the 'regexp' extension. (check-in: a21d1dde73 user: mistachkin tags: trunk)
17:56
Update test cases so that they work with ICU enabled. (check-in: 408144a183 user: dan tags: trunk)
17:27
Update some corruption test cases to take [724f4df9c] into account. (check-in: 927cd7b4c5 user: dan tags: trunk)
15:11
Fix a problem with RBU function sqlite3rbu_bp_progress() when used during an RBU vacuum. (check-in: 8c44b02f14 user: dan tags: trunk)
2019-08-12
18:26
Make sure the btree cursor overflow cache is cleared when overwriting a cell in sqlite3BtreeInsert(). Ticket [3cf9bb227e9a5d32] (check-in: 7dae7b969e user: drh tags: trunk)
16:36
Experimental implementation of NULLS FIRST/LAST. This branch still has problems - the most significant of which is that ORDER BY clauses with a non-default NULLS FIRST/LAST qualifier can never use an index. (check-in: 07babb0f89 user: dan tags: nulls-last)
16:25
For the ".testctrl prng_seed" command in the CLI, if the argument is "random" then select a random integer seed and print the seed value on stdout. (check-in: 636ca4472c user: drh tags: trunk)
14:17
Add a TESTCTRL that disables the verification of type, name, and tbl_name in the sqlite_master table. (check-in: 48d9b48ab4 user: drh tags: trunk)
00:08
Validate the type, name, and tbl_name fields of the sqlite_master table when loading the schema, unless writable_schema is engaged. (check-in: 724f4df9cc user: drh tags: trunk)
2019-08-10
15:06
Fix the sqliteExprImpliesExpr() routine so that it recognizes that "(NULL IS FALSE) IS FALSE" doe not imply "NULL NOT NULL". Ticket [9080b6227fabb466] (check-in: da01ba4fa4 user: drh tags: trunk)
14:35
Add extra test cases related to the previous commit. (check-in: 3c690b2b05 user: dan tags: trunk)
14:16
Remove two incorrect assert() statements from the logic used to derive column names and types from subqueries. (check-in: 712e477148 user: drh tags: trunk)
2019-08-09
20:26
Allow the RHS of a row-value IN operator to use a compound query with an ORDER BY clause. (check-in: eaf15d9bae user: drh tags: trunk)
01:59
Modify signature of sqlite3VdbeChangeOpcode() to accept int instead of u32. (check-in: 68b7f2acf4 user: mistachkin tags: trunk)
01:11
Fix more compiler warnings. (check-in: 1b85442b61 user: drh tags: trunk)
2019-08-08
19:40
Fix harmless compiler warnings. (check-in: 1eef4ddea9 user: drh tags: trunk)
19:19
Remove support for SQLITE_ENABLE_STAT3. The sqlite_stat3 table is now ignored, if it exists. Run ANALYZE using STAT4 to get the equivalent functionality, which presumably everybody has been doing for a long time now. (check-in: f1cd234c98 user: drh tags: trunk)
18:49
Fix a case of the Expr.affinity to Expr.affExpr refactor that was missed in the [a29f2a7d07beff64] check-in. (check-in: 83450d1070 user: drh tags: trunk)
16:23
More legacy STAT3 code removed. (Closed-Leaf check-in: 845d2f17de user: drh tags: omit-stat3)
15:24
Remove support for STAT3. The sqlite_stat3 tables are ignored, if they exist. STAT4 continues to work as it always has, and as it is a superset of STAT3 is the recommended replacement. (check-in: 1e17ea2fd1 user: drh tags: omit-stat3)
01:39
Remove a NEVER() that is reachable from a corrupt database. (check-in: 30e6ee27a9 user: drh tags: trunk)
2019-08-07
19:57
Remove use of the affinity() function from view.test, as it is only available in SQLITE_DEBUG builds. (check-in: 7f2246a17b user: dan tags: trunk)
18:34
Add "set TMP=%CD%" to the start of each msvc script output by releasetest_data.tcl. Otherwise, since binaries compiled with SQLITE_TEST all choose the same sequence of pseudo-random numbers, collisions between temp file names cause errors when running multiple tests in parallel. (check-in: f5d0436d8d user: dan tags: trunk)
17:45
Eliminate some more cases of redundant sorting in window-function queries. (check-in: 8158d2aca6 user: dan tags: trunk)
13:25
Do not make SQLITE_READ authorizer calls for tables without names, as all such tables will be internal-use-only tables for subqueries and whatnot. (check-in: 193c87fc96 user: drh tags: trunk)
2019-08-06
21:16
Ensure that when the col in an operator like "val IN(col)" is a column of a view, its affinity is not used to coerce val. Fix for [0a5e2c1d]. (check-in: 17b3d2218c user: dan tags: trunk)
20:55
Improved reuse of file descriptors for which close() is delayed to prevent clearing of posix advisory locks. (check-in: 509c1ba26a user: drh tags: trunk)
20:26
Enhance the ".recover" output in the shell to use double-quotes around table and column identifiers. (check-in: 846d2d2d2f user: drh tags: trunk)
18:40
Add "PRAGMA foreign_keys=OFF;" to the start of the script output by ".recover", just as is done for ".dump". (check-in: bfc29e62ef user: dan tags: trunk)
15:32
Ensure that columns of views and sub-queries that are expressions with no affinity are comparied without any type conversions, as required in the documentation. Tickets [61c853857f40da49] and [d52a29a9e6bc55c5]. (check-in: 9c8c1092a8 user: drh tags: trunk)
15:18
Performance optimization to the new affinity handling logic. (Closed-Leaf check-in: c9724e761b user: drh tags: pending)
14:37
Use 0x40 (ASCII '@') instead of 0x00 to mean "no affinity" so that columns with no affinity can appear in a zero-terminated string. Use the new SQLITE_AFF_NONE macro for this new magic number. (check-in: e8234f6939 user: drh tags: pending)
2019-08-05
20:53
Ensure that columns of views and sub-queries that are expressions with no affinity are not assigned BLOB affinity. This matches the documentation. Fix for [61c853857f40da49]. (On a branch because there are still subtle issues.) (check-in: e15a0977dd user: dan tags: pending)
20:45
Add test cases to this branch. (Closed-Leaf check-in: f37317d81c user: dan tags: tkt-61c853-A)