/ Timeline
Login

200 most recent check-ins related to "trunk"

2018-05-26
18:03
Experimental change that allows overloaded functions to be analyzed by the xBestIndex method and used by the xFilter method of a virtual table. Leaf check-in: a353b1d7 user: drh tags: vtab-func-constraint
16:00
Store application-defined function names as lower-case to avoid the need for case conversions before calling xFindFunction on virtual tables. Avoid using lookaside to store the destructors for application defined functions, as lookaside should be reserved for transient allocations. Leaf check-in: 777189ce user: drh tags: trunk
13:55
Add a single sentence of documentation about the virtual table scan flags. No changes to code. check-in: 27b4fa5d user: drh tags: trunk
2018-05-25
19:22
Forward port the geopoly extension functions into the r-tree extension, with the idea of creating a new spatial index based on simply polygons. check-in: 0593aac8 user: drh tags: rtree-geopoly
14:39
This is an untested proof-of-concept for enhancements to RTree that attempt to use sqlite3_value_nochange() to reduce the amount of work associated with UPDATE operations in cases where either the coordinates or the auxiliary data is unchanged. Leaf check-in: 6f7cfeff user: drh tags: rtree-update-optimization
09:36
Merge latest trunk changes into this branch. check-in: 62325198 user: dan tags: exp-window-functions
03:46
Add SQLITE_LOCKED_VTAB and SQLITE_CORRUPT_SEQUENCE to sqlite3ErrName(). Also, use SQLITE_CORRUPT_BKPT in one more place. Leaf check-in: eac8888d user: mistachkin tags: errCodes
2018-05-24
23:51
When doing a one-pass UPDATE or DELETE on virtual tables, close the cursor prior to running VUpdate. This allows one-pass to work on virtual tables that do not allow concurrent reads and writes. Enhance rtree to take advantage of this new capability. check-in: b816023c user: drh tags: trunk
22:42
New test case for reading and writing the same rtree concurrently. check-in: 3ba08e53 user: drh tags: trunk
22:31
Do not allow RTree writes when a read cursor is active on the same virtual table, as the writes might rebalance and disrupt the read cursors. Return the new SQLITE_LOCKED_VTAB error code if this happens. check-in: d4ce6661 user: drh tags: trunk
17:38
In the OOM testing logic, add the sqlite3FirstFault() routine as a place to set a breakpoint the first time any simulated OOM fault occurs for a single test case. check-in: b4d80bd2 user: drh tags: trunk
17:25
Fix a typo in a comment used to generate VDBE opcode documentation. No code changes. check-in: 36cdfbf2 user: drh tags: trunk
16:18
Addition cases for rtree preformance testing in speedtest1.c. Add the --nodiff option to the speed-check.sh script. check-in: 95f2d62c user: drh tags: trunk
13:59
Updates to the sqlite3_vtab_nochange() documentation. No changes to code. check-in: 5bd99abc user: drh tags: trunk
2018-05-23
17:53
Remove a branch that is no longer used due to the fix to the sqlite_sequence schema problem, ticket [d8dc2b3a58cd5dc2918a1d4acbba4676a23ada4c] check-in: 06674269 user: drh tags: trunk
16:50
Verify that the sqlite_sequence table exists and is in approximately the correct format prior to using it to process an autoincrement table. Fix for ticket [d8dc2b3a58cd5dc2918a1d4a]. check-in: e199e859 user: drh tags: trunk
2018-05-22
20:36
Merge latest trunk changes into this branch. check-in: cdb68d2c user: dan tags: exp-window-functions
2018-05-18
17:58
Add support for auxiliary columns to the rtree extension. check-in: c6071ac9 user: drh tags: trunk
17:17
Merge enhancements from trunk, especially the CLI fixes. Closed-Leaf check-in: a350040a user: drh tags: aux-data-in-rtree
17:11
In the CLI, detect and report errors on sqlite3_close(). Clear global variables prior to exit to so that valgrind can better detect resource leaks. check-in: e3b2e0a0 user: drh tags: trunk
14:24
Improvements to integer/float comparisons on architectures that lack a "long double" type. check-in: 5139ea62 user: drh tags: trunk
14:19
Remove incorrect NEVER() macro added by the previous check-in. Closed-Leaf check-in: 3d662511 user: drh tags: int-float-compare
13:39
Improvements to the sqlite3IntFloatCompare() routine for systems that lack the long double type. check-in: ea6a03a8 user: drh tags: int-float-compare
2018-05-17
20:04
In the CLI with the -A command, if the file does not previously exist and its name looks like a ZIP archive name, then create it as a ZIP archive. check-in: 33dc8fad user: drh tags: trunk
14:09
Improved error and help messages for the ".archive" command and "-A" option to the CLI. If a memory leak in --list processing. check-in: 02541ac6 user: drh tags: trunk
13:29
Fix memory errors associated with argv in the CLI when it is compiled on Windows. check-in: 4474d69b user: drh tags: trunk
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
17:57
Initial implementation of the ability to have auxiliary columns in an rtree virtual table that store arbitrary content. It mostly works, but there are some minor issues in OOM corner cases. check-in: 0c87fec9 user: drh tags: aux-data-in-rtree
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
11:45
Merge latest trunk changes with this branch. Leaf check-in: ae86cf60 user: dan tags: begin-concurrent
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
17:12
Experimental syntax enhancement for an "INDEXED" keyword following a FROM-clause subquery that indicates that an automatic index on that subquery is suggested. check-in: 32b3d110 user: drh tags: exp-indexed-clause
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
Merge changes from trunk. check-in: 715740e3 user: drh tags: geojson
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: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
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
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. Leaf 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
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
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
2018-05-02
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
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
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: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
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
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: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
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
17:02
In the ".selecttrace" output, include the EXPLAIN QUERY PLAN iSelectId as part of each Select identifier. check-in: 5c6339f9 user: drh tags: trunk
13:28
Ensure that there are no bind-parameters or incorrect schema references in the UPSERT portions of an INSERT within a TRIGGER. check-in: d47a6bdd user: drh tags: trunk
00:25
Fix an unreachable branch associated with stack overflow in the LEMON-generated parser. check-in: e3064ba3 user: drh tags: trunk
2018-04-21
22:40
Performance improvements on the main loop of the LEMON-generated parser. check-in: fec1ebad user: drh tags: trunk
20:24
Enhance LEMON to track which symbols actually carry semantic content. Output the list of symbols that do not carry content at the end of the report, but do not (yet) do anything else with the information. check-in: dcf2bafc user: drh tags: trunk
14:11
A few more tests for upsert. check-in: b78005b6 user: dan tags: trunk
13:51
Add the %extra_context directive to lemon, as an alternative to %extra_argument. Use this to improve the performance of the parser. check-in: be47a6f5 user: drh tags: trunk
03:06
Fix UPSERT so that it plays nicely with AUTOINCREMENT. check-in: 359725ab user: drh tags: trunk
2018-04-20
20:47
Add the -dDIRECTORY command-line option to LEMON. check-in: 9cd20475 user: drh tags: trunk
20:37
Enhance the "rbu" command line utility a bit. check-in: 61eb516f user: dan tags: trunk
20:09
Fix a harmless compiler warning. check-in: d2ab24f5 user: drh tags: trunk
19:46
Avoid the use of statement journals on DELETEs of a single row without triggers or foreign keys. check-in: 20bf5800 user: drh tags: trunk
19:32
Avoid opening a statement journal on single-row UPDATEs without triggers or FK constraints. check-in: 2772404b user: drh tags: trunk
18:01
Fix a VDBE comment on upsert. Provide an error message when upsert detects index corruption. check-in: 279c48f6 user: drh tags: trunk
17:50
Add tests for name resolution in ON CONFLICT clauses. check-in: cf253584 user: dan tags: trunk
17:02
Avoid unnecessary cursor seeking when performing an UPSERT. check-in: 693a3dcb user: drh tags: trunk
16:49
Improved VDBE comment on UPSERT code. Closed-Leaf check-in: 131ed95e user: drh tags: upsert-opt2
15:56
Avoid unnecessary cursor seeks during upsert processing. check-in: 7c4b6d54 user: drh tags: upsert-opt2
15:34
Add test cases for UPSERT. And a fix for a "REPLACE INTO ... ON CONFLICT" statement where the new row conflicts with both the IPK and the ON CONFLICT indexes. check-in: d8eb9f8d user: dan tags: trunk
13:18
Enhance UPSERT so that the UPDATE uses the same set of cursors as the INSERT. check-in: c37f39d1 user: drh tags: trunk
00:40
Minor simplification of the cursor allocation logic for update. check-in: fdf71be6 user: drh tags: trunk
2018-04-19
23:52
Fix the handling of "PRAGMA count_changes=ON" with UPSERT. Also improved the implementation of count_changes in other places, without changing the behavior. check-in: c6f71115 user: drh tags: trunk
21:29
Minor simplification to the upsert logic. check-in: e657c1d6 user: drh tags: trunk
20:18
Avoid unnecessary OP_Goto instructions on an upsert of a table that only has a single secondary index. Leaf check-in: 97dd21ab user: drh tags: upsert-opt
20:06
Modify a test case in zipfile2.test to take into account that with some platform/file-system combinations it is possible to fopen() and fread() (but not fwrite()) a directory. check-in: 893e6089 user: dan tags: trunk
16:52
Add the --upsert option to the wordcount test program. check-in: ee1e750b user: drh tags: trunk
16:14
Add the ext/misc/templatevtab.c template for virtual tables. This is a work-in-progress as it still needs improvements to the comments in order to be useful as a template. check-in: 22358fb5 user: drh tags: trunk
13:52
Fix a problem in the new upsert implemention, discovered by OSSFuzz. check-in: b6d5ea59 user: drh tags: trunk
11:45
Fix the table name aliasing on INSERT so that it occurs before the column list rather than afterwards, just as it does for PostgreSQL. Add table name aliasing to UPDATE and DELETE. check-in: 861a2e2a user: drh tags: trunk
2018-04-18
19:56
Add the "sorter-reference" optimization, allowing SQLite to be configured so that some required values may be loaded from the database after external sorting occurs for SELECT statements with ORDER BY clauses that are not satisfied by database indexes. check-in: ef74090a user: dan tags: trunk
19:45
Minor changes to test script upsert4.test. check-in: 0cb83c84 user: dan tags: trunk
19:08
Avoid a NULL-pointer deref following OOM. Closed-Leaf check-in: 413015c0 user: drh tags: sorter-reference
18:19
Fix a test case inside distinct.test. check-in: 61cb8a39 user: drh tags: trunk
18:18
Improved matching of COLLATE clauses within the ON CONFLICT conflict-target. check-in: 8f4376e5 user: drh tags: trunk
17:56
Add extra test cases for UPSERT. check-in: 7ea08d07 user: dan tags: trunk
17:52
Fix a problem in the sqlite3ExprCompare() function that caused two dissimilar expressions to match if they have the same "COLLATE name" at the outer layer. check-in: fb16348a user: drh tags: trunk
16:03
Add support for PostgreSQL UPSERT syntax and functionality. check-in: fba24aec user: drh tags: trunk
15:33
Fix the build for SQLITE_OMIT_UPSERT Closed-Leaf check-in: 32956519 user: drh tags: upsert
11:35
Enhance ALTER TABLE ADD COLUMN to support "DEFAULT true" and "DEFAULT false". check-in: 594ebc69 user: drh tags: trunk
10:44
Add checks to the CLI that issue a warning if SQLite gets initialized prior to the last sqlite3_config() call. check-in: 40b11734 user: drh tags: trunk
09:16
Fix a problem in the shell preventing it from working with SQLITE_OMIT_AUTOINIT builds. check-in: 89209000 user: dan tags: trunk
2018-04-16
14:36
Merge the Lemon enhancement from trunk, resulting in smaller parser tables. check-in: 641f4172 user: drh tags: upsert
14:31
Lemon enhancements: (1) Do not allocate space for the 'error' non-terminal if it is not used. (2) Fix an off-by-one problem so that 'unsigned char' can be used for symbol numbers if the number of symbols is 256. check-in: 3b7801ac user: drh tags: trunk
10:47
Merge changes from trunk. check-in: 54d96772 user: drh tags: upsert
10:41
Increase the version number to 3.24.0 check-in: f94528e1 user: drh tags: trunk
10:34
Reduce the size of the NameContext object by grouping seldom-used fields into a union. check-in: dba3095f user: drh tags: trunk
2018-04-14
18:46
Experimental change to "SELECT * FROM ... ORDER BY" processing to load some column values from the db after sorting. check-in: 9719cb46 user: dan tags: sorter-reference
2018-04-13
16:29
Merge the preupdate hook change from trunk. check-in: 7353caab user: drh tags: upsert
16:23
Remove an always-true branch from the preupdate hook logic. check-in: 0ab45188 user: drh tags: trunk
2018-04-12
12:25
Merge changes from trunk. check-in: 9f6f1180 user: drh tags: upsert
2018-04-11
17:10
Help the parser run faster by avoiding the "explain ::= ." production. check-in: d7ec7b59 user: drh tags: trunk
16:04
Prohibit bound parameters in the arguments to table-valued functions within a trigger. Problem discovered by OSSFuzz. check-in: b7178209 user: drh tags: trunk
14:11
Minor simplification to internal function generateSortTail(). check-in: f32cdb41 user: dan tags: trunk
2018-04-10
18:56
Include the 'sqlite3rebaser_' APIs in the Windows '.def' file. check-in: 56e4965f user: mistachkin tags: trunk
18:05
Merge all version 3.23.1 changes and enhancements from trunk. check-in: e20fcb51 user: drh tags: apple-osx
17:39
Version 3.23.1 check-in: 4bb22940 user: drh tags: trunk, release, version-3.23.1
15:31
Fix a problem causing the LEFT JOIN strength reduction optimization to be incorrectly applied in some cases where the WHERE clause of the query contains a filter expression of the form "lhs.x IS NOT ?". check-in: 1fdaf2c3 user: dan tags: trunk
14:29
When testing, avoid injecting an OOM fault into a file-control call made by SQLite on an unopened file-descriptor. check-in: 9c1a5eba user: dan tags: trunk
12:33
Increase the version number to 3.23.1. check-in: 9488c87b user: drh tags: trunk
12:10
Fix a problem causing the LEFT JOIN strength reduction optimization to be incorrectly applied in some cases where the WHERE clause of the query contains a filter expression of the form NOT(x AND y). Ticket [1e39b966]. check-in: 38d319c1 user: dan tags: trunk
10:37
Remove an unnecessary SQLITE_UNTESTABLE compile-time conditional from the command-line shell. check-in: 80b75a34 user: drh tags: trunk
00:53
Update the top-level README.md file to point to the whynotgit.html document. Put it on the correct branch, this time. check-in: a52e3cdd user: drh tags: trunk
2018-04-09
20:36
Minor changes to the input grammar resulting in a faster and slightly smaller parser. check-in: a2c443c0 user: drh tags: trunk
15:57
Enhance the query planner so that it detects when the xBestIndex method of a virtual table gives out-of-sequence argvIndex values and reports an error. Secondary fix for ticket [2b8aed9f7c9e6]. check-in: 9506ec14 user: drh tags: trunk
14:26
Fix the fts5 xBestIndex method so that it is not confused by "IS", "!=", "REGEXP", "GLOB" or "LIKE" operators. Fix for ticket [2b8aed9f]. check-in: a0ca4ddb user: dan tags: trunk
13:58
Improvements to ".wheretrace" output. check-in: ea2e5b34 user: drh tags: trunk
11:43
Add a "flags" parameter to experimental API sqlite3changeset_apply_v2(). Also add the SQLITE_CHANGESETAPPLY_NOSAVEPOINT flag. check-in: 3d29631f user: dan tags: trunk
00:46
Fix a (harmless) signed integer overflow warning. check-in: 43c2c60c user: drh tags: trunk
2018-04-06
19:36
Demonstration of how the parser can be augmented to recognize a PostgreSQL-style UPSERT. This check-in implements parsing only. check-in: 9b22905b user: drh tags: upsert
19:12
Enhance LEMON to show precendence of symbols and all rules in the report that is generated in parallel to the parser. check-in: 602fbd81 user: drh tags: trunk
16:22
Fix a problem in the sessions module causing sqlite3session_apply_strm() to allocate enough memory for the entire input buffer - which defeats the point of a streaming interface. check-in: 7594e609 user: dan tags: trunk