diff options
author | Andres Freund <andres@anarazel.de> | 2015-09-28 19:12:48 +0200 |
---|---|---|
committer | Andres Freund <andres@anarazel.de> | 2015-09-28 19:29:44 +0200 |
commit | 617db3a2d8ad6abc0d7be623f43edc943a6640a8 (patch) | |
tree | f29d76a9394a393717290128a4cdac110cd90a5b /src/backend/executor/nodeModifyTable.c | |
parent | f40792a93ccdc4d01c448121da67693fc2f6297a (diff) | |
download | postgresql-617db3a2d8ad6abc0d7be623f43edc943a6640a8.tar.gz postgresql-617db3a2d8ad6abc0d7be623f43edc943a6640a8.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/nodeModifyTable.c')
-rw-r--r-- | src/backend/executor/nodeModifyTable.c | 2 |
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); |