You've already forked mariadb-columnstore-engine
mirror of
https://github.com/mariadb-corporation/mariadb-columnstore-engine.git
synced 2025-07-29 08:21:15 +03:00
MCOL-5092 addendum modify moda() mtr tests with order by
fix an issue in moda() evaluate for string types
This commit is contained in:
@ -132,19 +132,19 @@ four
|
|||||||
SELECT moda(vc) FROM t2;
|
SELECT moda(vc) FROM t2;
|
||||||
moda(vc)
|
moda(vc)
|
||||||
five123456
|
five123456
|
||||||
SELECT i FROM t2 WHERE i >= (SELECT moda(i) FROM t2);
|
SELECT i FROM t2 WHERE i >= (SELECT moda(i) FROM t2) order by i;
|
||||||
i
|
i
|
||||||
74836460
|
7483646
|
||||||
7483646
|
7483646
|
||||||
74836460
|
74836460
|
||||||
7483646
|
74836460
|
||||||
SELECT d2 FROM t2 WHERE d2 < (SELECT moda(d2) FROM t2);
|
SELECT d2 FROM t2 WHERE d2 < (SELECT moda(d2) FROM t2) order by d2;
|
||||||
d2
|
d2
|
||||||
SELECT tu, moda(i) FROM t2 GROUP BY tu;
|
SELECT tu, moda(i) FROM t2 GROUP BY tu order by tu;
|
||||||
tu moda(i)
|
tu moda(i)
|
||||||
10 -74836460
|
|
||||||
1 7483646
|
|
||||||
NULL 0
|
NULL 0
|
||||||
|
1 7483646
|
||||||
|
10 -74836460
|
||||||
SELECT floor(moda(rl)) FROM t2;
|
SELECT floor(moda(rl)) FROM t2;
|
||||||
floor(moda(rl))
|
floor(moda(rl))
|
||||||
234
|
234
|
||||||
@ -154,8 +154,8 @@ ceiling(moda(dbl))
|
|||||||
SELECT moda(floor(rl)) FROM t2;
|
SELECT moda(floor(rl)) FROM t2;
|
||||||
moda(floor(rl))
|
moda(floor(rl))
|
||||||
234
|
234
|
||||||
SELECT t, moda(tu) 'q1' FROM t2 GROUP BY t HAVING moda(tu) > 5;
|
SELECT t, moda(tu) 'q1' FROM t2 GROUP BY t HAVING moda(tu) > 5 order by t;
|
||||||
t q1
|
t q1
|
||||||
10 10
|
|
||||||
-10 10
|
-10 10
|
||||||
|
10 10
|
||||||
DROP DATABASE mcs98_db;
|
DROP DATABASE mcs98_db;
|
||||||
|
@ -86,13 +86,13 @@ SELECT moda(rl) FROM t2;
|
|||||||
SELECT moda(dbl) FROM t2;
|
SELECT moda(dbl) FROM t2;
|
||||||
SELECT moda(v) FROM t2;
|
SELECT moda(v) FROM t2;
|
||||||
SELECT moda(vc) FROM t2;
|
SELECT moda(vc) FROM t2;
|
||||||
SELECT i FROM t2 WHERE i >= (SELECT moda(i) FROM t2);
|
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);
|
SELECT d2 FROM t2 WHERE d2 < (SELECT moda(d2) FROM t2) order by d2;
|
||||||
SELECT tu, moda(i) FROM t2 GROUP BY tu;
|
SELECT tu, moda(i) FROM t2 GROUP BY tu order by tu;
|
||||||
SELECT floor(moda(rl)) FROM t2;
|
SELECT floor(moda(rl)) FROM t2;
|
||||||
SELECT ceiling(moda(dbl)) FROM t2;
|
SELECT ceiling(moda(dbl)) FROM t2;
|
||||||
SELECT moda(floor(rl)) FROM t2;
|
SELECT moda(floor(rl)) FROM t2;
|
||||||
SELECT t, moda(tu) 'q1' FROM t2 GROUP BY t HAVING moda(tu) > 5;
|
SELECT t, moda(tu) 'q1' FROM t2 GROUP BY t HAVING moda(tu) > 5 order by t;
|
||||||
# Clean UP
|
# Clean UP
|
||||||
DROP DATABASE mcs98_db;
|
DROP DATABASE mcs98_db;
|
||||||
|
|
||||||
|
@ -589,7 +589,7 @@ mcsv1_UDAF::ReturnCode Moda_impl_T<string>::evaluate(mcsv1Context* context, stat
|
|||||||
else if (iter->second == maxCnt)
|
else if (iter->second == maxCnt)
|
||||||
{
|
{
|
||||||
// Tie breaker: choose smallest according to collation
|
// Tie breaker: choose smallest according to collation
|
||||||
if (cs.strnncollsp(val, lastVal) < 0)
|
if (cs.strnncollsp(iter->first, lastVal) < 0)
|
||||||
{
|
{
|
||||||
val = iter->first;
|
val = iter->first;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user