pgsql: Remove the new UPSERT command tag and use INSERT instead.

Started by Andres Freundabout 11 years ago1 messagescomitters
Jump to latest
#1Andres Freund
andres@anarazel.de

Remove the new UPSERT command tag and use INSERT instead.

Previously, INSERT with ON CONFLICT DO UPDATE specified used a new
command tag -- UPSERT. It was introduced out of concern that INSERT as
a command tag would be a misrepresentation for ON CONFLICT DO UPDATE, as
some affected rows may actually have been updated.

Alvaro Herrera noticed that the implementation of that new command tag
was incomplete; in subsequent discussion we concluded that having it
doesn't provide benefits that are in line with the compatibility breaks
it requires.

Catversion bump due to the removal of PlannedStmt->isUpsert.

Author: Peter Geoghegan
Discussion: 20150520215816.GI5885@postgresql.org

Branch
------
master

Details
-------
http://git.postgresql.org/pg/commitdiff/631d7490074cdaef8026db57a5f2772b8730f600

Modified Files
--------------
doc/src/sgml/protocol.sgml | 13 +++----------
doc/src/sgml/ref/insert.sgml | 21 +++++++--------------
src/backend/nodes/copyfuncs.c | 1 -
src/backend/nodes/outfuncs.c | 1 -
src/backend/optimizer/plan/planner.c | 2 --
src/backend/tcop/pquery.c | 17 +++--------------
src/bin/psql/common.c | 5 +----
src/include/catalog/catversion.h | 2 +-
src/include/nodes/plannodes.h | 2 --
9 files changed, 15 insertions(+), 49 deletions(-)

--
Sent via pgsql-committers mailing list (pgsql-committers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-committers