/ Timeline
Login

100 most recent check-ins

2018-04-23
17:18
The ".selecttrace 4" command now shows only a single parse tree after name resolution. Leaf 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
16:27
Minor simplification of the previous checkin. check-in: d1906689 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
15:21
Add the --sorterref N option to the CLI. check-in: 902a4089 user: drh tags: sorter-reference
14:48
Omit some code not used without SQLITE_ENABLE_SORTER_REFERENCES. Improvements to comments used for documentation. check-in: f3596ab9 user: drh tags: sorter-reference
14:04
Remove an unused local variable. check-in: 9afeb0c8 user: drh tags: sorter-reference
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
01:34
Add new testcase() macros and fix a bug that was revealed when trying to cover all the new test cases. check-in: 266a99f7 user: drh tags: upsert
2018-04-17
21:59
Remove unreachable branches. 100% MC/DC in TH3 now. check-in: 558865d5 user: drh tags: upsert
20:09
Added a comment on the assert() added to the previous check-in. check-in: 542547c1 user: drh tags: upsert
20:06
Fixes to the logic for constraint check reordering during upsert. Improved comments on constraint check bytecode. Add an assert that prevents the same label from being resolved more than once. check-in: 1ddbb0ff user: drh tags: upsert
19:29
During PRAGMA vdbe_addoptrace=ON, show calls to sqlite3VdbeResolveLabel() in the debugging output. check-in: 9ff07a06 user: drh tags: upsert
18:50
TK_REGISTER expressions nodes are probably not constant. Make sure sqlite3ExprIsConstant() knows this. check-in: f3d91cad user: drh tags: upsert
18:18
Simplification to the upsert logic. check-in: f36d07a5 user: drh tags: upsert
18:16
Add some more simple test cases for UPSERT. And a minor fix. check-in: 27cd3b2f user: dan tags: upsert
16:16
New test cases for upsert. check-in: 907b5a37 user: drh tags: upsert
2018-04-16
21:12
Add SQLITE_CONFIG_SORTERREF_SIZE configuration option. check-in: b25a7bb7 user: dan tags: sorter-reference
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
13:26
Remove the MySQL upsert syntax. As an optional alias to the insert table name in order to finish out PostgreSQL upsert syntax emulation. check-in: 810d9f63 user: drh tags: upsert
13:00
Add support for the "excluded.*" names in the UPDATE clause of an upsert. check-in: 0203f34f user: drh tags: upsert
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
22:35
Get upsert working on WITHOUT ROWID tables. check-in: d3c53fd3 user: drh tags: upsert
20:24
Make sure constraint checks occur in the correct order, even in the presence of upserts. check-in: 07fb30c3 user: drh tags: upsert
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
21:55
First cut at logic to perform DO UPDATE for rowid tables. check-in: a9080bc8 user: drh tags: upsert
18:59
Add infrastructure for doing an UPDATE as part of an UPSERT. Still no actual UPDATE code, however. check-in: 6d3017f9 user: drh tags: upsert
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
15:14
Get the ON CONFLICT DO NOTHING form of upsert working by mapping it into INSERT OR IGNORE. check-in: d07f05e9 user: drh tags: upsert
14:27
Get the conflict-target clause parsing working correctly, with test cases. This change involves an enhancement to sqlite3ExprCompare() which needs to be reviewed on trunk prior to merging. check-in: 5bf70425 user: drh tags: upsert
13:44
Improved conflict-target matching logic. check-in: 98d32ba6 user: drh tags: upsert
13:06
Back off of the extended upsert syntax that allows multiple ON CONFLICT clauses. The syntax now is exactly as in PostgreSQL and MySQL. Add support for WHERE clauses on the conflict-target phrase, for partial indexes. check-in: 2c1b1987 user: drh tags: upsert
01:15
Begin adding upsert logic. This is an incremental check-in. check-in: 80969643 user: drh tags: upsert
2018-04-12
21:42
Break out the upsert code into a separate source file. check-in: 389806b0 user: drh tags: upsert
20:21
Fix another typo in a comment. check-in: 046bb6d2 user: drh tags: upsert
19:51
Simple comment clarification. No code or logic changes. check-in: a26f9c9f user: drh tags: upsert
17:28
Extend the upsert syntax to allow a WHERE clause on the UPDATE. check-in: e4396c54 user: drh tags: upsert
15:43
Update the upsert parsing so that it accepts conflict-target labels using the PostgreSQL syntax, and also accepts the MySQL "ON DUPLICATE KEY" syntax. check-in: c48f64d8 user: drh tags: upsert
13:15
Add the Upsert object for holding upsert clause information. check-in: d83eaed5 user: drh tags: upsert
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. Leaf 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
00:30
Update the top-level README.md file to point to the whynotget.html document. check-in: 7dfd4543 user: drh tags: upsert
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