mirror of
https://github.com/postgres/postgres.git
synced 2025-06-27 23:21:58 +03:00
Teach map_partition_varattnos to handle whole-row expressions.
Otherwise, partitioned tables with RETURNING expressions or subject to a WITH CHECK OPTION do not work properly. Amit Langote, reviewed by Amit Khandekar and Etsuro Fujita. A few comment changes by me. Discussion: http://postgr.es/m/9a39df80-871e-6212-0684-f93c83be4097@lab.ntt.co.jp
This commit is contained in:
@ -1996,7 +1996,7 @@ ExecInitModifyTable(ModifyTable *node, EState *estate, int eflags)
|
||||
/* varno = node->nominalRelation */
|
||||
mapped_wcoList = map_partition_varattnos(wcoList,
|
||||
node->nominalRelation,
|
||||
partrel, rel);
|
||||
partrel, rel, NULL);
|
||||
foreach(ll, mapped_wcoList)
|
||||
{
|
||||
WithCheckOption *wco = castNode(WithCheckOption, lfirst(ll));
|
||||
@ -2069,7 +2069,7 @@ ExecInitModifyTable(ModifyTable *node, EState *estate, int eflags)
|
||||
/* varno = node->nominalRelation */
|
||||
rlist = map_partition_varattnos(returningList,
|
||||
node->nominalRelation,
|
||||
partrel, rel);
|
||||
partrel, rel, NULL);
|
||||
resultRelInfo->ri_projectReturning =
|
||||
ExecBuildProjectionInfo(rlist, econtext, slot, &mtstate->ps,
|
||||
resultRelInfo->ri_RelationDesc->rd_att);
|
||||
|
Reference in New Issue
Block a user