SQLite

Timeline
Login

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

48 check-ins using file src/vdbeaux.c version 0fdf9785

2018-04-24
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)
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)
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)
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)