diff --git a/src/backend/nodes/nodeFuncs.c b/src/backend/nodes/nodeFuncs.c index 4a2447409a9e7c84678e14746c65fdf45eedd036..a11cb9ff4d10fe657800299711301f93b7c60bf9 100644 --- a/src/backend/nodes/nodeFuncs.c +++ b/src/backend/nodes/nodeFuncs.c @@ -3428,6 +3428,7 @@ bool planstate_tree_walker(PlanState *planstate, bool (*walker) (), void *context) { Plan *plan = planstate->plan; + ListCell *lc; /* initPlan-s */ if (planstate_walk_subplans(planstate->initPlan, walker, context)) @@ -3484,6 +3485,13 @@ planstate_tree_walker(PlanState *planstate, bool (*walker) (), void *context) if (walker(((SubqueryScanState *) planstate)->subplan, context)) return true; break; + case T_CustomScan: + foreach (lc, ((CustomScanState *) planstate)->custom_ps) + { + if (walker((PlanState *) lfirst(lc), context)) + return true; + } + break; default: break; }