From 24e1a045915215a7276d80654731a9823801558b Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Thu, 1 Dec 2005 22:07:59 +0000 Subject: [PATCH] Split out MERGE and REPLACE/UPSERT items. < * Add MERGE command that does UPDATE/DELETE, or on failure, INSERT (rules, < triggers?) > * Add SQL-standard MERGE command, typically used to merge two tables > > This is similar to UPDATE, then for unmatched rows, INSERT. > Whether concurrent access allows modifications which could cause > row loss is implementation independent. > > * Add REPLACE or UPSERT command that does UPDATE, or on failure, INSERT --- doc/TODO | 11 ++++++++--- doc/src/FAQ/TODO.html | 10 +++++++--- 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/doc/TODO b/doc/TODO index b43b45d89e..ec8b12abe5 100644 --- a/doc/TODO +++ b/doc/TODO @@ -2,7 +2,7 @@ PostgreSQL TODO List ==================== Current maintainer: Bruce Momjian (pgman@candle.pha.pa.us) -Last updated: Mon Nov 28 21:02:36 EST 2005 +Last updated: Thu Dec 1 17:07:44 EST 2005 The most recent version of this document can be viewed at http://www.postgresql.org/docs/faqs.TODO.html. @@ -369,8 +369,13 @@ SQL Commands information. * Add a GUC variable to warn about non-standard SQL usage in queries -* Add MERGE command that does UPDATE/DELETE, or on failure, INSERT (rules, - triggers?) +* Add SQL-standard MERGE command, typically used to merge two tables + + This is similar to UPDATE, then for unmatched rows, INSERT. + Whether concurrent access allows modifications which could cause + row loss is implementation independent. + +* Add REPLACE or UPSERT command that does UPDATE, or on failure, INSERT To implement this cleanly requires that the table have a unique index so duplicate checking can be easily performed. It is possible to diff --git a/doc/src/FAQ/TODO.html b/doc/src/FAQ/TODO.html index 527e4e1b20..6b00a6b1db 100644 --- a/doc/src/FAQ/TODO.html +++ b/doc/src/FAQ/TODO.html @@ -8,7 +8,7 @@

PostgreSQL TODO List

Current maintainer: Bruce Momjian (pgman@candle.pha.pa.us)
-Last updated: Mon Nov 28 21:02:36 EST 2005 +Last updated: Thu Dec 1 17:07:44 EST 2005

The most recent version of this document can be viewed at
http://www.postgresql.org/docs/faqs.TODO.html. @@ -339,8 +339,12 @@ first. information.

  • Add a GUC variable to warn about non-standard SQL usage in queries -
  • Add MERGE command that does UPDATE/DELETE, or on failure, INSERT (rules, - triggers?) +
  • Add SQL-standard MERGE command, typically used to merge two tables +

    This is similar to UPDATE, then for unmatched rows, INSERT. + Whether concurrent access allows modifications which could cause + row loss is implementation independent. +

    +
  • Add REPLACE or UPSERT command that does UPDATE, or on failure, INSERT

    To implement this cleanly requires that the table have a unique index so duplicate checking can be easily performed. It is possible to do it without a unique index if we require the user to LOCK the table