Log In - Home Page

Patch: INSERT ... ON CONFLICT {UPDATE | IGNORE}

Edit Patch - Move To Another CommitFest - Delete Patch

CommitFest 2014-12
Topic SQL Commands
Patch Status Needs Review
Author Peter Geoghegan
Reviewers Nobody
Committer Nobody
Close Date (None)
Comments
Patch by pgeoghegan on 2014-08-28 02:45:16 AM: Initial version.
Patch by pgeoghegan on 2014-09-02 05:28:51 PM: Revision with fixes for a few bugs (rewriteTargetListIU() is called for auxiliary statement, restrictions on disallowed subqueries are more consistently applied)
Patch by pgeoghegan on 2014-09-24 02:17:22 AM: V1.2 - features CONFLICTING expression for UPDATE targetlist, and more accurate EXPLAIN output.
Patch by pgeoghegan on 2014-09-28 12:38:28 AM: User-visible documentation
Patch by pgeoghegan on 2014-10-07 02:32:48 AM: Patch with approach #2 to value locking (see https://wiki.postgresql.org/wiki/Value_locking for explanation).
Comment by pgeoghegan on 2014-10-07 04:09:30 AM: Patch with approach #2 is not intended to supersede original V1.2 (not yet, anyway). Discussion ongoing.
Comment by ringerc on 2014-10-17 04:46:30 AM: Additional detail can be found on http://wiki.postgresql.org/wiki/UPSERT
Patch by pgeoghegan on 2014-10-24 01:44:08 AM: v1.3 - unique index inference from columns/expressions in clause. Mandatory for UPDATE variant.
Patch by pgeoghegan on 2014-11-10 11:48:13 PM: V1.4 - Alias-like syntax (i.e. reference excluded tuples in UPDATE using EXCLUDED.*), costing of arbiter unique indexes, postgres_fdw support.
Comment by pgeoghegan on 2014-11-21 10:14:34 PM: How do people feel about RETURNING behavior?
Patch by pgeoghegan on 2014-11-27 01:00:39 AM: V1.5 - New RETURNING behavior (updated tuples now projected), command tag format.
Comment by pgeoghegan on 2014-12-02 09:49:05 AM: Wiki page at http://wiki.postgresql.org/wiki/UPSERT heavily revised to reflect current state of the patch
Patch by pgeoghegan on 2014-12-09 04:17:21 AM: v1.6 - slight tweak to per-statement trigger behavior. Documentation and comment tweaks, too.
Comment by pgeoghegan on 2014-12-11 06:13:16 AM: Is it important to expose distinction between INSERT and INSERT IGNORE/ON CONFLICT UPDATE to triggers?
Comment by jjanes on 2014-12-15 10:14:35 PM: oid conflict on OID 3261 in patch 0002-Support-INSERT-.-ON-CONFLICT-UPDATE-IGNORE.patch
Patch by pgeoghegan on 2014-12-16 07:15:17 AM: V1.7 - Revision with small tweaks, mostly polishing of approach #2 to Value locking
Review by pgeoghegan on 2014-12-18 02:11:24 AM: Questions from Heikki
Review by michael-kun on 2014-12-22 01:59:21 AM: More comments from Heikki
Review by michael-kun on 2014-12-22 02:00:29 AM: Tests from Jeff, crash found
Patch by michael-kun on 2014-12-22 02:01:01 AM: New patch addressing crash problems.
Comment by pgeoghegan on 2014-12-27 12:24:55 AM: Should unique index inference clause formally not care about use of alternative opclasses for available, otherwise-suitable unique indexes?
Patch by pgeoghegan on 2014-12-28 11:20:26 PM: V1.8 - Revision that primarily extends "unique index inference specification" clause to support partial indexes (this is particularly important for UPSERTing with partial unique indexes).
Review by pgeoghegan on 2014-12-30 10:21:26 PM: Jeff Janes reports concurrency bugs affecting implementation of approach #2 to value locking only
Review by pgeoghegan on 2015-01-03 01:43:37 AM: Doubts emerge about the ability of any value locking implementation to maintain the useful ON CONFLICT guarantees with exclusion constraints (which might otherwise work with IGNORE).
Patch by pgeoghegan on 2015-01-11 04:35:45 AM: V2.0 - Revision that adds RLS support. This closes out all open issues with support for/by interrelated features (e.g. inheritance, updatable views). Semantics now seem all but settled.
Comment by pgeoghegan on 2015-01-18 02:49:31 AM: Can we cut scope, by removing the problematic exclusion constraint support for the IGNORE variant?

Add Comment

Please log in to comment on this patch.