1
0
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:
Andrey Piskunov
2022-06-03 15:30:25 +03:00
parent 3fbc982ab2
commit c7e67aedd9
7 changed files with 48 additions and 16683 deletions

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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);
} }
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------

View File

@ -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;

View File

@ -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