Fix failure to detect some cases of improperly-nested aggregates. check_agg_arguments_walker() supposed that it needn't descend into the arguments of a lower-level aggregate function, but this is just wrong in the presence of multiple levels of sub-select. The oversight would lead to executor failures on queries that should be rejected. (Prior to v11, they actually were rejected, thanks to a "redundant" execution-time check.)
Per bug #17835 from Anban Company. Back-patch to all supported branches. Discussion: https://postgr.es/m/[email protected] Branch ------ REL_15_STABLE Details ------- https://git.postgresql.org/pg/commitdiff/5fd61bdc114f85ce57da1f139c8bda0f41d1951b Modified Files -------------- src/backend/parser/parse_agg.c | 3 +-- src/test/regress/expected/aggregates.out | 6 ++++++ src/test/regress/sql/aggregates.sql | 3 +++ 3 files changed, 10 insertions(+), 2 deletions(-)
