]> granicus.if.org Git - postgresql/commit
Revise aggregate functions per earlier discussions in pghackers.
authorTom Lane <tgl@sss.pgh.pa.us>
Mon, 17 Jul 2000 03:05:41 +0000 (03:05 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Mon, 17 Jul 2000 03:05:41 +0000 (03:05 +0000)
commitbec98a31c55a4f799b398d01541e68d7c086bb81
tree14924bb5da2bc0a0f9bfac1aa5b32256fd996b9c
parent139f19c30221968e7d3bf64fe303cb41517e4601
Revise aggregate functions per earlier discussions in pghackers.
There's now only one transition value and transition function.
NULL handling in aggregates is a lot cleaner.  Also, use Numeric
accumulators instead of integer accumulators for sum/avg on integer
datatypes --- this avoids overflow at the cost of being a little slower.
Implement VARIANCE() and STDDEV() aggregates in the standard backend.

Also, enable new LIKE selectivity estimators by default.  Unrelated
change, but as long as I had to force initdb anyway...
55 files changed:
doc/src/sgml/catalogs.sgml
doc/src/sgml/ref/create_aggregate.sgml
doc/src/sgml/ref/drop_aggregate.sgml
doc/src/sgml/xaggr.sgml
src/backend/catalog/pg_aggregate.c
src/backend/commands/define.c
src/backend/commands/user.c
src/backend/executor/execQual.c
src/backend/executor/execScan.c
src/backend/executor/nodeAgg.c
src/backend/executor/nodeHash.c
src/backend/executor/nodeHashjoin.c
src/backend/executor/nodeNestloop.c
src/backend/executor/nodeResult.c
src/backend/libpq/be-fsstubs.c
src/backend/nodes/copyfuncs.c
src/backend/nodes/equalfuncs.c
src/backend/nodes/outfuncs.c
src/backend/nodes/readfuncs.c
src/backend/parser/parse_agg.c
src/backend/postmaster/postmaster.c
src/backend/storage/lmgr/lock.c
src/backend/storage/smgr/md.c
src/backend/tcop/postgres.c
src/backend/tcop/pquery.c
src/backend/utils/adt/arrayfuncs.c
src/backend/utils/adt/float.c
src/backend/utils/adt/int.c
src/backend/utils/adt/numeric.c
src/backend/utils/adt/timestamp.c
src/bin/pg_dump/pg_dump.c
src/bin/pg_dump/pg_dump.h
src/include/c.h
src/include/catalog/catversion.h
src/include/catalog/pg_aggregate.h
src/include/catalog/pg_operator.h
src/include/catalog/pg_proc.h
src/include/nodes/primnodes.h
src/include/storage/lock.h
src/include/utils/array.h
src/include/utils/builtins.h
src/include/utils/numeric.h
src/include/utils/timestamp.h
src/pl/tcl/test/test_setup.sql
src/test/regress/expected/aggregates.out
src/test/regress/expected/create_aggregate.out
src/test/regress/expected/errors.out
src/test/regress/expected/oidjoins.out
src/test/regress/expected/opr_sanity.out
src/test/regress/sql/aggregates.sql
src/test/regress/sql/create_aggregate.sql
src/test/regress/sql/errors.sql
src/test/regress/sql/oidjoins.sql
src/test/regress/sql/opr_sanity.sql
src/tutorial/complex.source