From 366068f89fd0385c3231b2f1bd7d7e75f9641718 Mon Sep 17 00:00:00 2001 From: Henson Choi Date: Tue, 7 Apr 2026 09:48:55 +0900 Subject: [PATCH] Narrow variable scope in ExecInitWindowAgg DEFINE clause loop --- src/backend/executor/nodeWindowAgg.c | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/src/backend/executor/nodeWindowAgg.c b/src/backend/executor/nodeWindowAgg.c index dca2de570e8..0202c508323 100644 --- a/src/backend/executor/nodeWindowAgg.c +++ b/src/backend/executor/nodeWindowAgg.c @@ -2628,9 +2628,6 @@ ExecInitWindowAgg(WindowAgg *node, EState *estate, int eflags) TupleDesc scanDesc; ListCell *l; - TargetEntry *te; - Expr *expr; - /* check for unsupported flags */ Assert(!(eflags & (EXEC_FLAG_BACKWARD | EXEC_FLAG_MARK))); @@ -2951,13 +2948,11 @@ ExecInitWindowAgg(WindowAgg *node, EState *estate, int eflags) */ foreach(l, node->defineClause) { - char *name; + TargetEntry *te = lfirst(l); + char *name = te->resname; + Expr *expr = te->expr; ExprState *exps; - te = lfirst(l); - name = te->resname; - expr = te->expr; - winstate->defineVariableList = lappend(winstate->defineVariableList, makeString(pstrdup(name))); -- 2.50.1 (Apple Git-155)