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
The idea is relatively simple - encode prefixes of collated strings as integers and use them to compute extents' ranges. Then we can eliminate extents with strings. The actual patch does have all the code there but miss one important step: we do not keep collation index, we keep charset index. Because of this, some of the tests in the bugfix suite fail and thus main functionality is turned off. The reason of this patch to be put into PR at all is that it contains changes that made CHAR/VARCHAR columns unsigned. This change is needed in vectorization work.
16 lines
540 B
Plaintext
16 lines
540 B
Plaintext
--source ../include/have_columnstore.inc
|
|
--disable_warnings
|
|
DROP DATABASE IF EXISTS mcol_4940;
|
|
--enable_warnings
|
|
CREATE DATABASE mcol_4940;
|
|
USE mcol_4940;
|
|
|
|
create table rounding_table ( a int, b double, c double) engine=columnstore;
|
|
insert into rounding_table values (26805, 1252, -9647);
|
|
insert into rounding_table values (26806, 573, -2804.5);
|
|
|
|
--sorted_result
|
|
SELECT CASE a WHEN 26805 THEN ROUND(c/b, 2) WHEN 26806 THEN b END MCOL4940 FROM ( SELECT a, SUM(b) b, SUM(c) c FROM rounding_table GROUP BY a ) abc ;
|
|
|
|
DROP DATABASE mcol_4940;
|