]> granicus.if.org Git - postgresql/commit
Remove the new UPSERT command tag and use INSERT instead.
authorAndres Freund <andres@anarazel.de>
Fri, 22 May 2015 22:49:27 +0000 (00:49 +0200)
committerAndres Freund <andres@anarazel.de>
Fri, 22 May 2015 22:58:45 +0000 (00:58 +0200)
commit631d7490074cdaef8026db57a5f2772b8730f600
tree56d0aee92bbe994583e095111f9ea23135c31d1c
parent49ad32d5d99cb4a79bf648c0b7f9eca19b54cf1d
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
doc/src/sgml/protocol.sgml
doc/src/sgml/ref/insert.sgml
src/backend/nodes/copyfuncs.c
src/backend/nodes/outfuncs.c
src/backend/optimizer/plan/planner.c
src/backend/tcop/pquery.c
src/bin/psql/common.c
src/include/catalog/catversion.h
src/include/nodes/plannodes.h