Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit0510421

Browse files
committed
Tweak use of ExecContextForcesOids by Gather (Merge).
Specifically, pass the outer plan's PlanState instead of our ownPlanState. At present, ExecContextForcesOids doesn't actually carewhich PlanState we pass; it just looks through to the underlyingEState to find the result relation or top-level eflags. However, inthe future it might care. If that happens, and if our goal is to geta tuple descriptor that matches that of the outer plan, then I thinkwhat we care about is whether the outer plan's context forces OIDs,rather than whether our own context forces OIDs, just as we use theouter node's target list rather than our own.Patch by me, reviewed by Amit Kapila.Discussion:http://postgr.es/m/CA+TgmoZ0ZL=cesZFq8c9NnfK6bqy-wwUd3_74iYGodYrSoQ7Fw@mail.gmail.com
1 parentf455e11 commit0510421

File tree

2 files changed

+2
-2
lines changed

2 files changed

+2
-2
lines changed

‎src/backend/executor/nodeGather.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ ExecInitGather(Gather *node, EState *estate, int eflags)
112112
/*
113113
* Initialize funnel slot to same tuple descriptor as outer plan.
114114
*/
115-
if (!ExecContextForcesOids(&gatherstate->ps,&hasoid))
115+
if (!ExecContextForcesOids(outerPlanState(gatherstate),&hasoid))
116116
hasoid= false;
117117
tupDesc=ExecTypeFromTL(outerNode->targetlist,hasoid);
118118
ExecSetSlotDescriptor(gatherstate->funnel_slot,tupDesc);

‎src/backend/executor/nodeGatherMerge.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,7 @@ ExecInitGatherMerge(GatherMerge *node, EState *estate, int eflags)
155155
* Store the tuple descriptor into gather merge state, so we can use it
156156
* while initializing the gather merge slots.
157157
*/
158-
if (!ExecContextForcesOids(&gm_state->ps,&hasoid))
158+
if (!ExecContextForcesOids(outerPlanState(gm_state),&hasoid))
159159
hasoid= false;
160160
tupDesc=ExecTypeFromTL(outerNode->targetlist,hasoid);
161161
gm_state->tupDesc=tupDesc;

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp