1
0
mirror of https://github.com/mariadb-corporation/mariadb-columnstore-engine.git synced 2025-07-29 08:21:15 +03:00

MCOL-5092 Use sorted_result to get consistent results in mtr

This commit is contained in:
david.hall
2022-08-17 09:07:47 -05:00
parent 5099133642
commit 5c62d96b71
2 changed files with 40 additions and 35 deletions

View File

@ -15,6 +15,7 @@ INSERT INTO t1 VALUES(NULL, NULL, 1234, -1000012898, 700000012898, 34.21, 900000
(12, 345, 1234, -1000012898, 700000012899, 34.22, 90000000000000000009.124312000092, 14.02, 3900000000000001.24),
(13, 346, 1235, NULL, NULL, NULL, NULL, NULL, NULL),
(28, 1345, 11234, -2000012898, 1700000012899, 134.22, 190000000000000000009.124312000092, 114.02, 13900000000000001.24);
SELECT moda(t) FROM t1;
SELECT moda(s) FROM t1;
SELECT moda(m) FROM t1;
@ -44,28 +45,28 @@ CREATE TABLE t2 (
v char(4),
vc varchar(10)
) engine=columnstore;
INSERT INTO t2 VALUES(NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
INSERT INTO t2 VALUES(10, 10, 2010, 2010, 1237567, 1237567, 74836460, 74836460, 2223372036854775816,
INSERT INTO t2 VALUES(NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
(10, 10, 2010, 2010, 1237567, 1237567, 74836460, 74836460, 2223372036854775816,
2223372036854775816, 22.34, 22.34, 70000000605040302018.124312000091,
70000000605040302019.124312000091, 2344.32, 12345678.91011, 'five', 'five123456');
INSERT INTO t2 VALUES(-10, 10, -2010, 2010, -1237567, 1237567, -74836460, 74836460,
70000000605040302019.124312000091, 2344.32, 12345678.91011, 'five', 'five123456'),
(-10, 10, -2010, 2010, -1237567, 1237567, -74836460, 74836460,
-2223372036854775816, 2223372036854775816, -22.34, 22.34,
-70000000605040302019.124312000091, 70000000605040302029.124312000091,
-2344.32, -123456789.1011, 'four', 'five654321');
INSERT INTO t2 VALUES(1, 1, 201, 201, 1234867, 1234867, 7483646, 7483646, 2223372036854775807,
-2344.32, -123456789.1011, 'four', 'five654321'),
(1, 1, 201, 201, 1234867, 1234867, 7483646, 7483646, 2223372036854775807,
2223372036854775807, 13.34, 13.34, 70000000605040302019.124312000091,
70000000605040302029.124312000091, 234.432, 12345678.91011, 'five', 'five123456');
INSERT INTO t2 VALUES(-1, 1, -201, 201, -1234867, 1234867, -7483646, 7483646, -2223372036854775807,
70000000605040302029.124312000091, 234.432, 12345678.91011, 'five', 'five123456'),
(-1, 1, -201, 201, -1234867, 1234867, -7483646, 7483646, -2223372036854775807,
2223372036854775807, -13.34, 13.34, -70000000605040302019.124312000091,
70000000605040302019.124312000091, -234.432, -1234567.891011, 'four', 'four123456');
INSERT INTO t2 VALUES(10, 10, 2010, 2010, 1237567, 1237567, 74836460, 74836460, 2223372036854775816,
70000000605040302019.124312000091, -234.432, -1234567.891011, 'four', 'four123456'),
(10, 10, 2010, 2010, 1237567, 1237567, 74836460, 74836460, 2223372036854775816,
2223372036854775816, 22.34, 22.34, 70000000605040302019.124312000091,
70000000605040302019.124312000091, 2344.32, 1234567.891011, 'five', 'five123456');
INSERT INTO t2 VALUES(-10, 10, -2010, 2010, -1237567, 1237567, -74836460, 74836460,
70000000605040302019.124312000091, 2344.32, 1234567.891011, 'five', 'five123456'),
(-10, 10, -2010, 2010, -1237567, 1237567, -74836460, 74836460,
-2223372036854775816, 2223372036854775816, -22.34, 22.34,
-70000000605040302019.124312000091, 70000000605040302029.124312000091,
-2344.32, -12345678.91011, 'four', 'five654321');
INSERT INTO t2 VALUES(1, 1, 201, 201, 1234867, 1234867, 7483646, 7483646, 2223372036854775807,
-2344.32, -12345678.91011, 'four', 'five654321'),
(1, 1, 201, 201, 1234867, 1234867, 7483646, 7483646, 2223372036854775807,
2223372036854775807, 13.34, 13.34, 70000000605040302018.124312000091,
70000000605040302029.124312000091, 234.432, 12345678.91011, 'six', 'six1234567');
SELECT moda(t) FROM t2;
@ -86,13 +87,17 @@ SELECT moda(rl) FROM t2;
SELECT moda(dbl) FROM t2;
SELECT moda(v) FROM t2;
SELECT moda(vc) FROM t2;
--sorted_result
SELECT i FROM t2 WHERE i >= (SELECT moda(i) FROM t2) order by i;
SELECT d2 FROM t2 WHERE d2 < (SELECT moda(d2) FROM t2) order by d2;
SELECT tu, moda(i) FROM t2 GROUP BY tu order by tu;
--sorted_result
SELECT d2 FROM t2 WHERE d2 < (SELECT moda(d2) FROM t2);
--sorted_result
SELECT tu, moda(i) FROM t2 GROUP BY tu;
SELECT floor(moda(rl)) FROM t2;
SELECT ceiling(moda(dbl)) FROM t2;
SELECT moda(floor(rl)) FROM t2;
SELECT t, moda(tu) 'q1' FROM t2 GROUP BY t HAVING moda(tu) > 5 order by t;
--sorted_result
SELECT t, moda(tu) 'q1' FROM t2 GROUP BY t HAVING moda(tu) > 5;
# Clean UP
DROP DATABASE mcs98_db;