diff options
Diffstat (limited to 'src/backend/optimizer/prep/prepunion.c')
-rw-r--r-- | src/backend/optimizer/prep/prepunion.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/backend/optimizer/prep/prepunion.c b/src/backend/optimizer/prep/prepunion.c index b90fee387b4..cd40afce767 100644 --- a/src/backend/optimizer/prep/prepunion.c +++ b/src/backend/optimizer/prep/prepunion.c @@ -1389,9 +1389,14 @@ expand_inherited_rtentry(PlannerInfo *root, RangeTblEntry *rte, Index rti) newrc->prti = rti; newrc->rowmarkId = oldrc->rowmarkId; newrc->markType = oldrc->markType; + newrc->allMarkTypes = (1 << newrc->markType); + newrc->strength = oldrc->strength; newrc->waitPolicy = oldrc->waitPolicy; newrc->isParent = false; + /* Include child's rowmark type in parent's allMarkTypes */ + oldrc->allMarkTypes |= newrc->allMarkTypes; + root->rowMarks = lappend(root->rowMarks, newrc); } |