diff options
Diffstat (limited to 'src/backend/executor/nodeLimit.c')
-rw-r--r-- | src/backend/executor/nodeLimit.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/backend/executor/nodeLimit.c b/src/backend/executor/nodeLimit.c index 1b91b123faf..75e4302b94e 100644 --- a/src/backend/executor/nodeLimit.c +++ b/src/backend/executor/nodeLimit.c @@ -542,6 +542,8 @@ ExecEndLimit(LimitState *node) void ExecReScanLimit(LimitState *node) { + PlanState *outerPlan = outerPlanState(node); + /* * Recompute limit/offset in case parameters changed, and reset the state * machine. We must do this before rescanning our child node, in case @@ -553,6 +555,6 @@ ExecReScanLimit(LimitState *node) * if chgParam of subnode is not null then plan will be re-scanned by * first ExecProcNode. */ - if (node->ps.lefttree->chgParam == NULL) - ExecReScan(node->ps.lefttree); + if (outerPlan->chgParam == NULL) + ExecReScan(outerPlan); } |