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(-)