You've already forked mariadb-columnstore-engine
mirror of
https://github.com/mariadb-corporation/mariadb-columnstore-engine.git
synced 2025-08-07 03:22:57 +03:00
BLOB fields did not work as grouping keys at all, they were assigned value NULL for any value, be it NULL or not. The fix is in the rowaggregation.cpp in the initMapping(), a switch/case branch was added to handle BLOB field copying there. Also, TEXT columns did not distinguish between NULL and empty string in the grouping algorithm, now they do. The fix is in the equals() function, now we specifically check for isNull() equality between values.
30 lines
579 B
Plaintext
30 lines
579 B
Plaintext
DROP DATABASE IF EXISTS MCOL5755;
|
|
CREATE DATABASE MCOL5755;
|
|
USE MCOL5755;
|
|
CREATE TABLE t1 (t TEXT,c CHAR(10),b BLOB) ENGINE = columnstore;
|
|
INSERT INTO t1 VALUES (NULL,NULL,NULL);
|
|
INSERT INTO t1 VALUES ("","","");
|
|
INSERT INTO t1 VALUES ("hello","hello","hello");
|
|
INSERT INTO t1 VALUES ("HELLO","HELLO","HELLO");
|
|
INSERT INTO t1 VALUES ("HELLO MY","HELLO MY","HELLO MY");
|
|
INSERT INTO t1 VALUES ("a","a","a");
|
|
INSERT INTO t1 VALUES (1,1,1);
|
|
SELECT b FROM t1 GROUP BY b;
|
|
b
|
|
|
|
1
|
|
HELLO
|
|
HELLO MY
|
|
NULL
|
|
a
|
|
hello
|
|
SELECT t FROM t1 GROUP BY t;
|
|
t
|
|
|
|
1
|
|
HELLO MY
|
|
NULL
|
|
a
|
|
hello
|
|
DROP DATABASE MCOL5755;
|