From: David Rowley Date: Sat, 29 Nov 2025 23:55:34 +0000 (+1300) Subject: Don't call simplify_aggref with a NULL PlannerInfo X-Git-Url: http://git.postgresql.org/gitweb/?a=commitdiff_plain;h=HEAD;p=postgresql.git Don't call simplify_aggref with a NULL PlannerInfo 42473b3b3 added prosupport infrastructure to allow simplification of Aggrefs during constant-folding. In some cases the context->root that's given to eval_const_expressions_mutator() can be NULL. 42473b3b3 failed to take that into account, which could result in a crash. To fix, add a check and only call simplify_aggref() when the PlannerInfo is set. Author: David Rowley Reported-by: Birler, Altan Discussion: https://postgr.es/m/132d4da23b844d5ab9e352d34096eab5@tum.de --- diff --git a/src/backend/optimizer/util/clauses.c b/src/backend/optimizer/util/clauses.c index 9975185934b..bda4c4eb292 100644 --- a/src/backend/optimizer/util/clauses.c +++ b/src/backend/optimizer/util/clauses.c @@ -2638,7 +2638,9 @@ eval_const_expressions_mutator(Node *node, } case T_Aggref: node = ece_generic_processing(node); - return simplify_aggref((Aggref *) node, context); + if (context->root != NULL) + return simplify_aggref((Aggref *) node, context); + return node; case T_OpExpr: { OpExpr *expr = (OpExpr *) node;