SQLite

Timeline
Login

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

100 check-ins occurring around 82ca44b82fed6814.

2018-05-11
15:10
Make sure the open_db() routine in the CLI does not invoke access() with a NULL filename. (check-in: 20a8c611 user: drh tags: trunk)
14:02
Fix a typo in the help message from the ".sha3sum" command in the CLI. (check-in: e76f676c user: drh tags: geojson)
14:00
Make sure the open_db() routine in the CLI does not invoke access() with a NULL filename. (check-in: 2b8fd3b4 user: drh tags: geojson)
2018-05-09
16:32
Add a test case to check that the fts5 unicode64 tokenizer is dealing with codepoints greater than 65535 correctly. (check-in: 9f7a6ae8 user: dan tags: trunk)
15:27
The translation in and out of GeoJSON automatically adds or removes the redundant last vertex, as necessary. (check-in: 2653bedd user: drh tags: geojson)
15:20
Fix the geopoly_json() SQL function so that it works. (check-in: 236588d5 user: drh tags: geojson)
15:19
Merge from trunk the ability to use sqlite3_sql interfaces in extensions. (check-in: 5bb9e6a9 user: drh tags: geojson)
15:17
Add 14 new interfaces to the loadable extension mechanism. (check-in: 0e809cdc user: drh tags: trunk)
15:00
Add the geopoly_json() interface. Untested. (check-in: 25695c80 user: drh tags: geojson)
14:33
Merge trunk changes, and especially the newly published sqlite3_str interface. (check-in: f3609aef user: drh tags: geojson)
14:29
Fix minor problems with the sqlite3_str interface. (check-in: 43ea8a68 user: drh tags: trunk)
13:46
Make the internal dynamic string interface available to extensions using the new sqlite3_str object and its associated methods. This is mostly just a renaming of internal objects and methods to use external names, through there are a few small wrapper functions. (check-in: 87f261f0 user: drh tags: trunk)
10:11
Fix a typo in a comment used for documentation. No code changes. (check-in: b866693e user: drh tags: trunk)
02:23
Version 3.23.2 (Leaf check-in: f139f6f0 user: drh tags: release, branch-3.23, version-3.23.2)
2018-05-08
23:17
Correctly format the STAT1 and STAT4 content in the output from the ".fullschema" command in the CLI. Fix for ticket [e63a34a0045832dc850367552]. (check-in: 0c3f128f user: drh tags: trunk)
22:47
Experiments with routines for processing GeoJSON. (check-in: d22fbff2 user: drh tags: geojson)
13:32
Merge changes from trunk, especially the activation of the cell-overwrite optimization for indexes and WITHOUT ROWID tables. (check-in: a016144b user: drh tags: apple-osx)
13:03
Fix a harmless compiler warning in fuzzcheck. Add new OSSFuzz test cases to the test case library. (check-in: d2619746 user: drh tags: trunk)
12:49
Fuzz test cases for UPSERT. (check-in: fd11fbd2 user: drh tags: trunk)
2018-05-07
18:41
Activate the cell-overwrite optimization for index b-trees. (check-in: a68697d1 user: drh tags: trunk)
17:27
Improved comments on the cell-overwrite optimization code. (check-in: a4fe966d user: drh tags: trunk)
13:01
Merge enhancements from trunk, and especially the cell-overwrite optimization. (check-in: cb3aa778 user: drh tags: apple-osx)
11:48
On an UPDATE, try to overwrite an existing btree cell with the modified content, if the old and new cell are the same size. Use memcmp() first to avoid dirtying pages that are unchanged. (check-in: 5887d8be user: drh tags: trunk)
11:37
Fix harmless compiler warnings associated with the new EXPLAIN QUERY PLAN logic. (check-in: 374d8e26 user: drh tags: trunk)
11:29
Fix harmless compiler warnings in the cell-overwrite logic. (Closed-Leaf check-in: 3e11dc31 user: drh tags: cell-overwrite-prototype)
02:50
Backout change [05fee1a21ea398f1e4d6f1cf3] because it does not take into account the LD_LIBRARY_PATH environment variable used by dl_open(). (check-in: b348d119 user: drh tags: trunk)
2018-05-05
16:50
In an ORDER BY LIMIT, make sure the ORDER BY expression evaluator does not try to reuse values from the result set if the result set has not yet be computed. This fixes a bug in the recent deferred-row loading optimization, check-in [c381f0ea57002a264fd958b28e]. OSSFuzz discovered the problem. (check-in: 5d61e75f user: drh tags: trunk)
01:23
Fix a slightly incorrect corruption detection branch in the btree logic. (check-in: 9191ff67 user: drh tags: trunk)
2018-05-04
20:00
Bring the code that changes the owner of WAL and rollback files when running as root into alignment with trunk. (check-in: 180516bf user: drh tags: apple-osx)
19:33
Merge recent enhancements from trunk. (check-in: e17bca2c user: drh tags: apple-osx)
19:18
Merge enhancements from trunk. (check-in: 9650f71b user: drh tags: cell-overwrite-prototype)
18:32
Fix requirements marks. No code changes. (check-in: 7fdad122 user: drh tags: trunk)
04:49
For the amalgamation-tarball, enable FTS5 and JSON1 by default and provide a new --enable-debug option that actives debugging facilities. (check-in: 03edecaf user: drh tags: trunk)
00:39
Make a separate limb in the EXPLAIN QUERY PLAN output for the various lines associated with the OR-optimization. (check-in: 75ac7b4e user: drh tags: trunk)
2018-05-03
23:20
In ORDER BY LIMIT queries, try to evaluate the ORDER BY terms first, and it it becomes clear that the row will not come in under the LIMIT, then skip evaluation of the other columns. (check-in: c381f0ea user: drh tags: trunk)
22:52
Fix a branch that has become unreachable due to recent enhancements. (check-in: 81ab5e0d user: drh tags: trunk)
21:51
Improved security for VACUUM. This check-in combines the fixes of [ab0d99d0b5ede] and [27754b74ddf646] in a way that is less likely to to be broken by future changes. (check-in: 260fc696 user: drh tags: trunk)
19:56
Overhaul of EXPLAIN QUERY PLAN. The output is now in the form of a tree. More details of the query plan are shown, and what is shown is truer to what actually happens. (check-in: ff01bbda user: drh tags: trunk)
19:47
Optimizations to the new EQP framework. (Closed-Leaf check-in: 956fef36 user: drh tags: rework-EQP)
16:56
Fix various error handling conditions on the cell overwrite optimization. Fix a test case so that it works with the new optimization. (check-in: f89b54f4 user: drh tags: cell-overwrite-prototype)
14:07
The BtCursor.info fields are only valid if info.nSize!=0. (check-in: 54c537ee user: drh tags: cell-overwrite-prototype)
13:56
Add more corruption checking to the cell overwrite logic. (check-in: 58d14afe user: drh tags: cell-overwrite-prototype)
12:57
Bug fixes in the overwrite optimization. (check-in: 0cb6cd2a user: drh tags: cell-overwrite-prototype)
03:59
The sqlite3BtreeInsert() routine tries to overwrite an existing cell with modified content if the new content is the same size. Pages are only dirtied if they change. This prototype works some, but still has issues. (check-in: 489451b3 user: drh tags: cell-overwrite-prototype)
01:37
Enhance EXPLAIN QUERY PLAN to report the generation of constant rows using VALUES or just a SELECT without FROM. (check-in: c75eee69 user: drh tags: rework-EQP)
2018-05-02
19:42
More test case updates. Tests are all running now. (check-in: dab5e529 user: drh tags: rework-EQP)
18:00
Fix test cases so that they work with the new EXPLAIN QUERY PLAN output format. Only some of the cases have been fixed. This is an incremental check-in. (check-in: 5f0e803e user: drh tags: rework-EQP)
16:13
Improved EQP output for recursive CTEs and multi-value VALUES clauses. (check-in: f2f52554 user: drh tags: rework-EQP)
15:00
Prevent VACUUM from running any commands in sqlite_master.sql other than CREATE statements. That is all that should be there anyhow. This fixes a problem discovered by OSSFuzz. Test cases in TH3. (check-in: ab0d99d0 user: drh tags: trunk)
14:24
Fix a dangling-else problem that was causing recursive CTEs to malfunction. Begin fixing test cases to work with the new EQP output. (check-in: 82ca44b8 user: drh tags: rework-EQP)
08:12
Fix a problem in the xBestIndex method of the closure extension causing it to allocate non-contiguous argvIndex values in some cases (an "xBestIndex malfunction" error). (check-in: 0c671507 user: dan tags: trunk)
03:03
Add sqlite3_win32_set_directory8() and sqlite3_win32_set_directory16() functions. (check-in: 6cf0f4e2 user: mistachkin tags: branch-3.23)
03:01
Add sqlite3_win32_set_directory8() and sqlite3_win32_set_directory16() functions. (check-in: 22089ea2 user: mistachkin tags: trunk)
02:22
Improvements to the EQP display for compound select statements. (check-in: 699a77e4 user: drh tags: rework-EQP)
00:33
Begin reengineering the EXPLAIN QUERY PLAN function to provide more intuitive output. (check-in: 70b48a79 user: drh tags: rework-EQP)
2018-05-01
18:39
The SQLITE_ALLOW_SQLITE_MASTER_INDEX compile-time option allows a CREATE INDEX statement against the sqlite_master table. Once created, the index works, and is usable by legacy instances of SQLite. (check-in: 853f3163 user: drh tags: trunk)
01:18
The ".selecttrace 0x4000" command causes the AST to be output to stdout as a table with four columns. (Leaf check-in: 2a75e631 user: drh tags: ast-trace-demo)
2018-04-30
19:32
Defer loading result column values into registers on an ORDER BY LIMIT until we know that the LIMIT does not exclude the current row. (Closed-Leaf check-in: ce4ef460 user: drh tags: faster-order-by-limit)
2018-04-28
19:08
Test cases added for SQLITE_DBCONFIG_RESET_DATABASE. (check-in: 08665a9e user: drh tags: trunk)
18:20
Fix an RBU problem causing spurious SQLITE_CONSTRAINT errors when restarting an RBU update in which more than one source table writes to a single target database table. (check-in: 564ae829 user: dan tags: trunk)
13:21
Add the SQLITE_DBCONFIG_RESET_DATABASE control for resetting a corrupt database file without closing any database connections. Added the ".dbconfig" command to the CLI. (check-in: a200a49e user: drh tags: trunk)
12:43
Add the SQLITE_DBCONFIG_RESET_DATABASE control as a replacement for the reset_database pragma. Resetting the database should be hard enough to do that it cannot be done by accident. (Leaf check-in: ff836cb8 user: drh tags: reset-database)
11:22
Merge updates from trunk. (check-in: 94877e49 user: drh tags: reset-database)
04:16
Prevent deep recursions on nested COLLATE operators. (check-in: 6e098ee4 user: drh tags: trunk)
04:10
Fix compiler warnings in FTS3. (check-in: de508e83 user: drh tags: trunk)
01:48
Document and expose sqlite3_win32_set_directory() function for use on Win32. (check-in: f677065a user: mistachkin tags: branch-3.23)
01:46
Document and expose sqlite3_win32_set_directory() function for use on Win32. (check-in: 7626b593 user: mistachkin tags: trunk)
01:44
Add comments about the intended use of the sqlite3_data_directory variable as it pertains to the sqlite3_win32_set_directory function. (Closed-Leaf check-in: d11c4197 user: mistachkin tags: win32dir)
01:37
Bump the version number to 3.23.2. (check-in: 242dc910 user: drh tags: branch-3.23)
01:27
Add the "PRAGMA reset_database=ON|OFF" command. When on, it causes the database to appear to be empty, causing the next transaction to reset it to an empty database. (check-in: 02e1a13c user: drh tags: reset-database)
2018-04-27
22:42
Document and expose sqlite3_win32_set_directory() function for use on Win32. (check-in: cbce7180 user: mistachkin tags: win32dir)
20:49
Better comments on the bindvtab.c implementation. All the two-argument version of the .set command. All bindings from .set and -D are still string. (Leaf check-in: 7b2a65a6 user: drh tags: shell-bindings)
18:05
Update test script fts3expr4.test so that it always creates fts3 tokenizers in the "en_US" locality. (check-in: 576a8f69 user: dan tags: trunk)
17:39
Add the ability to use bind parameters in the CLI. The new ".set KEY=VALUE" dot-command works to set bindings. Or use the "-Dkey=value" command-line option. Or use the built-in shell_bindings(k,v) virtual table to set, delete, or changing bindings. (check-in: 1f2944d1 user: drh tags: shell-bindings)
16:35
Fix a test script error causing tests to fail in soak.test. (check-in: 462b52b1 user: dan tags: trunk)
15:17
Enhance the comments in the templatevtab.c implementation. (check-in: 05f6278a user: drh tags: trunk)
2018-04-26
18:34
The previous fix for ticket [d85fffd6ffe856092ed8da] in check-in [0a514e62ad1ebe5c12da8dae] did not completely address the probably in that it only worked for cases where the OP_SCopy that loaded the register was the last instruction in the sequence for the expression, which is not necessarily the case for expressions like CASE...END. This revision prevents the registered that will be recomputed from being cached in the first place. (check-in: 9fd0faf5 user: drh tags: trunk)
18:01
Merge latest changes from trunk. Including the "ORDER BY ... LIMIT" optimization. (check-in: 83a4c9f0 user: dan tags: begin-concurrent-pnu)
17:54
Merge latest changes from trunk. Including the "ORDER BY ... LIMIT" optimization. (check-in: d8ae7ba0 user: dan tags: begin-concurrent)
17:43
When processing an "ORDER BY ... LIMIT" that does not use an index, check whether or not a record may appear in the final result set before adding it to the temp b-tree used for sorting. (check-in: 0fcfc36c user: dan tags: trunk)
16:13
When processing an "ORDER BY ... LIMIT" that does not use an index, check whether or not a record may appear in the final result set before adding it to the sorter. (Closed-Leaf check-in: 71bf91c2 user: dan tags: sorter-limit-opt)
15:50
Ensure that new.* values of an UPDATE do not get clobbered after the BEFORE triggers run when unmodified columns of the row being updated are reloaded. Fix for ticket [d85fffd6ffe856092ed8da] (check-in: 0a514e62 user: drh tags: trunk)
15:04
Clarification of the behavior of a BEFORE UPDATE trigger when the trigger changes the values of some of the columns used to compute new columns in the UPDATE. (check-in: 7bb23c2a user: drh tags: trunk)
12:27
Improved VDBE comment on the OP_Param opcode. No substantial changes. (check-in: 368c14da user: drh tags: trunk)
08:56
Update the "fuzz_malloc.test" script to print SQL statements in which OOM handling problems are found to stdout. (check-in: a956363c user: dan tags: trunk)
2018-04-25
19:02
Add new interfaces for accessing the list of SQL keywords: sqlite3_keyword_count(), sqlite3_keyword_name(), sqlite3_keyword_check(). (check-in: 7dd34e37 user: drh tags: trunk)
17:10
Add the new DO and NOTHING keywords to the keyword lists maintained by various extensions and auxiliary programs. (check-in: 77a98a07 user: drh tags: trunk)
13:27
Add the new SQLITE_SHELL_INIT_PROC compile-time entry point to the CLI. This is needed to work around the tighter sqlite3_config() constraints now in the CLI. (check-in: 3bcdbccf user: drh tags: trunk)
12:01
Avoid many unnecessary calls to sqlite3ReadSchema() and sqlite3Init() when the schema is known to be valid already. (check-in: 58cf812f user: drh tags: trunk)
10:30
Add an assert() to ensure that schema mutexes are held prior to accessing the DB_SchemaLoaded flag inside of sqlite3Init(). (check-in: d8b46290 user: drh tags: trunk)
2018-04-24
19:22
Update this branch with latest changes from trunk. (check-in: 2d8d13e4 user: dan tags: begin-concurrent-pnu)
19:21
Merge latest trunk changes into this branch. (check-in: b27bd799 user: dan tags: begin-concurrent)
18:59
Remove a recently added NEVER() macro from a branch that can be taken in obscure circumstances. (check-in: 2aa21003 user: dan tags: trunk)
18:53
Fix a problem with processing "LEFT JOIN tbl ON tbl.a = ? AND (tbl.b=? OR tbl.c=?)" in cases where there are indexes on both tbl(a, b) and tbl(a, c). (check-in: ce35e39c user: dan tags: trunk)
17:34
Do not attempt to use terms from the WHERE clause to drive indexes on the right table of a LEFT JOIN. Fix for ticket [4ba5abf65c5b0f9a96a7a40cd18b] (check-in: aeb694e3 user: drh tags: trunk)
16:51
Update the expert extension test cases to account for the fact that EXPLAIN QUERY PLAN now shows the start of each trigger in its output. (check-in: 8acb42f4 user: drh tags: trunk)
16:41
All the OR optimization to proceed even if the OR is also converted into an IN operator. (check-in: e252c654 user: drh tags: trunk)
14:18
Add a hyperlink to the ticket on the code comment for the fix to ticket [7fa8049685b50b5aeb0c2]. (check-in: 45247c7f user: drh tags: trunk)
14:05
Do not attempt to read values from indexes-on-expressions if the index is on the RHS of a LEFT JOIN. This won't work if the index cursor points at a null-row. Fix for [7fa80496]. (check-in: b8ef967a user: dan tags: trunk)
13:07
Enhance the CLI to render EXPLAIN QUERY PLAN using an ASCII-art graph. This works with ".eqp" modes and when the query begins with exactly "EXPLAIN QUERY PLAN". To see the original output format, add extra space characters in between words of the initial "EXPLAIN QUERY PLAN". (check-in: f53716ee user: drh tags: trunk)