nocfbot-0015-Narrow-variable-scope-DEFINE-loop.txt
text/plain
Filename: nocfbot-0015-Narrow-variable-scope-DEFINE-loop.txt
Type: text/plain
Part: 14
Message:
Re: Row pattern recognition
From e54dd341aef218be3dcce088ee46c4d35f24d482 Mon Sep 17 00:00:00 2001
From: Henson Choi <assam258@gmail.com>
Date: Tue, 7 Apr 2026 09:48:55 +0900
Subject: [PATCH 15/40] 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)