diff options
author | Neil Conway <neilc@samurai.com> | 2006-03-10 20:15:28 +0000 |
---|---|---|
committer | Neil Conway <neilc@samurai.com> | 2006-03-10 20:15:28 +0000 |
commit | 0ebf1cc83465a4058c172d74c823cce0bebe0e11 (patch) | |
tree | 40fc45919c06e9177a6ae5128a89b65773d36f16 /src/include/utils/builtins.h | |
parent | ab812ef3260adb8f12e0fbc66a32080283def0e2 (diff) | |
download | postgresql-0ebf1cc83465a4058c172d74c823cce0bebe0e11.tar.gz postgresql-0ebf1cc83465a4058c172d74c823cce0bebe0e11.zip |
Implement 4 new aggregate functions from SQL2003. Specifically: var_pop(),
var_samp(), stddev_pop(), and stddev_samp(). var_samp() and stddev_samp()
are just renamings of the historical Postgres aggregates variance() and
stddev() -- the latter names have been kept for backward compatibility.
This patch includes updates for the documentation and regression tests.
The catversion has been bumped.
NB: SQL2003 requires that DISTINCT not be specified for any of these
aggregates. Per discussion on -patches, I have NOT implemented this
restriction: if the user asks for stddev(DISTINCT x), presumably they
know what they are doing.
Diffstat (limited to 'src/include/utils/builtins.h')
-rw-r--r-- | src/include/utils/builtins.h | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/src/include/utils/builtins.h b/src/include/utils/builtins.h index 9de735d770d..3c484169740 100644 --- a/src/include/utils/builtins.h +++ b/src/include/utils/builtins.h @@ -7,7 +7,7 @@ * Portions Copyright (c) 1996-2006, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $PostgreSQL: pgsql/src/include/utils/builtins.h,v 1.276 2006/03/05 15:59:06 momjian Exp $ + * $PostgreSQL: pgsql/src/include/utils/builtins.h,v 1.277 2006/03/10 20:15:27 neilc Exp $ * *------------------------------------------------------------------------- */ @@ -340,8 +340,10 @@ extern Datum setseed(PG_FUNCTION_ARGS); extern Datum float8_accum(PG_FUNCTION_ARGS); extern Datum float4_accum(PG_FUNCTION_ARGS); extern Datum float8_avg(PG_FUNCTION_ARGS); -extern Datum float8_variance(PG_FUNCTION_ARGS); -extern Datum float8_stddev(PG_FUNCTION_ARGS); +extern Datum float8_var_pop(PG_FUNCTION_ARGS); +extern Datum float8_var_samp(PG_FUNCTION_ARGS); +extern Datum float8_stddev_pop(PG_FUNCTION_ARGS); +extern Datum float8_stddev_samp(PG_FUNCTION_ARGS); extern Datum float48pl(PG_FUNCTION_ARGS); extern Datum float48mi(PG_FUNCTION_ARGS); extern Datum float48mul(PG_FUNCTION_ARGS); @@ -814,8 +816,10 @@ extern Datum int2_accum(PG_FUNCTION_ARGS); extern Datum int4_accum(PG_FUNCTION_ARGS); extern Datum int8_accum(PG_FUNCTION_ARGS); extern Datum numeric_avg(PG_FUNCTION_ARGS); -extern Datum numeric_variance(PG_FUNCTION_ARGS); -extern Datum numeric_stddev(PG_FUNCTION_ARGS); +extern Datum numeric_var_pop(PG_FUNCTION_ARGS); +extern Datum numeric_var_samp(PG_FUNCTION_ARGS); +extern Datum numeric_stddev_pop(PG_FUNCTION_ARGS); +extern Datum numeric_stddev_samp(PG_FUNCTION_ARGS); extern Datum int2_sum(PG_FUNCTION_ARGS); extern Datum int4_sum(PG_FUNCTION_ARGS); extern Datum int8_sum(PG_FUNCTION_ARGS); |