pgsql: Aggregate functions now support multiple input arguments.

From: tgl(at)postgresql(dot)org (Tom Lane)
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Aggregate functions now support multiple input arguments.
Date: 2006-07-27 19:52:07
Message-ID: 20060727195207.B4BC89FB212@postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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)

Browse pgsql-committers by date

  From Date Subject
Next Message Joshua Reich 2006-07-27 19:56:27 Re: [PATCHES] [COMMITTERS] pgsql: /contrib/cube improvements:
Previous Message Andrew Dunstan 2006-07-27 19:46:28 Re: [PATCHES] [COMMITTERS] pgsql: /contrib/cube improvements: