SQLite

Timeline
Login

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

50 check-ins occurring around 40b117347763ef67.

2018-04-20
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: d8eb9f8d9b user: dan tags: trunk)
13:18
Enhance UPSERT so that the UPDATE uses the same set of cursors as the INSERT. (check-in: c37f39d18d user: drh tags: trunk)
00:40
Minor simplification of the cursor allocation logic for update. (check-in: fdf71be658 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: c6f71115eb user: drh tags: trunk)
21:29
Minor simplification to the upsert logic. (check-in: e657c1d60f 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: 97dd21ab90 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: 893e6089c8 user: dan tags: trunk)
16:52
Add the --upsert option to the wordcount test program. (check-in: ee1e750baa 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: 22358fb549 user: drh tags: trunk)
13:52
Fix a problem in the new upsert implemention, discovered by OSSFuzz. (check-in: b6d5ea59fe 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: 861a2e2a48 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: ef74090a40 user: dan tags: trunk)
19:45
Minor changes to test script upsert4.test. (check-in: 0cb83c84d1 user: dan tags: trunk)
19:08
Avoid a NULL-pointer deref following OOM. (Closed-Leaf check-in: 413015c029 user: drh tags: sorter-reference)
18:19
Fix a test case inside distinct.test. (check-in: 61cb8a391a user: drh tags: trunk)
18:18
Improved matching of COLLATE clauses within the ON CONFLICT conflict-target. (check-in: 8f4376e52b user: drh tags: trunk)
17:56
Add extra test cases for UPSERT. (check-in: 7ea08d0750 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: fb16348a5b user: drh tags: trunk)
16:03
Add support for PostgreSQL UPSERT syntax and functionality. (check-in: fba24aec23 user: drh tags: trunk)
15:33
Fix the build for SQLITE_OMIT_UPSERT (Closed-Leaf check-in: 3295651917 user: drh tags: upsert)
15:21
Add the --sorterref N option to the CLI. (check-in: 902a40897f 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: f3596ab9eb user: drh tags: sorter-reference)
14:04
Remove an unused local variable. (check-in: 9afeb0c88b user: drh tags: sorter-reference)
11:35
Enhance ALTER TABLE ADD COLUMN to support "DEFAULT true" and "DEFAULT false". (check-in: 594ebc6955 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: 40b1173477 user: drh tags: trunk)
09:16
Fix a problem in the shell preventing it from working with SQLITE_OMIT_AUTOINIT builds. (check-in: 89209000a2 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: 266a99f7c0 user: drh tags: upsert)
2018-04-17
21:59
Remove unreachable branches. 100% MC/DC in TH3 now. (check-in: 558865d5c3 user: drh tags: upsert)
20:09
Added a comment on the assert() added to the previous check-in. (check-in: 542547c1ce 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: 1ddbb0ff55 user: drh tags: upsert)
19:29
During PRAGMA vdbe_addoptrace=ON, show calls to sqlite3VdbeResolveLabel() in the debugging output. (check-in: 9ff07a06ce user: drh tags: upsert)
18:50
TK_REGISTER expressions nodes are probably not constant. Make sure sqlite3ExprIsConstant() knows this. (check-in: f3d91cad92 user: drh tags: upsert)
18:18
Simplification to the upsert logic. (check-in: f36d07a5b2 user: drh tags: upsert)
18:16
Add some more simple test cases for UPSERT. And a minor fix. (check-in: 27cd3b2fb2 user: dan tags: upsert)
16:16
New test cases for upsert. (check-in: 907b5a37c5 user: drh tags: upsert)
2018-04-16
21:12
Add SQLITE_CONFIG_SORTERREF_SIZE configuration option. (check-in: b25a7bb769 user: dan tags: sorter-reference)
14:36
Merge the Lemon enhancement from trunk, resulting in smaller parser tables. (check-in: 641f41722c 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: 3b7801acff 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: 810d9f63be user: drh tags: upsert)
13:00
Add support for the "excluded.*" names in the UPDATE clause of an upsert. (check-in: 0203f34faa user: drh tags: upsert)
10:47
Merge changes from trunk. (check-in: 54d96772e7 user: drh tags: upsert)
10:41
Increase the version number to 3.24.0 (check-in: f94528e1c7 user: drh tags: trunk)
10:34
Reduce the size of the NameContext object by grouping seldom-used fields into a union. (check-in: dba3095fee user: drh tags: trunk)
2018-04-14
22:35
Get upsert working on WITHOUT ROWID tables. (check-in: d3c53fd317 user: drh tags: upsert)
20:24
Make sure constraint checks occur in the correct order, even in the presence of upserts. (check-in: 07fb30c3de 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: 9719cb46bb user: dan tags: sorter-reference)
2018-04-13
21:55
First cut at logic to perform DO UPDATE for rowid tables. (check-in: a9080bc8b8 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: 6d3017f92b user: drh tags: upsert)
16:29
Merge the preupdate hook change from trunk. (check-in: 7353caabb3 user: drh tags: upsert)
16:23
Remove an always-true branch from the preupdate hook logic. (check-in: 0ab4518811 user: drh tags: trunk)