Allow UDA intermediates to use CHAR. Update stddev/var to use it.

Change-Id: I791c6389978f4994cba33f01273e94343a163916
Reviewed-on: http://gerrit.sjc.cloudera.com:8080/4368
Reviewed-by: Skye Wanderman-Milne <skye@cloudera.com>
Tested-by: jenkins
This commit is contained in:
Skye Wanderman-Milne
2014-09-23 11:34:22 -07:00
committed by Nong Li
parent b554c99fa8
commit f2b01997df
6 changed files with 90 additions and 65 deletions

View File

@@ -17,9 +17,9 @@ SELECT variance(tinyint_col), stddev(smallint_col), variance_pop(int_col),
stddev_pop(bigint_col)
from alltypesagg WHERE id = -9999999
---- RESULTS
NULL,'NULL','NULL','NULL'
NULL,NULL,NULL,NULL
---- TYPES
double, string, string, string
double, double, double, double
====
---- QUERY
# exactly 1 tuple processed (variance & stddev are 0)
@@ -27,9 +27,9 @@ SELECT variance(tinyint_col), stddev(smallint_col), variance_pop(int_col),
stddev_pop(bigint_col)
from alltypesagg WHERE id = 1006
---- RESULTS
0,'0','0','0'
0,0,0,0
---- TYPES
double, string, string, string
double, double, double, double
====
---- QUERY
# Includes one row which is null
@@ -46,28 +46,36 @@ SELECT variance_pop(tinyint_col), variance_pop(smallint_col), variance_pop(int_c
variance_pop(bigint_col), variance_pop(float_col), variance_pop(double_col)
from alltypesagg WHERE id >= 1000 AND id < 1006
---- RESULTS
'2','2','2','200','2.42','204.02'
2,2,2,200,2.42,204.02
---- TYPES
string, string, string, string, string, string
double, double, double, double, double, double
====
---- QUERY
SELECT stddev(tinyint_col), stddev(smallint_col), stddev(int_col), stddev(bigint_col),
stddev(float_col), stddev(double_col)
SELECT round(stddev(tinyint_col), 5),
round(stddev(smallint_col), 5),
round(stddev(int_col), 5),
round(stddev(bigint_col), 5),
round(stddev(float_col), 5),
round(stddev(double_col), 5)
from alltypesagg WHERE id >= 1000 AND id < 1006
---- RESULTS
'1.58114','1.58114','1.58114','15.8114','1.73925','15.9695'
1.58114,1.58114,1.58114,15.81139,1.73925,15.96950
---- TYPES
string, string, string, string, string, string
double, double, double, double, double, double
====
---- QUERY
# no grouping exprs, cols contain nulls except for bool cols
SELECT stddev_pop(tinyint_col), stddev_pop(smallint_col), stddev_pop(int_col),
stddev_pop(bigint_col), stddev_pop(float_col), stddev_pop(double_col)
SELECT round(stddev_pop(tinyint_col), 5),
round(stddev_pop(smallint_col), 5),
round(stddev_pop(int_col), 5),
round(stddev_pop(bigint_col), 5),
round(stddev_pop(float_col), 5),
round(stddev_pop(double_col), 5)
from alltypesagg WHERE id >= 1000 AND id < 1006
---- RESULTS
'1.41421','1.41421','1.41421','14.1421','1.55563','14.2836'
1.41421,1.41421,1.41421,14.14214,1.55563,14.28356
---- TYPES
string, string, string, string, string, string
double, double, double, double, double, double
====
---- QUERY
# no grouping exprs, cols contain nulls except for bool cols