/ Timeline
Login

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

2018-04-18
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
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
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
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
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
15:14
Get the ON CONFLICT DO NOTHING form of upsert working by mapping it into INSERT OR IGNORE. check-in: d07f05e98b 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: 5bf7042562 user: drh tags: upsert
13:44
Improved conflict-target matching logic. check-in: 98d32ba661 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: 2c1b1987d8 user: drh tags: upsert
01:15
Begin adding upsert logic. This is an incremental check-in. check-in: 8096964340 user: drh tags: upsert
2018-04-12
21:42
Break out the upsert code into a separate source file. check-in: 389806b05f user: drh tags: upsert
20:21
Fix another typo in a comment. check-in: 046bb6d258 user: drh tags: upsert
19:51
Simple comment clarification. No code or logic changes. check-in: a26f9c9f89 user: drh tags: upsert
17:28
Extend the upsert syntax to allow a WHERE clause on the UPDATE. check-in: e4396c540a 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: c48f64d8ae user: drh tags: upsert
13:15
Add the Upsert object for holding upsert clause information. check-in: d83eaed539 user: drh tags: upsert
12:25
Merge changes from trunk. check-in: 9f6f11805e user: drh tags: upsert
2018-04-11
17:10
Help the parser run faster by avoiding the "explain ::= ." production. check-in: d7ec7b5970 user: drh tags: trunk
2018-04-10
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: a52e3cddea user: drh tags: trunk
00:30
Update the top-level README.md file to point to the whynotget.html document. check-in: 7dfd4543da user: drh tags: upsert
2018-04-07
15:04
More complete parsing of UPSERT, including UPSERT within a trigger. The sqlite3Insert() logic to actually perform the UPSERT is not yet implemented, however. check-in: 5cc2a5a315 user: drh tags: upsert
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: 9b22905b15 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: 602fbd8149 user: drh tags: trunk