pgsql: Aggregate functions now support multiple input arguments. - Mailing list pgsql-committers
From | tgl@postgresql.org (Tom Lane) |
---|---|
Subject | pgsql: Aggregate functions now support multiple input arguments. |
Date | |
Msg-id | 20060727195207.B4BC89FB212@postgresql.org Whole thread Raw |
List | pgsql-committers |
Log Message: ----------- Aggregate functions now support multiple input arguments. I also took the opportunity to treat COUNT(*) as a zero-argument aggregate instead of the old hack that equated it to COUNT(1); this is materially cleaner (no more weird ANYOID cases) and ought to be at least a tiny bit faster. Original patch by Sergey Koposov; review, documentation, simple regression tests, pg_dump and psql support by moi. Modified Files: -------------- pgsql/doc/src/sgml: sql.sgml (r1.40 -> r1.41) (http://developer.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/sql.sgml.diff?r1=1.40&r2=1.41) syntax.sgml (r1.107 -> r1.108) (http://developer.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/syntax.sgml.diff?r1=1.107&r2=1.108) xaggr.sgml (r1.31 -> r1.32) (http://developer.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/xaggr.sgml.diff?r1=1.31&r2=1.32) pgsql/doc/src/sgml/ref: alter_aggregate.sgml (r1.7 -> r1.8) (http://developer.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/ref/alter_aggregate.sgml.diff?r1=1.7&r2=1.8) comment.sgml (r1.30 -> r1.31) (http://developer.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/ref/comment.sgml.diff?r1=1.30&r2=1.31) create_aggregate.sgml (r1.34 -> r1.35) (http://developer.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/ref/create_aggregate.sgml.diff?r1=1.34&r2=1.35) drop_aggregate.sgml (r1.28 -> r1.29) (http://developer.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/ref/drop_aggregate.sgml.diff?r1=1.28&r2=1.29) psql-ref.sgml (r1.165 -> r1.166) (http://developer.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/ref/psql-ref.sgml.diff?r1=1.165&r2=1.166) pgsql/src/backend/catalog: pg_aggregate.c (r1.81 -> r1.82) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/catalog/pg_aggregate.c.diff?r1=1.81&r2=1.82) pgsql/src/backend/commands: aggregatecmds.c (r1.37 -> r1.38) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/aggregatecmds.c.diff?r1=1.37&r2=1.38) pgsql/src/backend/executor: execQual.c (r1.192 -> r1.193) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/executor/execQual.c.diff?r1=1.192&r2=1.193) nodeAgg.c (r1.144 -> r1.145) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/executor/nodeAgg.c.diff?r1=1.144&r2=1.145) pgsql/src/backend/nodes: copyfuncs.c (r1.343 -> r1.344) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/nodes/copyfuncs.c.diff?r1=1.343&r2=1.344) equalfuncs.c (r1.277 -> r1.278) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/nodes/equalfuncs.c.diff?r1=1.277&r2=1.278) outfuncs.c (r1.278 -> r1.279) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/nodes/outfuncs.c.diff?r1=1.278&r2=1.279) readfuncs.c (r1.191 -> r1.192) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/nodes/readfuncs.c.diff?r1=1.191&r2=1.192) pgsql/src/backend/optimizer/plan: planagg.c (r1.19 -> r1.20) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/plan/planagg.c.diff?r1=1.19&r2=1.20) pgsql/src/backend/optimizer/util: clauses.c (r1.214 -> r1.215) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/util/clauses.c.diff?r1=1.214&r2=1.215) pgsql/src/backend/parser: gram.y (r2.551 -> r2.552) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/parser/gram.y.diff?r1=2.551&r2=2.552) parse_agg.c (r1.72 -> r1.73) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/parser/parse_agg.c.diff?r1=1.72&r2=1.73) parse_func.c (r1.188 -> r1.189) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/parser/parse_func.c.diff?r1=1.188&r2=1.189) pgsql/src/backend/utils/adt: ruleutils.c (r1.228 -> r1.229) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/adt/ruleutils.c.diff?r1=1.228&r2=1.229) pgsql/src/bin/pg_dump: pg_dump.c (r1.441 -> r1.442) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/bin/pg_dump/pg_dump.c.diff?r1=1.441&r2=1.442) pg_dump.h (r1.126 -> r1.127) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/bin/pg_dump/pg_dump.h.diff?r1=1.126&r2=1.127) pgsql/src/bin/psql: describe.c (r1.141 -> r1.142) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/bin/psql/describe.c.diff?r1=1.141&r2=1.142) pgsql/src/include/catalog: catversion.h (r1.341 -> r1.342) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/catversion.h.diff?r1=1.341&r2=1.342) pg_aggregate.h (r1.55 -> r1.56) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_aggregate.h.diff?r1=1.55&r2=1.56) pg_proc.h (r1.417 -> r1.418) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_proc.h.diff?r1=1.417&r2=1.418) pgsql/src/include/nodes: execnodes.h (r1.154 -> r1.155) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/nodes/execnodes.h.diff?r1=1.154&r2=1.155) primnodes.h (r1.114 -> r1.115) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/nodes/primnodes.h.diff?r1=1.114&r2=1.115) pgsql/src/include/parser: parse_agg.h (r1.33 -> r1.34) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/parser/parse_agg.h.diff?r1=1.33&r2=1.34) pgsql/src/test/regress/expected: aggregates.out (r1.13 -> r1.14) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/test/regress/expected/aggregates.out.diff?r1=1.13&r2=1.14) create_aggregate.out (r1.4 -> r1.5) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/test/regress/expected/create_aggregate.out.diff?r1=1.4&r2=1.5) opr_sanity.out (r1.64 -> r1.65) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/test/regress/expected/opr_sanity.out.diff?r1=1.64&r2=1.65) polymorphism.out (r1.8 -> r1.9) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/test/regress/expected/polymorphism.out.diff?r1=1.8&r2=1.9) pgsql/src/test/regress/sql: aggregates.sql (r1.11 -> r1.12) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/test/regress/sql/aggregates.sql.diff?r1=1.11&r2=1.12) create_aggregate.sql (r1.5 -> r1.6) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/test/regress/sql/create_aggregate.sql.diff?r1=1.5&r2=1.6) opr_sanity.sql (r1.50 -> r1.51) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/test/regress/sql/opr_sanity.sql.diff?r1=1.50&r2=1.51) polymorphism.sql (r1.2 -> r1.3) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/test/regress/sql/polymorphism.sql.diff?r1=1.2&r2=1.3)
pgsql-committers by date: