pgsql: Make pull_var_clause() handle GroupingFuncs exactly like Aggrefs - Mailing list pgsql-committers

From Tom Lane
Subject pgsql: Make pull_var_clause() handle GroupingFuncs exactly like Aggrefs
Date
Msg-id E1npAnR-000MUE-Vy@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
Make pull_var_clause() handle GroupingFuncs exactly like Aggrefs.

This follows in the footsteps of commit 2591ee8ec by removing one more
ill-advised shortcut from planning of GroupingFuncs.  It's true that
we don't intend to execute the argument expression(s) at runtime, but
we still have to process any Vars appearing within them, or we risk
failure at setrefs.c time (or more fundamentally, in EXPLAIN trying
to print such an expression).  Vars in upper plan nodes have to have
referents in the next plan level, whether we ever execute 'em or not.

Per bug #17479 from Michael J. Sullivan.  Back-patch to all supported
branches.

Richard Guo

Discussion: https://postgr.es/m/17479-6260deceaf0ad304@postgresql.org

Branch
------
REL_11_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/7f7f1750d4ca7b03ca0bfc2b89dd466816514fe6

Modified Files
--------------
src/backend/optimizer/util/var.c           | 10 +----
src/test/regress/expected/groupingsets.out | 64 ++++++++++++++++++++++++++++++
src/test/regress/sql/groupingsets.sql      | 23 +++++++++++
3 files changed, 89 insertions(+), 8 deletions(-)


pgsql-committers by date:

Previous
From: Bruce Momjian
Date:
Subject: pgsql: relnotes: adjust several logical replication items and FK text
Next
From: Andres Freund
Date:
Subject: pgsql: Mark a few 'bbsink' related functions / variables static.