/ Timeline
Login
SQLite training in Houston TX on 2019-11-05 (details)
Part of the 2019 Tcl Conference

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

100 descendants and 100 ancestors of [19c2e4b2]

2018-07-07
20:23
Fix the JSON extension so that it can be compiled separately from the amalgamation. check-in: 4b8cfe7b user: drh tags: trunk
20:13
Fix an LSM problem caused by using the same cursor for equality and range scans. check-in: f05bead3 user: dan tags: trunk
19:47
Add ALWAYS() macros on results of sqlite3_aggregate_context() calls in xInverse() implements, since they can never fail. check-in: fdef2a92 user: drh tags: trunk
19:36
Add an assert() to help verify that OP_AggInverse is never called on an accumulator that has not previously been processed by OP_AggStep. check-in: 42138891 user: drh tags: trunk
17:38
Add missing VdbeCoverage() macro to window.c. check-in: 63f4d306 user: dan tags: trunk
17:30
Fix a problem with the handling of NULL values in the min() window function. check-in: b76f35b0 user: dan tags: trunk
2018-07-06
17:19
Try to improve the error messages for misformed frame specifications in window definitions. check-in: 927b95a0 user: drh tags: trunk
14:31
Also disallow non-constant expressions in "<expr> PRECEDING" or "<expr> FOLLOWING" clauses. check-in: a6dffecc user: dan tags: trunk
14:15
Ensure an error is returned if the user specifies an unsupported frame type. check-in: 0f3f8fcd user: dan tags: trunk
13:48
Prevent "UNBOUNDED FOLLOWING" from being used as the starting boundary of a window-frame. And "UNBOUNDED PRECEDING" from being used as the ending boundary. check-in: e51fdf66 user: dan tags: trunk
13:25
Remove some bad assert() statements from the implementations of window functions percent_rank() and cume_dist(). check-in: 443f0c28 user: dan tags: trunk
07:42
Return an error if DISTINCT is used with a window-function (e.g. "count(DISTINCT <expr>) OVER (...)"). check-in: d59bcc8e user: dan tags: trunk
2018-07-05
21:22
Use separate opcodes, OP_AggValue and OP_AggInverse, for the new callbacks associated with Window Functions, for improved readability of EXPLAIN output. check-in: fa653805 user: drh tags: trunk
20:33
Update the recipe for resetting a database using SQLITE_DBCONFIG_RESET_DATABASE. check-in: c43dd23f user: dan tags: trunk
20:05
Get the json_group_array() and json_group_object() SQL functions working as window functions. check-in: 916cdc83 user: drh tags: trunk
18:34
Return an error if a "RANGE" window-frame uses "<expr> PRECEDING" or "<expr> FOLLOWING". check-in: 786c87ba user: dan tags: trunk
18:19
Fix a problem in the xInverse method of window-function group_concat(1). check-in: 73391283 user: dan tags: trunk
17:35
Fix the .dump command in the command-line shell so that it does not show extraneous SELECT statements when ".echo on" is enabled. check-in: 11763cac user: drh tags: trunk
17:16
In wal mode, if a "BEGIN EXCLUSIVE" command (or any other command that upgrades from no transaction directly to a write transaction) hits an SQLITE_BUSY_SNAPSHOT error, change the error code to SQLITE_BUSY to indicate to the caller that the condition may be transient. check-in: e6108047 user: dan tags: trunk
17:03
Fix a typo inside an assert() statement introduced by the previous commit. Closed-Leaf check-in: e3357728 user: dan tags: exp-busy-snapshot-fix
15:46
In wal mode, if a "BEGIN EXCLUSIVE" command (or any other command that upgrades from no transaction directly to a write transaction) hits an SQLITE_BUSY_SNAPSHOT error, change the error code to SQLITE_BUSY to indicate to the caller that the condition may be transient. check-in: 221ff63e user: dan tags: exp-busy-snapshot-fix
2018-07-04
14:28
Experimental planner change to avoid a skip-scan if a regular index scan on the same index columns can be done instead. Leaf check-in: 32924446 user: dan tags: exp-avoid-expensive-skipscan
2018-07-03
20:17
Test that a race condition can cause a "BEGIN EXCLUSIVE" to return SQLITE_BUSY_SNAPSHOT in wal mode. check-in: 5a12db75 user: dan tags: trunk
2018-07-02
17:45
Fix a problem in the xInverse callback for the built-in sum() window function. check-in: b6563647 user: dan tags: trunk
17:14
Fix a segfault caused by having identical window functions in the select-list and ORDER BY clause of a SELECT statement. check-in: 693b4350 user: dan tags: trunk
15:03
Fix a crash caused by a LIKE pattern that consists of a single escape character. Problem found by OSSFuzz. check-in: bb9bfc3a user: dan tags: trunk
12:07
Fix a segfault caused by invoking a regular aggregate as a window-function. And some problems with count(*) when used as a window-function. check-in: 4f3c8a82 user: dan tags: trunk
2018-07-01
16:05
Quick patch to the Lemon parser template to avoid an array overread reported by OSSFuzz. A proper fix involves enhancements to the table generators in Lemon to make the overread impossible. That fix will take longer to implement. The current check-in is a stop-gap. check-in: 3f6730be user: drh tags: trunk
2018-06-30
20:26
Avoid a warning in fts5.c due to not using generated routine sqlite3Fts5ParserFallback(). check-in: 65ff5144 user: dan tags: trunk
20:15
Merge implementation of SQL window functions from the exp-window-functions into trunk. check-in: 17198a12 user: dan tags: trunk
20:00
Fix a minor problem in the code for determining whether or not an SQL statement is SQLITE_TOOBIG. Closed-Leaf check-in: 763e6c9e user: dan tags: exp-window-functions
19:12
Merge all changes from the weak-fallback branch except those related to the weak-fallback feature itself. check-in: aad718fb user: dan tags: exp-window-functions
18:54
Have the tokenizer handle fallback for tokens "OVER" and "FILTER" in the same way as it does for "WINDOW". Leaf check-in: 12d819e1 user: dan tags: weak-fallback
2018-06-29
20:43
Further performance related tweaks for sqlite3RunParser(). check-in: 5eb47765 user: dan tags: weak-fallback
20:21
Further tweaks to sqlite3RunParser(). check-in: eef61ffa user: dan tags: weak-fallback
19:54
Improve on the previous checkin. Still a bit slow. check-in: c1fb41aa user: dan tags: weak-fallback
17:44
Instead of using a lemon %fallback directive, have the tokenizer try to figure out whether an instance of "WINDOW" should be TK_WINDOW or TK_ID. check-in: 022079cb user: dan tags: weak-fallback
2018-06-28
20:05
Modifications to parse.y to better support backwards compatibility for the "window" keyword. check-in: 7c4b879b user: dan tags: weak-fallback
03:38
Introduce the concept of "weak fallback" in the parser. A weak fallback only occurs if a syntax error would result otherwise. check-in: c41d7079 user: drh tags: weak-fallback
2018-06-27
20:24
Add missing VdbeCoverage() and VdbeCoverageNeverTaken() macros to window.c. check-in: 4383cb68 user: dan tags: exp-window-functions
19:48
Avoid redundant ORDER BY operations when rewriting SELECT statements that contain window functions. check-in: 336de43a user: dan tags: exp-window-functions
2018-06-26
20:19
Merge latest trunk changes. check-in: d9f814b4 user: dan tags: exp-window-functions
2018-06-25
20:34
Add documentation comment for sqlite3_create_window_function(). And further tests. check-in: 3f2705b9 user: dan tags: exp-window-functions
11:42
Fix another problem that could cause a crash when a window function was used in a view. check-in: e954145a user: dan tags: exp-window-functions
2018-06-23
19:29
Fix problems with using window-functions in correlated sub-queries. check-in: 3e23cfc8 user: dan tags: exp-window-functions
16:26
Fix a problem with using LIMIT in window-function queries. check-in: c1abd2dd user: dan tags: exp-window-functions
07:59
Fix a problem with using a window-function SELECT as a FROM clause sub-query in some circumstances. check-in: 11d73339 user: dan tags: exp-window-functions
2018-06-22
20:51
Omit all window-function related code when building with SQLITE_OMIT_WINDOWFUNC. check-in: 5f04b016 user: dan tags: exp-window-functions
17:57
Merge latest trunk changes. check-in: ebe65b23 user: dan tags: exp-window-functions
2018-06-21
19:20
Fix a problem with handling single row partitions in the percent_rank() window function. check-in: b84fbf16 user: dan tags: exp-window-functions
2018-06-20
09:23
Add tests to improve coverage of code in window.c. Fix a problem with "SELECT row_number() OVER ()". check-in: f41b6b73 user: dan tags: exp-window-functions
2018-06-19
19:15
Merge latest trunk changes with this branch. check-in: 6ad0e64b user: dan tags: exp-window-functions
18:11
Fix a problem caused by a sub-query containing a window function in the FROM clause of a query that itself uses a window function. check-in: f4b1b6f8 user: dan tags: exp-window-functions
17:13
Fix a problem with using min() or max() as a window function. check-in: 801074ce user: dan tags: exp-window-functions
2018-06-18
20:34
Fix problems with using window functions in CREATE VIEW statements. check-in: 943bccd2 user: dan tags: exp-window-functions
17:36
Ensure that all four callbacks are provided when registering a window function (otherwise SQLITE_MISUSE is returned). check-in: 5720dcd8 user: dan tags: exp-window-functions
16:55
Add new API function sqlite3_create_window_function(), for creating new aggregate window functions. check-in: da03fb43 user: dan tags: exp-window-functions
2018-06-15
20:46
Add extra OOM test. check-in: ac251f72 user: dan tags: exp-window-functions
19:01
Fix another problem in lead()/lag(). And some errors that could occur following OOM faults. check-in: fadd4dc1 user: dan tags: exp-window-functions
16:10
Fix a bug in the lead() and lag() window functions causing them to fail when used in queries featuring multiple window functions. check-in: 3839fb18 user: dan tags: exp-window-functions
2018-06-14
20:52
Fix a problem with handling of statements containing two or more different windows. check-in: 567e09ef user: dan tags: exp-window-functions
19:06
Fix problem with window functions min() and max() when used with a PARTITION clause and a frame starting point other than "UNBOUNDED PRECEDING". check-in: 43eb1e75 user: dan tags: exp-window-functions
14:30
Merge latest trunk changes into this branch. check-in: 5cf5f180 user: dan tags: exp-window-functions
14:27
Improve comments and code legibility in new file window.c. check-in: bb915854 user: dan tags: exp-window-functions
2018-06-13
20:29
Fix problems with "RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING" window frames. check-in: c34f31db user: dan tags: exp-window-functions
2018-06-12
20:53
Fix another issue to do with window-functions in aggregate queries. check-in: 6413e38a user: dan tags: exp-window-functions
18:40
Fix some problems with using window-functions in aggregate queries. check-in: fe7081e0 user: dan tags: exp-window-functions
2018-06-11
20:50
Clarify the relationship between a Window object and its associated Expr. check-in: 0cd55e98 user: dan tags: exp-window-functions
18:16
Fix handling of window frames containing negative number of rows. e.g. "ROWS x PRECEDING AND y PRECEDING" where (x<y). check-in: b6d9c7ed user: dan tags: exp-window-functions
11:19
Fix a typon in main.mk. check-in: e74f86f2 user: dan tags: exp-window-functions
2018-06-10
07:42
Update Makefile.msc to include window.c in the build. check-in: 16db7384 user: dan tags: exp-window-functions
2018-06-09
18:09
Merge recent trunk changes with this branch. check-in: c71f2359 user: dan tags: exp-window-functions
17:58
Update the amalgamation build script to include window.c. check-in: 21d2f4a6 user: dan tags: exp-window-functions
17:43
Add support for FILTER clause on aggregate window functions. check-in: ceaf798e user: dan tags: exp-window-functions
2018-06-08
20:58
Add support for the WINDOW clause. check-in: 19c983b5 user: dan tags: exp-window-functions
16:11
Do not flatten sub-queries that contain window functions. check-in: 236cb75b user: dan tags: exp-window-functions
11:45
Fixes to allow group_concat() to be used as a window function. check-in: 89bbc9ba user: dan tags: exp-window-functions
2018-06-07
20:35
Merge latest trunk changes with this branch. check-in: 25102203 user: dan tags: exp-window-functions
20:08
Add window functions lag() and lead(). check-in: ef342070 user: dan tags: exp-window-functions
17:45
Add support for window function first_value(). check-in: 060b2640 user: dan tags: exp-window-functions
15:54
Fix problems with the nth_value() function. check-in: 63002b9a user: dan tags: exp-window-functions
2018-06-06
20:51
Add implementation of nth_value() window function. check-in: eb1fb420 user: dan tags: exp-window-functions
2018-06-05
16:16
Add implementation of last_value() window function. check-in: 2493ce1a user: dan tags: exp-window-functions
2018-06-04
18:55
Add implementation of window function ntile(). check-in: 3f093f60 user: dan tags: exp-window-functions
08:28
Merge latest trunk changes into this branch. check-in: 83d6416a user: dan tags: exp-window-functions
08:22
Add support for window function cume_dist(). Improve tests for percent_rank(). check-in: 76543f7d user: dan tags: exp-window-functions
2018-06-02
21:04
Add support for window functions row_number(), rank(), dense_rank() and percent_rank(). check-in: 91c1cb7a user: dan tags: exp-window-functions
2018-06-01
21:00
Allow an entire partition to be cached in a temp table for all types of window frames. This is required by nth_value() and others. check-in: b5b18f66 user: dan tags: exp-window-functions
2018-05-30
20:44
Allow min() and max() to be used as window functions. check-in: c16125a8 user: dan tags: exp-window-functions
2018-05-28
18:30
Further window frame tests and fixes. check-in: e74c6e91 user: dan tags: exp-window-functions
2018-05-26
21:17
More fixes for different window frame types. check-in: 2c85668a user: dan tags: exp-window-functions
2018-05-25
20:30
Fix "RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING" window frame processing. check-in: b4e9c686 user: dan tags: exp-window-functions
09:36
Merge latest trunk changes into this branch. check-in: 62325198 user: dan tags: exp-window-functions
09:29
Fixes for "ROWS BETWEEN <expr> FOLLOWING AND <expr> FOLLOWING" and "ROWS BETWEEN <expr> FOLLOWING AND UNBOUNDED FOLLOWING" check-in: 5ac44872 user: dan tags: exp-window-functions
2018-05-24
21:10
Allow "<expr> PRECEDING" to be used to specify the end of a window frame. check-in: 7b709a98 user: dan tags: exp-window-functions
17:49
Support other frame types that use "<expr> PRECEDING" or "<expr> FOLLOWING" as start or end conditions. check-in: ec7b648c user: dan tags: exp-window-functions
2018-05-23
20:55
Add support for "ROWS BETWEEN <expr> PRECEDING AND <expr> FOLLOWING" window frames. check-in: 3a203660 user: dan tags: exp-window-functions
2018-05-22
20:36
Merge latest trunk changes into this branch. check-in: cdb68d2c user: dan tags: exp-window-functions
20:35
Add comments to window.c describing how other window frames will be implemented. check-in: 16168146 user: dan tags: exp-window-functions
2018-05-21
19:45
Begin adding support for more esoteric window frames. check-in: bc4b81d6 user: dan tags: exp-window-functions
2018-05-19
14:15
Fix minor problems on this branch. check-in: 19c2e4b2 user: dan tags: exp-window-functions
2018-05-17
19:24
Evaluate multiple window functions in a single pass if they use the same window definition. Add xValue callbacks for other built-in aggregate functions. check-in: c9f0f140 user: dan tags: exp-window-functions
14:26
Handle multiple window-functions in a single query. check-in: 35af0b75 user: dan tags: exp-window-functions
2018-05-16
20:58
Start of experimental implementation of SQL window functions. Does not yet work. check-in: 3781e520 user: dan tags: exp-window-functions
15:35
Enhance the sqlite3_str_new() interface so that it always returns a valid and non-NULL pointer even in an OOM condition. check-in: ed5b0968 user: drh tags: trunk
12:19
Correct output for the fullkey column of json_each() when the total JSON input is a simple value, not an array or object. check-in: b45b1885 user: drh tags: trunk
2018-05-15
09:09
Fix a test case problem in wherelimit.test. check-in: 3012df8b user: dan tags: trunk
2018-05-14
22:46
Make more aggressive use of automatic indexes when processing materalized views and subqueries. check-in: 172f5bd2 user: drh tags: trunk
15:26
Convert the schema creation logic in the rtree extension to use the new sqlite3_str interface. check-in: fd8b8c41 user: drh tags: trunk
12:23
Fix typo in the shell.c source file. check-in: 389dc0a9 user: mistachkin tags: trunk
00:41
Export the deduceDatabaseType() function the shell.c source file. check-in: d0f35739 user: drh tags: trunk
00:23
Add the --append option to the ".backup" command in the CLI. check-in: 0dfdbdee user: drh tags: trunk
2018-05-12
23:56
In the CLI, allow comment lines that begin with '#', but only in a context where a dot-command is allowed. In other words, '#' at the beginning of a line in the middle of an SQL statement is just part of the SQL. check-in: 4ee136d6 user: drh tags: trunk
2018-05-11
19:11
In the CLI, return non-zero if there are errors on the command-line. check-in: 13e7300a user: drh tags: trunk
15:10
Fix a typo in the help message from the ".sha3sum" command in the CLI. check-in: dba87a20 user: drh tags: trunk
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
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:17
Add 14 new interfaces to the loadable extension mechanism. check-in: 0e809cdc user: drh tags: trunk
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
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
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
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
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: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
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: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: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
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
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
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
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
10:57
Fix a memory leak following failure to open an external CSV file in the csv.c extension. check-in: 526ee07d user: drh tags: trunk
01:10
In EXPLAIN QUERY PLAN output, do not show an EXECUTE LIST SUBQUERY line for IN operators where the RHS is a list and not a subquery, since in that case there is no SUBQUERY to execute. check-in: 8bc0207a user: drh tags: trunk
00:08
Fix to check-in [ca34c2dd20ee071e] - avoid a NULL pointer dereference following an OOM. check-in: c7e6e848 user: drh tags: trunk
2018-04-23
20:38
Fix a problem in sqlite3ExprCompare() associated with UPSERT. check-in: 67d0b2c1 user: drh tags: trunk
20:04
Fix a formatting issue in the TreeView output for bare expression lists. check-in: a6356817 user: drh tags: trunk
18:38
Add the ".imposter off" variant of the ".imposter" dot-command in the CLI. check-in: d3dad06f user: drh tags: trunk
17:43
The ".selecttrace 0x2000" command causes just the top-level parse tree to be displayed, after all transformations, and showing the EQP iSelectId at each level. check-in: ca34c2dd user: drh tags: trunk
17:18
The ".selecttrace 4" command now shows only a single parse tree after name resolution. check-in: 5682146e user: drh tags: trunk
17:09
Do not restore the iSelectId value until after the last SELECTTRACE when debugging Select processing. check-in: 8088d8ca user: drh tags: trunk