From: David Rowley Date: Fri, 14 May 2021 00:26:11 +0000 (+1200) Subject: Convert misleading while loop into an if condition X-Git-Tag: REL_14_BETA1~20 X-Git-Url: http://git.postgresql.org/gitweb/?a=commitdiff_plain;h=6cb93beddd33d00e0ce2ee55edfa32cd2a935394;p=postgresql.git Convert misleading while loop into an if condition This seems to be leftover from ea15e1867 and from when we used to evaluate SRFs at each node. Since there is an unconditional "return" at the end of the loop body, only 1 loop is ever possible, so we can just change this into an if condition. There is no actual bug being fixed here so no back-patch. It seems fine to just fix this anomaly in master only. Author: Greg Nancarrow Discussion: https://postgr.es/m/CAJcOf-d7T1q0az-D8evWXnsuBZjigT04WkV5hCAOEJQZRWy28w@mail.gmail.com --- diff --git a/src/backend/executor/nodeResult.c b/src/backend/executor/nodeResult.c index 1762b87c999..0946af0a549 100644 --- a/src/backend/executor/nodeResult.c +++ b/src/backend/executor/nodeResult.c @@ -103,7 +103,7 @@ ExecResult(PlanState *pstate) * called, OR that we failed the constant qual check. Either way, now we * are through. */ - while (!node->rs_done) + if (!node->rs_done) { outerPlan = outerPlanState(node);