pgsql-server/ oc/src/sgml/syntax.sgml rc/backe ...

Started by Tom Laneabout 23 years ago1 messagescomitters
Jump to latest
#1Tom Lane
tgl@sss.pgh.pa.us

CVSROOT: /cvsroot
Module name: pgsql-server
Changes by: tgl@svr1.postgresql.org 03/06/06 15:04:03

Modified files:
doc/src/sgml : syntax.sgml
src/backend/catalog: heap.c
src/backend/commands: tablecmds.c typecmds.c
src/backend/executor: nodeAgg.c nodeSubplan.c
src/backend/nodes: copyfuncs.c equalfuncs.c outfuncs.c
readfuncs.c
src/backend/optimizer/plan: planner.c subselect.c
src/backend/optimizer/util: clauses.c var.c
src/backend/parser: analyze.c parse_agg.c parse_clause.c
parse_func.c
src/backend/rewrite: rewriteManip.c
src/include/catalog: catversion.h
src/include/nodes: primnodes.h
src/include/optimizer: subselect.h var.h
src/include/parser: parse_agg.h
src/test/regress/expected: aggregates.out
src/test/regress/sql: aggregates.sql

Log message:
Implement outer-level aggregates to conform to the SQL spec, with
extensions to support our historical behavior. An aggregate belongs
to the closest query level of any of the variables in its argument,
or the current query level if there are no variables (e.g., COUNT(*)).
The implementation involves adding an agglevelsup field to Aggref,
and treating outer aggregates like outer variables at planning time.