diff --git a/src/backend/executor/execMain.c b/src/backend/executor/execMain.c index 0abb620050b..de9aaf3f766 100644 --- a/src/backend/executor/execMain.c +++ b/src/backend/executor/execMain.c @@ -1727,15 +1727,7 @@ ExecutePlan(EState *estate, * process so we just end the loop... */ if (TupIsNull(slot)) - { - /* - * If we know we won't need to back up, we can release resources - * at this point. - */ - if (!(estate->es_top_eflags & EXEC_FLAG_BACKWARD)) - (void) ExecShutdownNode(planstate); break; - } /* * If we have a junk filter, then project a new tuple with the junk @@ -1778,17 +1770,16 @@ ExecutePlan(EState *estate, */ current_tuple_count++; if (numberTuples && numberTuples == current_tuple_count) - { - /* - * If we know we won't need to back up, we can release resources - * at this point. - */ - if (!(estate->es_top_eflags & EXEC_FLAG_BACKWARD)) - (void) ExecShutdownNode(planstate); break; - } } + /* + * If we know we won't need to back up, we can release resources at this + * point. + */ + if (!(estate->es_top_eflags & EXEC_FLAG_BACKWARD)) + (void) ExecShutdownNode(planstate); + if (use_parallel_mode) ExitParallelMode(); }