/ Timeline
Login

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

41 check-ins related to "upsert"

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)