aboutsummaryrefslogtreecommitdiff
path: root/src/backend/utils/adt/float.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend/utils/adt/float.c')
-rw-r--r--src/backend/utils/adt/float.c16
1 files changed, 5 insertions, 11 deletions
diff --git a/src/backend/utils/adt/float.c b/src/backend/utils/adt/float.c
index 4220b4775a9..95206174eff 100644
--- a/src/backend/utils/adt/float.c
+++ b/src/backend/utils/adt/float.c
@@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/utils/adt/float.c,v 1.84 2003/03/11 21:01:33 tgl Exp $
+ * $Header: /cvsroot/pgsql/src/backend/utils/adt/float.c,v 1.85 2003/04/21 00:22:24 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@@ -1649,12 +1649,9 @@ float8_variance(PG_FUNCTION_ARGS)
sumX = transvalues[1];
sumX2 = transvalues[2];
- /* We define VARIANCE of no values to be NULL, of 1 value to be 0 */
- if (N == 0.0)
- PG_RETURN_NULL();
-
+ /* Sample variance is undefined when N is 0 or 1, so return NULL */
if (N <= 1.0)
- PG_RETURN_FLOAT8(0.0);
+ PG_RETURN_NULL();
numerator = N * sumX2 - sumX * sumX;
@@ -1680,12 +1677,9 @@ float8_stddev(PG_FUNCTION_ARGS)
sumX = transvalues[1];
sumX2 = transvalues[2];
- /* We define STDDEV of no values to be NULL, of 1 value to be 0 */
- if (N == 0.0)
- PG_RETURN_NULL();
-
+ /* Sample stddev is undefined when N is 0 or 1, so return NULL */
if (N <= 1.0)
- PG_RETURN_FLOAT8(0.0);
+ PG_RETURN_NULL();
numerator = N * sumX2 - sumX * sumX;