You've already forked mariadb-columnstore-engine
mirror of
https://github.com/mariadb-corporation/mariadb-columnstore-engine.git
synced 2025-07-02 17:22:27 +03:00
Renamed variables + removed server tests
This commit is contained in:
@ -1,229 +0,0 @@
|
|||||||
DROP DATABASE IF EXISTS std_test_db;
|
|
||||||
CREATE DATABASE std_test_db;
|
|
||||||
USE std_test_db;
|
|
||||||
create table t1 (
|
|
||||||
col_signed tinyint,
|
|
||||||
col_unsigned tinyint unsigned
|
|
||||||
);
|
|
||||||
LOAD DATA LOCAL infile 'MTR_SUITE_DIR/../std_data/tinyint_range.tbl' INTO TABLE t1 FIELDS TERMINATED BY '|';;
|
|
||||||
ALTER TABLE t1 ADD COLUMN col_small_signed SMALLINT;
|
|
||||||
ALTER TABLE t1 ADD COLUMN col_small_unsigned SMALLINT UNSIGNED;
|
|
||||||
ALTER TABLE t1 ADD COLUMN col_med_signed MEDIUMINT;
|
|
||||||
ALTER TABLE t1 ADD COLUMN col_med_unsigned MEDIUMINT UNSIGNED;
|
|
||||||
ALTER TABLE t1 ADD COLUMN col_int_signed INT;
|
|
||||||
ALTER TABLE t1 ADD COLUMN col_int_unsigned INT UNSIGNED;
|
|
||||||
ALTER TABLE t1 ADD COLUMN col_big_signed BIGINT;
|
|
||||||
ALTER TABLE t1 ADD COLUMN col_big_unsigned BIGINT UNSIGNED;
|
|
||||||
ALTER TABLE t1 ADD COLUMN col_dec_signed DECIMAL(38,0);
|
|
||||||
ALTER TABLE t1 ADD COLUMN col_dec_unsigned DECIMAL(38,0) UNSIGNED;
|
|
||||||
ALTER TABLE t1 ADD COLUMN col_float_signed FLOAT;
|
|
||||||
ALTER TABLE t1 ADD COLUMN col_float_unsigned FLOAT UNSIGNED;
|
|
||||||
ALTER TABLE t1 ADD COLUMN col_double_signed DOUBLE;
|
|
||||||
ALTER TABLE t1 ADD COLUMN col_double_unsigned DOUBLE UNSIGNED;
|
|
||||||
UPDATE t1 SET col_small_signed=col_signed + sign(col_signed) * 32000;
|
|
||||||
UPDATE t1 SET col_small_unsigned=col_unsigned + 65000;
|
|
||||||
UPDATE t1 SET col_med_signed=col_signed + sign(col_signed) * 8388000;
|
|
||||||
UPDATE t1 SET col_med_unsigned=col_unsigned + 16776000;
|
|
||||||
UPDATE t1 SET col_int_signed=col_signed + sign(col_signed) * 2147483000;
|
|
||||||
UPDATE t1 SET col_int_unsigned=col_unsigned + 4294000000;
|
|
||||||
UPDATE t1 SET col_big_signed=col_signed + sign(col_signed) * 9223372036854775000;
|
|
||||||
UPDATE t1 SET col_big_unsigned=col_unsigned + 18446744073709551000;
|
|
||||||
UPDATE t1 SET col_dec_signed=col_signed + sign(col_signed) * 800000000000000000000000000000000001;
|
|
||||||
UPDATE t1 SET col_dec_unsigned=col_unsigned + 800000000000000000000000000000000003;
|
|
||||||
UPDATE t1 SET col_float_signed=col_signed + 0.637 + sign(col_signed) * 8388000;
|
|
||||||
UPDATE t1 SET col_float_unsigned=col_unsigned + 0.637 + 16776000;
|
|
||||||
UPDATE t1 SET col_double_signed=col_signed + 0.637 + sign(col_signed) * 2147483000;
|
|
||||||
UPDATE t1 SET col_double_unsigned=col_unsigned + 0.637 + 4294000000;
|
|
||||||
SELECT 'q1', floor(STD(col_signed)) FROM t1;
|
|
||||||
q1 floor(STD(col_signed))
|
|
||||||
q1 73
|
|
||||||
SELECT 'q2', floor(STD(col_unsigned)) FROM t1;
|
|
||||||
q2 floor(STD(col_unsigned))
|
|
||||||
q2 73
|
|
||||||
SELECT 'q3', floor(STD(col_small_signed)) FROM t1;
|
|
||||||
q3 floor(STD(col_small_signed))
|
|
||||||
q3 32000
|
|
||||||
SELECT 'q4', floor(STD(col_small_unsigned)) FROM t1;
|
|
||||||
q4 floor(STD(col_small_unsigned))
|
|
||||||
q4 73
|
|
||||||
SELECT 'q5', floor(STD(col_med_signed)) FROM t1;
|
|
||||||
q5 floor(STD(col_med_signed))
|
|
||||||
q5 8371470
|
|
||||||
SELECT 'q6', floor(STD(col_med_unsigned)) FROM t1;
|
|
||||||
q6 floor(STD(col_med_unsigned))
|
|
||||||
q6 73
|
|
||||||
SELECT 'q7', floor(STD(col_int_signed)) FROM t1;
|
|
||||||
q7 floor(STD(col_int_signed))
|
|
||||||
q7 2143234889
|
|
||||||
SELECT 'q8', floor(STD(col_int_unsigned)) FROM t1;
|
|
||||||
q8 floor(STD(col_int_unsigned))
|
|
||||||
q8 73
|
|
||||||
SELECT 'q9', floor(STD(col_big_signed)) FROM t1;
|
|
||||||
q9 floor(STD(col_big_signed))
|
|
||||||
q9 9205126264421171000
|
|
||||||
SELECT 'q10', floor(STD(col_big_unsigned)) FROM t1;
|
|
||||||
q10 floor(STD(col_big_unsigned))
|
|
||||||
q10 0
|
|
||||||
SELECT 'q11', floor(STD(col_dec_signed)) FROM t1;
|
|
||||||
q11 floor(STD(col_dec_signed))
|
|
||||||
q11 798417431511105000000000000000000000
|
|
||||||
SELECT 'q12', floor(STD(col_dec_unsigned)) FROM t1;
|
|
||||||
q12 floor(STD(col_dec_unsigned))
|
|
||||||
q12 0
|
|
||||||
SELECT 'q13', floor(STD(col_float_signed)) FROM t1;
|
|
||||||
q13 floor(STD(col_float_signed))
|
|
||||||
q13 8371470
|
|
||||||
SELECT 'q14', floor(STD(col_float_unsigned)) FROM t1;
|
|
||||||
q14 floor(STD(col_float_unsigned))
|
|
||||||
q14 73
|
|
||||||
SELECT 'q15', floor(STD(col_double_signed)) FROM t1;
|
|
||||||
q15 floor(STD(col_double_signed))
|
|
||||||
q15 2143234889
|
|
||||||
SELECT 'q16', floor(STD(col_double_unsigned)) FROM t1;
|
|
||||||
q16 floor(STD(col_double_unsigned))
|
|
||||||
q16 73
|
|
||||||
SELECT 'q17', floor(STDDEV_SAMP(col_signed)) FROM t1;
|
|
||||||
q17 floor(STDDEV_SAMP(col_signed))
|
|
||||||
q17 73
|
|
||||||
SELECT 'q18', floor(STDDEV_SAMP(col_unsigned)) FROM t1;
|
|
||||||
q18 floor(STDDEV_SAMP(col_unsigned))
|
|
||||||
q18 73
|
|
||||||
SELECT 'q19', floor(STDDEV_SAMP(col_small_signed)) FROM t1;
|
|
||||||
q19 floor(STDDEV_SAMP(col_small_signed))
|
|
||||||
q19 32063
|
|
||||||
SELECT 'q20', floor(STDDEV_SAMP(col_small_unsigned)) FROM t1;
|
|
||||||
q20 floor(STDDEV_SAMP(col_small_unsigned))
|
|
||||||
q20 73
|
|
||||||
SELECT 'q21', floor(STDDEV_SAMP(col_med_signed)) FROM t1;
|
|
||||||
q21 floor(STDDEV_SAMP(col_med_signed))
|
|
||||||
q21 8387998
|
|
||||||
SELECT 'q22', floor(STDDEV_SAMP(col_med_unsigned)) FROM t1;
|
|
||||||
q22 floor(STDDEV_SAMP(col_med_unsigned))
|
|
||||||
q22 73
|
|
||||||
SELECT 'q23', floor(STDDEV_SAMP(col_int_signed)) FROM t1;
|
|
||||||
q23 floor(STDDEV_SAMP(col_int_signed))
|
|
||||||
q23 2147466354
|
|
||||||
SELECT 'q24', floor(STDDEV_SAMP(col_int_unsigned)) FROM t1;
|
|
||||||
q24 floor(STDDEV_SAMP(col_int_unsigned))
|
|
||||||
q24 73
|
|
||||||
SELECT 'q25', floor(STDDEV_SAMP(col_big_signed)) FROM t1;
|
|
||||||
q25 floor(STDDEV_SAMP(col_big_signed))
|
|
||||||
q25 9223300272764650000
|
|
||||||
SELECT 'q26', floor(STDDEV_SAMP(col_big_unsigned)) FROM t1;
|
|
||||||
q26 floor(STDDEV_SAMP(col_big_unsigned))
|
|
||||||
q26 0
|
|
||||||
SELECT 'q27', floor(STDDEV_SAMP(col_dec_signed)) FROM t1;
|
|
||||||
q27 floor(STDDEV_SAMP(col_dec_signed))
|
|
||||||
q27 799993775457406500000000000000000000
|
|
||||||
SELECT 'q28', floor(STDDEV_SAMP(col_dec_unsigned)) FROM t1;
|
|
||||||
q28 floor(STDDEV_SAMP(col_dec_unsigned))
|
|
||||||
q28 0
|
|
||||||
SELECT 'q29', floor(STDDEV_SAMP(col_float_signed)) FROM t1;
|
|
||||||
q29 floor(STDDEV_SAMP(col_float_signed))
|
|
||||||
q29 8387998
|
|
||||||
SELECT 'q30', floor(STDDEV_SAMP(col_float_unsigned)) FROM t1;
|
|
||||||
q30 floor(STDDEV_SAMP(col_float_unsigned))
|
|
||||||
q30 73
|
|
||||||
SELECT 'q31', floor(STDDEV_SAMP(col_double_signed)) FROM t1;
|
|
||||||
q31 floor(STDDEV_SAMP(col_double_signed))
|
|
||||||
q31 2147466354
|
|
||||||
SELECT 'q32', floor(STDDEV_SAMP(col_double_unsigned)) FROM t1;
|
|
||||||
q32 floor(STDDEV_SAMP(col_double_unsigned))
|
|
||||||
q32 73
|
|
||||||
SELECT 'q33', floor(VAR_POP(col_signed)) FROM t1;
|
|
||||||
q33 floor(VAR_POP(col_signed))
|
|
||||||
q33 5376
|
|
||||||
SELECT 'q34', floor(VAR_POP(col_unsigned)) FROM t1;
|
|
||||||
q34 floor(VAR_POP(col_unsigned))
|
|
||||||
q34 5376
|
|
||||||
SELECT 'q35', floor(VAR_POP(col_small_signed)) FROM t1;
|
|
||||||
q35 floor(VAR_POP(col_small_signed))
|
|
||||||
q35 1024021882
|
|
||||||
SELECT 'q36', floor(VAR_POP(col_small_unsigned)) FROM t1;
|
|
||||||
q36 floor(VAR_POP(col_small_unsigned))
|
|
||||||
q36 5376
|
|
||||||
SELECT 'q37', floor(VAR_POP(col_med_signed)) FROM t1;
|
|
||||||
q37 floor(VAR_POP(col_med_signed))
|
|
||||||
q37 70081516547007
|
|
||||||
SELECT 'q38', floor(VAR_POP(col_med_unsigned)) FROM t1;
|
|
||||||
q38 floor(VAR_POP(col_med_unsigned))
|
|
||||||
q38 5376
|
|
||||||
SELECT 'q39', floor(VAR_POP(col_int_signed)) FROM t1;
|
|
||||||
q39 floor(VAR_POP(col_int_signed))
|
|
||||||
q39 4593455793567980000
|
|
||||||
SELECT 'q40', floor(VAR_POP(col_int_unsigned)) FROM t1;
|
|
||||||
q40 floor(VAR_POP(col_int_unsigned))
|
|
||||||
q40 5376
|
|
||||||
SELECT 'q41', floor(VAR_POP(col_big_signed)) FROM t1;
|
|
||||||
q41 floor(VAR_POP(col_big_signed))
|
|
||||||
q41 84734349543936470000000000000000000000
|
|
||||||
SELECT 'q42', floor(VAR_POP(col_big_unsigned)) FROM t1;
|
|
||||||
q42 floor(VAR_POP(col_big_unsigned))
|
|
||||||
q42 0
|
|
||||||
SELECT 'q43', floor(VAR_POP(col_dec_signed)) FROM t1;
|
|
||||||
q43 floor(VAR_POP(col_dec_signed))
|
|
||||||
q43 637470394940789900000000000000000000000000000000000000000000000000000000
|
|
||||||
SELECT 'q44', floor(VAR_POP(col_dec_unsigned)) FROM t1;
|
|
||||||
q44 floor(VAR_POP(col_dec_unsigned))
|
|
||||||
q44 0
|
|
||||||
SELECT 'q45', floor(VAR_POP(col_float_signed)) FROM t1;
|
|
||||||
q45 floor(VAR_POP(col_float_signed))
|
|
||||||
q45 70081516546971
|
|
||||||
SELECT 'q46', floor(VAR_POP(col_float_unsigned)) FROM t1;
|
|
||||||
q46 floor(VAR_POP(col_float_unsigned))
|
|
||||||
q46 5376
|
|
||||||
SELECT 'q47', floor(VAR_POP(col_double_signed)) FROM t1;
|
|
||||||
q47 floor(VAR_POP(col_double_signed))
|
|
||||||
q47 4593455793567980000
|
|
||||||
SELECT 'q48', floor(VAR_POP(col_double_unsigned)) FROM t1;
|
|
||||||
q48 floor(VAR_POP(col_double_unsigned))
|
|
||||||
q48 5376
|
|
||||||
SELECT 'q49', floor(VAR_SAMP(col_signed)) FROM t1;
|
|
||||||
q49 floor(VAR_SAMP(col_signed))
|
|
||||||
q49 5397
|
|
||||||
SELECT 'q50', floor(VAR_SAMP(col_unsigned)) FROM t1;
|
|
||||||
q50 floor(VAR_SAMP(col_unsigned))
|
|
||||||
q50 5397
|
|
||||||
SELECT 'q51', floor(VAR_SAMP(col_small_signed)) FROM t1;
|
|
||||||
q51 floor(VAR_SAMP(col_small_signed))
|
|
||||||
q51 1028069399
|
|
||||||
SELECT 'q52', floor(VAR_SAMP(col_small_unsigned)) FROM t1;
|
|
||||||
q52 floor(VAR_SAMP(col_small_unsigned))
|
|
||||||
q52 5397
|
|
||||||
SELECT 'q53', floor(VAR_SAMP(col_med_signed)) FROM t1;
|
|
||||||
q53 floor(VAR_SAMP(col_med_signed))
|
|
||||||
q53 70358518588695
|
|
||||||
SELECT 'q54', floor(VAR_SAMP(col_med_unsigned)) FROM t1;
|
|
||||||
q54 floor(VAR_SAMP(col_med_unsigned))
|
|
||||||
q54 5397
|
|
||||||
SELECT 'q55', floor(VAR_SAMP(col_int_signed)) FROM t1;
|
|
||||||
q55 floor(VAR_SAMP(col_int_signed))
|
|
||||||
q55 4611611745321213400
|
|
||||||
SELECT 'q56', floor(VAR_SAMP(col_int_unsigned)) FROM t1;
|
|
||||||
q56 floor(VAR_SAMP(col_int_unsigned))
|
|
||||||
q56 5397
|
|
||||||
SELECT 'q57', floor(VAR_SAMP(col_big_signed)) FROM t1;
|
|
||||||
q57 floor(VAR_SAMP(col_big_signed))
|
|
||||||
q57 85069267921580480000000000000000000000
|
|
||||||
SELECT 'q58', floor(VAR_SAMP(col_big_unsigned)) FROM t1;
|
|
||||||
q58 floor(VAR_SAMP(col_big_unsigned))
|
|
||||||
q58 0
|
|
||||||
SELECT 'q59', floor(VAR_SAMP(col_dec_signed)) FROM t1;
|
|
||||||
q59 floor(VAR_SAMP(col_dec_signed))
|
|
||||||
q59 639990040770595400000000000000000000000000000000000000000000000000000000
|
|
||||||
SELECT 'q60', floor(VAR_SAMP(col_dec_unsigned)) FROM t1;
|
|
||||||
q60 floor(VAR_SAMP(col_dec_unsigned))
|
|
||||||
q60 0
|
|
||||||
SELECT 'q61', floor(VAR_SAMP(col_float_signed)) FROM t1;
|
|
||||||
q61 floor(VAR_SAMP(col_float_signed))
|
|
||||||
q61 70358518588659
|
|
||||||
SELECT 'q62', floor(VAR_SAMP(col_float_unsigned)) FROM t1;
|
|
||||||
q62 floor(VAR_SAMP(col_float_unsigned))
|
|
||||||
q62 5397
|
|
||||||
SELECT 'q63', floor(VAR_SAMP(col_double_signed)) FROM t1;
|
|
||||||
q63 floor(VAR_SAMP(col_double_signed))
|
|
||||||
q63 4611611745321213400
|
|
||||||
SELECT 'q64', floor(VAR_SAMP(col_double_unsigned)) FROM t1;
|
|
||||||
q64 floor(VAR_SAMP(col_double_unsigned))
|
|
||||||
q64 5397
|
|
||||||
DROP DATABASE std_test_db;
|
|
File diff suppressed because it is too large
Load Diff
@ -1,121 +0,0 @@
|
|||||||
-- source ../include/have_columnstore.inc
|
|
||||||
|
|
||||||
--disable_warnings
|
|
||||||
DROP DATABASE IF EXISTS std_test_db;
|
|
||||||
--enable_warnings
|
|
||||||
|
|
||||||
CREATE DATABASE std_test_db;
|
|
||||||
USE std_test_db;
|
|
||||||
|
|
||||||
create table t1 (
|
|
||||||
col_signed tinyint,
|
|
||||||
col_unsigned tinyint unsigned
|
|
||||||
);
|
|
||||||
|
|
||||||
--replace_result $MTR_SUITE_DIR MTR_SUITE_DIR
|
|
||||||
--eval LOAD DATA LOCAL infile '$MTR_SUITE_DIR/../std_data/tinyint_range.tbl' INTO TABLE t1 FIELDS TERMINATED BY '|';
|
|
||||||
|
|
||||||
ALTER TABLE t1 ADD COLUMN col_small_signed SMALLINT;
|
|
||||||
ALTER TABLE t1 ADD COLUMN col_small_unsigned SMALLINT UNSIGNED;
|
|
||||||
ALTER TABLE t1 ADD COLUMN col_med_signed MEDIUMINT;
|
|
||||||
ALTER TABLE t1 ADD COLUMN col_med_unsigned MEDIUMINT UNSIGNED;
|
|
||||||
ALTER TABLE t1 ADD COLUMN col_int_signed INT;
|
|
||||||
ALTER TABLE t1 ADD COLUMN col_int_unsigned INT UNSIGNED;
|
|
||||||
ALTER TABLE t1 ADD COLUMN col_big_signed BIGINT;
|
|
||||||
ALTER TABLE t1 ADD COLUMN col_big_unsigned BIGINT UNSIGNED;
|
|
||||||
ALTER TABLE t1 ADD COLUMN col_dec_signed DECIMAL(38,0);
|
|
||||||
ALTER TABLE t1 ADD COLUMN col_dec_unsigned DECIMAL(38,0) UNSIGNED;
|
|
||||||
ALTER TABLE t1 ADD COLUMN col_float_signed FLOAT;
|
|
||||||
ALTER TABLE t1 ADD COLUMN col_float_unsigned FLOAT UNSIGNED;
|
|
||||||
ALTER TABLE t1 ADD COLUMN col_double_signed DOUBLE;
|
|
||||||
ALTER TABLE t1 ADD COLUMN col_double_unsigned DOUBLE UNSIGNED;
|
|
||||||
|
|
||||||
UPDATE t1 SET col_small_signed=col_signed + sign(col_signed) * 32000;
|
|
||||||
UPDATE t1 SET col_small_unsigned=col_unsigned + 65000;
|
|
||||||
UPDATE t1 SET col_med_signed=col_signed + sign(col_signed) * 8388000;
|
|
||||||
UPDATE t1 SET col_med_unsigned=col_unsigned + 16776000;
|
|
||||||
UPDATE t1 SET col_int_signed=col_signed + sign(col_signed) * 2147483000;
|
|
||||||
UPDATE t1 SET col_int_unsigned=col_unsigned + 4294000000;
|
|
||||||
UPDATE t1 SET col_big_signed=col_signed + sign(col_signed) * 9223372036854775000;
|
|
||||||
UPDATE t1 SET col_big_unsigned=col_unsigned + 18446744073709551000;
|
|
||||||
UPDATE t1 SET col_dec_signed=col_signed + sign(col_signed) * 800000000000000000000000000000000001;
|
|
||||||
UPDATE t1 SET col_dec_unsigned=col_unsigned + 800000000000000000000000000000000003;
|
|
||||||
UPDATE t1 SET col_float_signed=col_signed + 0.637 + sign(col_signed) * 8388000;
|
|
||||||
UPDATE t1 SET col_float_unsigned=col_unsigned + 0.637 + 16776000;
|
|
||||||
UPDATE t1 SET col_double_signed=col_signed + 0.637 + sign(col_signed) * 2147483000;
|
|
||||||
UPDATE t1 SET col_double_unsigned=col_unsigned + 0.637 + 4294000000;
|
|
||||||
|
|
||||||
|
|
||||||
SELECT 'q1', floor(STD(col_signed)) FROM t1;
|
|
||||||
SELECT 'q2', floor(STD(col_unsigned)) FROM t1;
|
|
||||||
SELECT 'q3', floor(STD(col_small_signed)) FROM t1;
|
|
||||||
SELECT 'q4', floor(STD(col_small_unsigned)) FROM t1;
|
|
||||||
SELECT 'q5', floor(STD(col_med_signed)) FROM t1;
|
|
||||||
SELECT 'q6', floor(STD(col_med_unsigned)) FROM t1;
|
|
||||||
SELECT 'q7', floor(STD(col_int_signed)) FROM t1;
|
|
||||||
SELECT 'q8', floor(STD(col_int_unsigned)) FROM t1;
|
|
||||||
SELECT 'q9', floor(STD(col_big_signed)) FROM t1;
|
|
||||||
SELECT 'q10', floor(STD(col_big_unsigned)) FROM t1;
|
|
||||||
SELECT 'q11', floor(STD(col_dec_signed)) FROM t1;
|
|
||||||
SELECT 'q12', floor(STD(col_dec_unsigned)) FROM t1;
|
|
||||||
SELECT 'q13', floor(STD(col_float_signed)) FROM t1;
|
|
||||||
SELECT 'q14', floor(STD(col_float_unsigned)) FROM t1;
|
|
||||||
SELECT 'q15', floor(STD(col_double_signed)) FROM t1;
|
|
||||||
SELECT 'q16', floor(STD(col_double_unsigned)) FROM t1;
|
|
||||||
|
|
||||||
|
|
||||||
SELECT 'q17', floor(STDDEV_SAMP(col_signed)) FROM t1;
|
|
||||||
SELECT 'q18', floor(STDDEV_SAMP(col_unsigned)) FROM t1;
|
|
||||||
SELECT 'q19', floor(STDDEV_SAMP(col_small_signed)) FROM t1;
|
|
||||||
SELECT 'q20', floor(STDDEV_SAMP(col_small_unsigned)) FROM t1;
|
|
||||||
SELECT 'q21', floor(STDDEV_SAMP(col_med_signed)) FROM t1;
|
|
||||||
SELECT 'q22', floor(STDDEV_SAMP(col_med_unsigned)) FROM t1;
|
|
||||||
SELECT 'q23', floor(STDDEV_SAMP(col_int_signed)) FROM t1;
|
|
||||||
SELECT 'q24', floor(STDDEV_SAMP(col_int_unsigned)) FROM t1;
|
|
||||||
SELECT 'q25', floor(STDDEV_SAMP(col_big_signed)) FROM t1;
|
|
||||||
SELECT 'q26', floor(STDDEV_SAMP(col_big_unsigned)) FROM t1;
|
|
||||||
SELECT 'q27', floor(STDDEV_SAMP(col_dec_signed)) FROM t1;
|
|
||||||
SELECT 'q28', floor(STDDEV_SAMP(col_dec_unsigned)) FROM t1;
|
|
||||||
SELECT 'q29', floor(STDDEV_SAMP(col_float_signed)) FROM t1;
|
|
||||||
SELECT 'q30', floor(STDDEV_SAMP(col_float_unsigned)) FROM t1;
|
|
||||||
SELECT 'q31', floor(STDDEV_SAMP(col_double_signed)) FROM t1;
|
|
||||||
SELECT 'q32', floor(STDDEV_SAMP(col_double_unsigned)) FROM t1;
|
|
||||||
|
|
||||||
SELECT 'q33', floor(VAR_POP(col_signed)) FROM t1;
|
|
||||||
SELECT 'q34', floor(VAR_POP(col_unsigned)) FROM t1;
|
|
||||||
SELECT 'q35', floor(VAR_POP(col_small_signed)) FROM t1;
|
|
||||||
SELECT 'q36', floor(VAR_POP(col_small_unsigned)) FROM t1;
|
|
||||||
SELECT 'q37', floor(VAR_POP(col_med_signed)) FROM t1;
|
|
||||||
SELECT 'q38', floor(VAR_POP(col_med_unsigned)) FROM t1;
|
|
||||||
SELECT 'q39', floor(VAR_POP(col_int_signed)) FROM t1;
|
|
||||||
SELECT 'q40', floor(VAR_POP(col_int_unsigned)) FROM t1;
|
|
||||||
SELECT 'q41', floor(VAR_POP(col_big_signed)) FROM t1;
|
|
||||||
SELECT 'q42', floor(VAR_POP(col_big_unsigned)) FROM t1;
|
|
||||||
SELECT 'q43', floor(VAR_POP(col_dec_signed)) FROM t1;
|
|
||||||
SELECT 'q44', floor(VAR_POP(col_dec_unsigned)) FROM t1;
|
|
||||||
SELECT 'q45', floor(VAR_POP(col_float_signed)) FROM t1;
|
|
||||||
SELECT 'q46', floor(VAR_POP(col_float_unsigned)) FROM t1;
|
|
||||||
SELECT 'q47', floor(VAR_POP(col_double_signed)) FROM t1;
|
|
||||||
SELECT 'q48', floor(VAR_POP(col_double_unsigned)) FROM t1;
|
|
||||||
|
|
||||||
|
|
||||||
SELECT 'q49', floor(VAR_SAMP(col_signed)) FROM t1;
|
|
||||||
SELECT 'q50', floor(VAR_SAMP(col_unsigned)) FROM t1;
|
|
||||||
SELECT 'q51', floor(VAR_SAMP(col_small_signed)) FROM t1;
|
|
||||||
SELECT 'q52', floor(VAR_SAMP(col_small_unsigned)) FROM t1;
|
|
||||||
SELECT 'q53', floor(VAR_SAMP(col_med_signed)) FROM t1;
|
|
||||||
SELECT 'q54', floor(VAR_SAMP(col_med_unsigned)) FROM t1;
|
|
||||||
SELECT 'q55', floor(VAR_SAMP(col_int_signed)) FROM t1;
|
|
||||||
SELECT 'q56', floor(VAR_SAMP(col_int_unsigned)) FROM t1;
|
|
||||||
SELECT 'q57', floor(VAR_SAMP(col_big_signed)) FROM t1;
|
|
||||||
SELECT 'q58', floor(VAR_SAMP(col_big_unsigned)) FROM t1;
|
|
||||||
SELECT 'q59', floor(VAR_SAMP(col_dec_signed)) FROM t1;
|
|
||||||
SELECT 'q60', floor(VAR_SAMP(col_dec_unsigned)) FROM t1;
|
|
||||||
SELECT 'q61', floor(VAR_SAMP(col_float_signed)) FROM t1;
|
|
||||||
SELECT 'q62', floor(VAR_SAMP(col_float_unsigned)) FROM t1;
|
|
||||||
SELECT 'q63', floor(VAR_SAMP(col_double_signed)) FROM t1;
|
|
||||||
SELECT 'q64', floor(VAR_SAMP(col_double_unsigned)) FROM t1;
|
|
||||||
|
|
||||||
|
|
||||||
# Clean UP
|
|
||||||
DROP DATABASE std_test_db;
|
|
@ -1,120 +0,0 @@
|
|||||||
-- source ../include/have_columnstore.inc
|
|
||||||
|
|
||||||
--disable_warnings
|
|
||||||
DROP DATABASE IF EXISTS std_test_db;
|
|
||||||
--enable_warnings
|
|
||||||
|
|
||||||
CREATE DATABASE std_test_db;
|
|
||||||
USE std_test_db;
|
|
||||||
|
|
||||||
create table t1 (
|
|
||||||
col_signed tinyint,
|
|
||||||
col_unsigned tinyint unsigned
|
|
||||||
);
|
|
||||||
|
|
||||||
--replace_result $MTR_SUITE_DIR MTR_SUITE_DIR
|
|
||||||
--eval LOAD DATA LOCAL infile '$MTR_SUITE_DIR/../std_data/tinyint_range.tbl' INTO TABLE t1 FIELDS TERMINATED BY '|';
|
|
||||||
|
|
||||||
ALTER TABLE t1 ADD COLUMN col_small_signed SMALLINT;
|
|
||||||
ALTER TABLE t1 ADD COLUMN col_small_unsigned SMALLINT UNSIGNED;
|
|
||||||
ALTER TABLE t1 ADD COLUMN col_med_signed MEDIUMINT;
|
|
||||||
ALTER TABLE t1 ADD COLUMN col_med_unsigned MEDIUMINT UNSIGNED;
|
|
||||||
ALTER TABLE t1 ADD COLUMN col_int_signed INT;
|
|
||||||
ALTER TABLE t1 ADD COLUMN col_int_unsigned INT UNSIGNED;
|
|
||||||
ALTER TABLE t1 ADD COLUMN col_big_signed BIGINT;
|
|
||||||
ALTER TABLE t1 ADD COLUMN col_big_unsigned BIGINT UNSIGNED;
|
|
||||||
ALTER TABLE t1 ADD COLUMN col_dec_signed DECIMAL(38,0);
|
|
||||||
ALTER TABLE t1 ADD COLUMN col_dec_unsigned DECIMAL(38,0) UNSIGNED;
|
|
||||||
ALTER TABLE t1 ADD COLUMN col_float_signed FLOAT;
|
|
||||||
ALTER TABLE t1 ADD COLUMN col_float_unsigned FLOAT UNSIGNED;
|
|
||||||
ALTER TABLE t1 ADD COLUMN col_double_signed DOUBLE;
|
|
||||||
ALTER TABLE t1 ADD COLUMN col_double_unsigned DOUBLE UNSIGNED;
|
|
||||||
|
|
||||||
UPDATE t1 SET col_small_signed=col_signed + sign(col_signed) * 32000;
|
|
||||||
UPDATE t1 SET col_small_unsigned=col_unsigned + 65000;
|
|
||||||
UPDATE t1 SET col_med_signed=col_signed + sign(col_signed) * 8388000;
|
|
||||||
UPDATE t1 SET col_med_unsigned=col_unsigned + 16776000;
|
|
||||||
UPDATE t1 SET col_int_signed=col_signed + sign(col_signed) * 2147483000;
|
|
||||||
UPDATE t1 SET col_int_unsigned=col_unsigned + 4294000000;
|
|
||||||
UPDATE t1 SET col_big_signed=col_signed + sign(col_signed) * 9223372036854775000;
|
|
||||||
UPDATE t1 SET col_big_unsigned=col_unsigned + 18446744073709551000;
|
|
||||||
UPDATE t1 SET col_dec_signed=col_signed + sign(col_signed) * 800000000000000000000000000000000001;
|
|
||||||
UPDATE t1 SET col_dec_unsigned=col_unsigned + 800000000000000000000000000000000003;
|
|
||||||
UPDATE t1 SET col_float_signed=col_signed + 0.637 + sign(col_signed) * 8388000;
|
|
||||||
UPDATE t1 SET col_float_unsigned=col_unsigned + 0.637 + 16776000;
|
|
||||||
UPDATE t1 SET col_double_signed=col_signed + 0.637 + sign(col_signed) * 2147483000;
|
|
||||||
UPDATE t1 SET col_double_unsigned=col_unsigned + 0.637 + 4294000000;
|
|
||||||
|
|
||||||
|
|
||||||
SELECT 'q1', floor(STD(col_signed) OVER ()) AS std FROM t1;
|
|
||||||
SELECT 'q2', floor(STD(col_unsigned) OVER ()) AS std FROM t1;
|
|
||||||
SELECT 'q3', floor(STD(col_small_signed) OVER ()) AS std FROM t1;
|
|
||||||
SELECT 'q4', floor(STD(col_small_unsigned) OVER ()) AS std FROM t1;
|
|
||||||
SELECT 'q5', floor(STD(col_med_signed) OVER ()) AS std FROM t1;
|
|
||||||
SELECT 'q6', floor(STD(col_med_unsigned) OVER ()) AS std FROM t1;
|
|
||||||
SELECT 'q7', floor(STD(col_int_signed) OVER ()) AS std FROM t1;
|
|
||||||
SELECT 'q8', floor(STD(col_int_unsigned) OVER ()) AS std FROM t1;
|
|
||||||
SELECT 'q9', floor(STD(col_big_signed) OVER ()) AS std FROM t1;
|
|
||||||
SELECT 'q10', floor(STD(col_big_unsigned) OVER ()) AS std FROM t1;
|
|
||||||
SELECT 'q11', floor(STD(col_dec_signed) OVER ()) AS std FROM t1;
|
|
||||||
SELECT 'q12', floor(STD(col_dec_unsigned) OVER ()) AS std FROM t1;
|
|
||||||
SELECT 'q13', floor(STD(col_float_signed) OVER ()) AS std FROM t1;
|
|
||||||
SELECT 'q14', floor(STD(col_float_unsigned) OVER ()) AS std FROM t1;
|
|
||||||
SELECT 'q15', floor(STD(col_double_signed) OVER ()) AS std FROM t1;
|
|
||||||
SELECT 'q16', floor(STD(col_double_unsigned) OVER ()) AS std FROM t1;
|
|
||||||
|
|
||||||
|
|
||||||
SELECT 'q17', floor(STDDEV_SAMP(col_signed) OVER ()) AS std_samp FROM t1;
|
|
||||||
SELECT 'q18', floor(STDDEV_SAMP(col_unsigned) OVER ()) AS std_samp FROM t1;
|
|
||||||
SELECT 'q19', floor(STDDEV_SAMP(col_small_signed) OVER ()) AS std_samp FROM t1;
|
|
||||||
SELECT 'q20', floor(STDDEV_SAMP(col_small_unsigned) OVER ()) AS std_samp FROM t1;
|
|
||||||
SELECT 'q21', floor(STDDEV_SAMP(col_med_signed) OVER ()) AS std_samp FROM t1;
|
|
||||||
SELECT 'q22', floor(STDDEV_SAMP(col_med_unsigned) OVER ()) AS std_samp FROM t1;
|
|
||||||
SELECT 'q23', floor(STDDEV_SAMP(col_int_signed) OVER ()) AS std_samp FROM t1;
|
|
||||||
SELECT 'q24', floor(STDDEV_SAMP(col_int_unsigned) OVER ()) AS std_samp FROM t1;
|
|
||||||
SELECT 'q25', floor(STDDEV_SAMP(col_big_signed) OVER ()) AS std_samp FROM t1;
|
|
||||||
SELECT 'q26', floor(STDDEV_SAMP(col_big_unsigned) OVER ()) AS std_samp FROM t1;
|
|
||||||
SELECT 'q27', floor(STDDEV_SAMP(col_dec_signed) OVER ()) AS std_samp FROM t1;
|
|
||||||
SELECT 'q28', floor(STDDEV_SAMP(col_dec_unsigned) OVER ()) AS std_samp FROM t1;
|
|
||||||
SELECT 'q29', floor(STDDEV_SAMP(col_float_signed) OVER ()) AS std_samp FROM t1;
|
|
||||||
SELECT 'q30', floor(STDDEV_SAMP(col_float_unsigned) OVER ()) AS std_samp FROM t1;
|
|
||||||
SELECT 'q31', floor(STDDEV_SAMP(col_double_signed) OVER ()) AS std_samp FROM t1;
|
|
||||||
SELECT 'q32', floor(STDDEV_SAMP(col_double_unsigned) OVER ()) AS std_samp FROM t1;
|
|
||||||
|
|
||||||
SELECT 'q33', floor(VAR_POP(col_signed) OVER()) AS var FROM t1;
|
|
||||||
SELECT 'q34', floor(VAR_POP(col_unsigned) OVER()) AS var FROM t1;
|
|
||||||
SELECT 'q35', floor(VAR_POP(col_small_signed) OVER()) AS var FROM t1;
|
|
||||||
SELECT 'q36', floor(VAR_POP(col_small_unsigned) OVER()) AS var FROM t1;
|
|
||||||
SELECT 'q37', floor(VAR_POP(col_med_signed) OVER()) AS var FROM t1;
|
|
||||||
SELECT 'q38', floor(VAR_POP(col_med_unsigned) OVER()) AS var FROM t1;
|
|
||||||
SELECT 'q39', floor(VAR_POP(col_int_signed) OVER()) AS var FROM t1;
|
|
||||||
SELECT 'q40', floor(VAR_POP(col_int_unsigned) OVER()) AS var FROM t1;
|
|
||||||
SELECT 'q41', floor(VAR_POP(col_big_signed) OVER()) AS var FROM t1;
|
|
||||||
SELECT 'q42', floor(VAR_POP(col_big_unsigned) OVER()) AS var FROM t1;
|
|
||||||
SELECT 'q43', floor(VAR_POP(col_dec_signed) OVER()) AS var FROM t1;
|
|
||||||
SELECT 'q44', floor(VAR_POP(col_dec_unsigned) OVER()) AS var FROM t1;
|
|
||||||
SELECT 'q45', floor(VAR_POP(col_float_signed) OVER()) AS var FROM t1;
|
|
||||||
SELECT 'q46', floor(VAR_POP(col_float_unsigned) OVER()) AS var FROM t1;
|
|
||||||
SELECT 'q47', floor(VAR_POP(col_double_signed) OVER()) AS var FROM t1;
|
|
||||||
SELECT 'q48', floor(VAR_POP(col_double_unsigned) OVER()) AS var FROM t1;
|
|
||||||
|
|
||||||
|
|
||||||
SELECT 'q49', floor(VAR_SAMP(col_signed) OVER()) AS var_samp FROM t1;
|
|
||||||
SELECT 'q50', floor(VAR_SAMP(col_unsigned) OVER()) AS var_samp FROM t1;
|
|
||||||
SELECT 'q51', floor(VAR_SAMP(col_small_signed) OVER()) AS var_samp FROM t1;
|
|
||||||
SELECT 'q52', floor(VAR_SAMP(col_small_unsigned) OVER()) AS var_samp FROM t1;
|
|
||||||
SELECT 'q54', floor(VAR_SAMP(col_med_unsigned) OVER()) AS var_samp FROM t1;
|
|
||||||
SELECT 'q55', floor(VAR_SAMP(col_int_signed) OVER()) AS var_samp FROM t1;
|
|
||||||
SELECT 'q56', floor(VAR_SAMP(col_int_unsigned) OVER()) AS var_samp FROM t1;
|
|
||||||
SELECT 'q57', floor(VAR_SAMP(col_big_signed) OVER()) AS var_samp FROM t1;
|
|
||||||
SELECT 'q58', floor(VAR_SAMP(col_big_unsigned) OVER()) AS var_samp FROM t1;
|
|
||||||
SELECT 'q59', floor(VAR_SAMP(col_dec_signed) OVER()) AS var_samp FROM t1;
|
|
||||||
SELECT 'q60', floor(VAR_SAMP(col_dec_unsigned) OVER()) AS var_samp FROM t1;
|
|
||||||
SELECT 'q61', floor(VAR_SAMP(col_float_signed) OVER()) AS var_samp FROM t1;
|
|
||||||
SELECT 'q62', floor(VAR_SAMP(col_float_unsigned) OVER()) AS var_samp FROM t1;
|
|
||||||
SELECT 'q63', floor(VAR_SAMP(col_double_signed) OVER()) AS var_samp FROM t1;
|
|
||||||
SELECT 'q64', floor(VAR_SAMP(col_double_unsigned) OVER()) AS var_samp FROM t1;
|
|
||||||
|
|
||||||
|
|
||||||
# Clean UP
|
|
||||||
DROP DATABASE std_test_db;
|
|
@ -1962,15 +1962,15 @@ void RowAggregation::doStatistics(const Row& rowIn, int64_t colIn, int64_t colOu
|
|||||||
|
|
||||||
double count = fRow.getDoubleField(colOut) + 1.0;
|
double count = fRow.getDoubleField(colOut) + 1.0;
|
||||||
long double mean = fRow.getLongDoubleField(colAux);
|
long double mean = fRow.getLongDoubleField(colAux);
|
||||||
long double M2 = fRow.getLongDoubleField(colAux + 1);
|
long double scaledMomentum2 = fRow.getLongDoubleField(colAux + 1);
|
||||||
volatile long double delta = valIn - mean;
|
volatile long double delta = valIn - mean;
|
||||||
mean += delta/count;
|
mean += delta/count;
|
||||||
M2 += delta * (valIn - mean);
|
scaledMomentum2 += delta * (valIn - mean);
|
||||||
|
|
||||||
|
|
||||||
fRow.setDoubleField(count, colOut);
|
fRow.setDoubleField(count, colOut);
|
||||||
fRow.setLongDoubleField(mean, colAux);
|
fRow.setLongDoubleField(mean, colAux);
|
||||||
fRow.setLongDoubleField(M2, colAux + 1);
|
fRow.setLongDoubleField(scaledMomentum2, colAux + 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
void RowAggregation::mergeStatistics(const Row& rowIn, uint64_t colOut, uint64_t colAux)
|
void RowAggregation::mergeStatistics(const Row& rowIn, uint64_t colOut, uint64_t colAux)
|
||||||
@ -3164,26 +3164,26 @@ void RowAggregationUM::calculateStatisticsFunctions()
|
|||||||
}
|
}
|
||||||
else // count > 1
|
else // count > 1
|
||||||
{
|
{
|
||||||
long double M2 = fRow.getLongDoubleField(colAux + 1);
|
long double scaledMomentum2 = fRow.getLongDoubleField(colAux + 1);
|
||||||
|
|
||||||
uint32_t scale = fRow.getScale(colOut);
|
uint32_t scale = fRow.getScale(colOut);
|
||||||
auto factor = datatypes::scaleDivisor<long double>(scale);
|
auto factor = datatypes::scaleDivisor<long double>(scale);
|
||||||
|
|
||||||
if (scale != 0) // adjust the scale if necessary
|
if (scale != 0) // adjust the scale if necessary
|
||||||
{
|
{
|
||||||
M2 /= factor * factor;
|
scaledMomentum2 /= factor * factor;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (fFunctionCols[i]->fStatsFunction == ROWAGG_STDDEV_POP)
|
if (fFunctionCols[i]->fStatsFunction == ROWAGG_STDDEV_POP)
|
||||||
M2 = sqrt(M2 / cnt);
|
scaledMomentum2 = sqrt(scaledMomentum2 / cnt);
|
||||||
else if (fFunctionCols[i]->fStatsFunction == ROWAGG_STDDEV_SAMP)
|
else if (fFunctionCols[i]->fStatsFunction == ROWAGG_STDDEV_SAMP)
|
||||||
M2 = sqrt(M2 / (cnt - 1));
|
scaledMomentum2 = sqrt(scaledMomentum2 / (cnt - 1));
|
||||||
else if (fFunctionCols[i]->fStatsFunction == ROWAGG_VAR_POP)
|
else if (fFunctionCols[i]->fStatsFunction == ROWAGG_VAR_POP)
|
||||||
M2 = M2 / cnt;
|
scaledMomentum2 = scaledMomentum2 / cnt;
|
||||||
else if (fFunctionCols[i]->fStatsFunction == ROWAGG_VAR_SAMP)
|
else if (fFunctionCols[i]->fStatsFunction == ROWAGG_VAR_SAMP)
|
||||||
M2 = M2 / (cnt - 1);
|
scaledMomentum2 = scaledMomentum2 / (cnt - 1);
|
||||||
|
|
||||||
fRow.setDoubleField(M2, colOut);
|
fRow.setDoubleField(scaledMomentum2, colOut);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -4294,29 +4294,29 @@ void RowAggregationUMP2::doStatistics(const Row& rowIn, int64_t colIn, int64_t c
|
|||||||
{
|
{
|
||||||
double count = fRow.getDoubleField(colOut);
|
double count = fRow.getDoubleField(colOut);
|
||||||
long double mean = fRow.getLongDoubleField(colAux);
|
long double mean = fRow.getLongDoubleField(colAux);
|
||||||
long double M2 = fRow.getLongDoubleField(colAux + 1);
|
long double scaledMomentum2 = fRow.getLongDoubleField(colAux + 1);
|
||||||
|
|
||||||
double block_count = rowIn.getDoubleField(colIn);
|
double blockCount = rowIn.getDoubleField(colIn);
|
||||||
long double block_mean = rowIn.getLongDoubleField(colIn + 1);
|
long double blockMean = rowIn.getLongDoubleField(colIn + 1);
|
||||||
long double block_M2 = rowIn.getLongDoubleField(colIn + 2);
|
long double blockScaledMomentum2 = rowIn.getLongDoubleField(colIn + 2);
|
||||||
|
|
||||||
double next_count = count + block_count;
|
double nextCount = count + blockCount;
|
||||||
long double next_mean;
|
long double nextMean;
|
||||||
long double next_M2;
|
long double nextScaledMomentum2;
|
||||||
if (next_count == 0)
|
if (nextCount == 0)
|
||||||
{
|
{
|
||||||
next_mean = 0;
|
nextMean = 0;
|
||||||
next_M2 = 0;
|
nextScaledMomentum2 = 0;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
volatile long double delta = mean - block_mean;
|
volatile long double delta = mean - blockMean;
|
||||||
next_mean = (mean * count + block_mean * block_count) / next_count;
|
nextMean = (mean * count + blockMean * blockCount) / nextCount;
|
||||||
next_M2 = M2 + block_M2 + delta * delta * (count * block_count / next_count);
|
nextScaledMomentum2 = scaledMomentum2 + blockScaledMomentum2 + delta * delta * (count * blockCount / nextCount);
|
||||||
}
|
}
|
||||||
fRow.setDoubleField(next_count, colOut);
|
fRow.setDoubleField(nextCount, colOut);
|
||||||
fRow.setLongDoubleField(next_mean, colAux);
|
fRow.setLongDoubleField(nextMean, colAux);
|
||||||
fRow.setLongDoubleField(next_M2, colAux + 1);
|
fRow.setLongDoubleField(nextScaledMomentum2, colAux + 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
@ -139,10 +139,10 @@ WindowFunctionType* WF_stats<T>::clone() const
|
|||||||
template <typename T>
|
template <typename T>
|
||||||
void WF_stats<T>::resetData()
|
void WF_stats<T>::resetData()
|
||||||
{
|
{
|
||||||
fMean = 0;
|
mean_ = 0;
|
||||||
fM2sum = 0;
|
scaledMomentum2_ = 0;
|
||||||
fCount = 0;
|
count_ = 0;
|
||||||
fStats = 0.0;
|
stats_ = 0.0;
|
||||||
|
|
||||||
WindowFunctionType::resetData();
|
WindowFunctionType::resetData();
|
||||||
}
|
}
|
||||||
@ -175,17 +175,17 @@ void WF_stats<T>::operator()(int64_t b, int64_t e, int64_t c)
|
|||||||
T valIn;
|
T valIn;
|
||||||
getValue(colIn, valIn, &cdt);
|
getValue(colIn, valIn, &cdt);
|
||||||
long double val = (long double)valIn;
|
long double val = (long double)valIn;
|
||||||
fCount++;
|
count_++;
|
||||||
long double delta = val - fMean;
|
long double delta = val - mean_;
|
||||||
fMean += delta/fCount;
|
mean_ += delta/count_;
|
||||||
fM2sum += delta * (val - fMean);
|
scaledMomentum2_ += delta * (val - mean_);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (fCount > 1)
|
if (count_ > 1)
|
||||||
{
|
{
|
||||||
uint32_t scale = fRow.getScale(colIn);
|
uint32_t scale = fRow.getScale(colIn);
|
||||||
auto factor = datatypes::scaleDivisor<long double>(scale);
|
auto factor = datatypes::scaleDivisor<long double>(scale);
|
||||||
long double stat = fM2sum;
|
long double stat = scaledMomentum2_;
|
||||||
|
|
||||||
// adjust the scale if necessary
|
// adjust the scale if necessary
|
||||||
if (scale != 0 && cdt != CalpontSystemCatalog::LONGDOUBLE)
|
if (scale != 0 && cdt != CalpontSystemCatalog::LONGDOUBLE)
|
||||||
@ -194,23 +194,23 @@ void WF_stats<T>::operator()(int64_t b, int64_t e, int64_t c)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (fFunctionId == WF__STDDEV_POP)
|
if (fFunctionId == WF__STDDEV_POP)
|
||||||
stat = sqrt(stat / fCount);
|
stat = sqrt(stat / count_);
|
||||||
else if (fFunctionId == WF__STDDEV_SAMP)
|
else if (fFunctionId == WF__STDDEV_SAMP)
|
||||||
stat = sqrt(stat / (fCount - 1));
|
stat = sqrt(stat / (count_ - 1));
|
||||||
else if (fFunctionId == WF__VAR_POP)
|
else if (fFunctionId == WF__VAR_POP)
|
||||||
stat = stat / fCount;
|
stat = stat / count_;
|
||||||
else if (fFunctionId == WF__VAR_SAMP)
|
else if (fFunctionId == WF__VAR_SAMP)
|
||||||
stat = stat / (fCount - 1);
|
stat = stat / (count_ - 1);
|
||||||
|
|
||||||
fStats = (double)stat;
|
stats_ = (double)stat;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (fCount == 0)
|
if (count_ == 0)
|
||||||
{
|
{
|
||||||
setValue(CalpontSystemCatalog::DOUBLE, b, e, c, (double*)NULL);
|
setValue(CalpontSystemCatalog::DOUBLE, b, e, c, (double*)NULL);
|
||||||
}
|
}
|
||||||
else if (fCount == 1)
|
else if (count_ == 1)
|
||||||
{
|
{
|
||||||
if (fFunctionId == WF__STDDEV_SAMP || fFunctionId == WF__VAR_SAMP)
|
if (fFunctionId == WF__STDDEV_SAMP || fFunctionId == WF__VAR_SAMP)
|
||||||
{
|
{
|
||||||
@ -224,7 +224,7 @@ void WF_stats<T>::operator()(int64_t b, int64_t e, int64_t c)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
setValue(CalpontSystemCatalog::DOUBLE, b, e, c, &fStats);
|
setValue(CalpontSystemCatalog::DOUBLE, b, e, c, &stats_);
|
||||||
}
|
}
|
||||||
|
|
||||||
fPrev = c;
|
fPrev = c;
|
||||||
|
@ -40,10 +40,10 @@ class WF_stats : public WindowFunctionType
|
|||||||
static boost::shared_ptr<WindowFunctionType> makeFunction(int, const string&, int, WindowFunctionColumn*);
|
static boost::shared_ptr<WindowFunctionType> makeFunction(int, const string&, int, WindowFunctionColumn*);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
long double fMean;
|
long double mean_;
|
||||||
long double fM2sum;
|
long double scaledMomentum2_;
|
||||||
uint64_t fCount;
|
uint64_t count_;
|
||||||
double fStats;
|
double stats_;
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace windowfunction
|
} // namespace windowfunction
|
||||||
|
Reference in New Issue
Block a user