aboutsummaryrefslogtreecommitdiff
path: root/src/backend/executor
diff options
context:
space:
mode:
authorAndres Freund <andres@anarazel.de>2015-09-28 19:12:48 +0200
committerAndres Freund <andres@anarazel.de>2015-09-28 19:30:03 +0200
commit90586ef127c593002897ee0bcafdf2adb6a18c7d (patch)
tree5424e40bba124300a898e99466638ab8305b4890 /src/backend/executor
parent80e2694b284cd9395b1ee8ef476f5f720ee50566 (diff)
downloadpostgresql-90586ef127c593002897ee0bcafdf2adb6a18c7d.tar.gz
postgresql-90586ef127c593002897ee0bcafdf2adb6a18c7d.zip
Fix ON CONFLICT DO UPDATE for tables with oids.
When taking the UPDATE path in an INSERT .. ON CONFLICT .. UPDATE tables with oids were not supported. The tuple generated by the update target list was projected without space for an oid - a simple oversight. Reported-By: Peter Geoghegan Author: Andres Freund Backpatch: 9.5, where ON CONFLICT was introduced
Diffstat (limited to 'src/backend/executor')
-rw-r--r--src/backend/executor/nodeModifyTable.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/backend/executor/nodeModifyTable.c b/src/backend/executor/nodeModifyTable.c
index 1ef76d09285..dabaea99109 100644
--- a/src/backend/executor/nodeModifyTable.c
+++ b/src/backend/executor/nodeModifyTable.c
@@ -1678,7 +1678,7 @@ ExecInitModifyTable(ModifyTable *node, EState *estate, int eflags)
/* create target slot for UPDATE SET projection */
tupDesc = ExecTypeFromTL((List *) node->onConflictSet,
- false);
+ resultRelInfo->ri_RelationDesc->rd_rel->relhasoids);
mtstate->mt_conflproj = ExecInitExtraTupleSlot(mtstate->ps.state);
ExecSetSlotDescriptor(mtstate->mt_conflproj, tupDesc);