mirror of
https://github.com/mariadb-corporation/mariadb-columnstore-engine.git
synced 2025-05-28 13:01:26 +03:00
198 lines
7.5 KiB
Plaintext
198 lines
7.5 KiB
Plaintext
DROP DATABASE IF EXISTS mcs63_db;
|
|
CREATE DATABASE mcs63_db;
|
|
USE mcs63_db;
|
|
CREATE USER IF NOT EXISTS'cejuser'@'localhost' IDENTIFIED BY 'Vagrant1|0000001';
|
|
GRANT ALL PRIVILEGES ON *.* TO 'cejuser'@'localhost';
|
|
FLUSH PRIVILEGES;
|
|
CREATE TABLE t1 (t1_int INT, t1_char CHAR(5))ENGINE=Innodb;
|
|
CREATE TABLE t2 (t2_int INT, t2_char CHAR(5))ENGINE=Columnstore;
|
|
INSERT INTO t1 VALUES (NULL,''),(1,'aaa'),(2,'bbb'),(3,'ccc'),(4,'ddd'),(5,'eee'),(6,'fff'),(7,'gggg');
|
|
INSERT INTO t2 VALUES (NULL,''),(1,'hhh'),(3,'iii'),(5,'jjj'),(7,'llll'),(9,'kkkk'),(11,'mm'),(13,'n');
|
|
CREATE VIEW v0 AS SELECT * FROM t1, t2 WHERE t1.t1_int = t2.t2_int;
|
|
SELECT VIEW_DEFINITION FROM INFORMATION_SCHEMA.VIEWS WHERE TABLE_NAME='v0' AND TABLE_SCHEMA='mcs63_db';
|
|
VIEW_DEFINITION
|
|
select `mcs63_db`.`t1`.`t1_int` AS `t1_int`,`mcs63_db`.`t1`.`t1_char` AS `t1_char`,`mcs63_db`.`t2`.`t2_int` AS `t2_int`,`mcs63_db`.`t2`.`t2_char` AS `t2_char` from `mcs63_db`.`t1` join `mcs63_db`.`t2` where `mcs63_db`.`t1`.`t1_int` = `mcs63_db`.`t2`.`t2_int`
|
|
SELECT * FROM v0;
|
|
t1_int t1_char t2_int t2_char
|
|
1 aaa 1 hhh
|
|
3 ccc 3 iii
|
|
5 eee 5 jjj
|
|
7 gggg 7 llll
|
|
CREATE VIEW v1 AS SELECT t1.t1_int, t2.t2_int, t1.t1_char, t2.t2_char FROM t1, t2 WHERE t1.t1_int = t2.t2_int;
|
|
SELECT VIEW_DEFINITION FROM INFORMATION_SCHEMA.VIEWS WHERE TABLE_NAME='v1' AND TABLE_SCHEMA='mcs63_db';
|
|
VIEW_DEFINITION
|
|
select `mcs63_db`.`t1`.`t1_int` AS `t1_int`,`mcs63_db`.`t2`.`t2_int` AS `t2_int`,`mcs63_db`.`t1`.`t1_char` AS `t1_char`,`mcs63_db`.`t2`.`t2_char` AS `t2_char` from `mcs63_db`.`t1` join `mcs63_db`.`t2` where `mcs63_db`.`t1`.`t1_int` = `mcs63_db`.`t2`.`t2_int`
|
|
SELECT * FROM v1;
|
|
t1_int t2_int t1_char t2_char
|
|
1 1 aaa hhh
|
|
3 3 ccc iii
|
|
5 5 eee jjj
|
|
7 7 gggg llll
|
|
CREATE VIEW v2 AS SELECT * FROM t1 LEFT JOIN t2 ON t1.t1_int = t2.t2_int;
|
|
SELECT VIEW_DEFINITION FROM INFORMATION_SCHEMA.VIEWS WHERE TABLE_NAME='v2' AND TABLE_SCHEMA='mcs63_db';
|
|
VIEW_DEFINITION
|
|
select `mcs63_db`.`t1`.`t1_int` AS `t1_int`,`mcs63_db`.`t1`.`t1_char` AS `t1_char`,`mcs63_db`.`t2`.`t2_int` AS `t2_int`,`mcs63_db`.`t2`.`t2_char` AS `t2_char` from (`mcs63_db`.`t1` left join `mcs63_db`.`t2` on(`mcs63_db`.`t1`.`t1_int` = `mcs63_db`.`t2`.`t2_int`))
|
|
SELECT * FROM v2;
|
|
t1_int t1_char t2_int t2_char
|
|
1 aaa 1 hhh
|
|
3 ccc 3 iii
|
|
5 eee 5 jjj
|
|
7 gggg 7 llll
|
|
NULL NULL NULL NULL
|
|
2 bbb NULL NULL
|
|
4 ddd NULL NULL
|
|
6 fff NULL NULL
|
|
CREATE VIEW v3 AS SELECT t1.t1_int, t2.t2_int FROM t1 LEFT JOIN t2 ON t1.t1_int = t2.t2_int;
|
|
SELECT VIEW_DEFINITION FROM INFORMATION_SCHEMA.VIEWS WHERE TABLE_NAME='v3' AND TABLE_SCHEMA='mcs63_db';
|
|
VIEW_DEFINITION
|
|
select `mcs63_db`.`t1`.`t1_int` AS `t1_int`,`mcs63_db`.`t2`.`t2_int` AS `t2_int` from (`mcs63_db`.`t1` left join `mcs63_db`.`t2` on(`mcs63_db`.`t1`.`t1_int` = `mcs63_db`.`t2`.`t2_int`))
|
|
SELECT * FROM v3;
|
|
t1_int t2_int
|
|
1 1
|
|
3 3
|
|
5 5
|
|
7 7
|
|
NULL NULL
|
|
2 NULL
|
|
4 NULL
|
|
6 NULL
|
|
CREATE VIEW v4 AS SELECT * FROM t1 LEFT JOIN t2 ON t1.t1_int = t2.t2_int AND t1.t1_int=1;
|
|
SELECT VIEW_DEFINITION FROM INFORMATION_SCHEMA.VIEWS WHERE TABLE_NAME='v4' AND TABLE_SCHEMA='mcs63_db';
|
|
VIEW_DEFINITION
|
|
select `mcs63_db`.`t1`.`t1_int` AS `t1_int`,`mcs63_db`.`t1`.`t1_char` AS `t1_char`,`mcs63_db`.`t2`.`t2_int` AS `t2_int`,`mcs63_db`.`t2`.`t2_char` AS `t2_char` from (`mcs63_db`.`t1` left join `mcs63_db`.`t2` on(`mcs63_db`.`t1`.`t1_int` = `mcs63_db`.`t2`.`t2_int` and `mcs63_db`.`t1`.`t1_int` = 1))
|
|
SELECT * FROM v4;
|
|
t1_int t1_char t2_int t2_char
|
|
1 aaa 1 hhh
|
|
3 ccc 3 iii
|
|
5 eee 5 jjj
|
|
7 gggg 7 llll
|
|
NULL NULL NULL NULL
|
|
2 bbb NULL NULL
|
|
4 ddd NULL NULL
|
|
6 fff NULL NULL
|
|
CREATE VIEW v5 AS SELECT * FROM t1 RIGHT JOIN t2 ON t1.t1_int = t2.t2_int;
|
|
SELECT VIEW_DEFINITION FROM INFORMATION_SCHEMA.VIEWS WHERE TABLE_NAME='v5' AND TABLE_SCHEMA='mcs63_db';
|
|
VIEW_DEFINITION
|
|
select `mcs63_db`.`t1`.`t1_int` AS `t1_int`,`mcs63_db`.`t1`.`t1_char` AS `t1_char`,`mcs63_db`.`t2`.`t2_int` AS `t2_int`,`mcs63_db`.`t2`.`t2_char` AS `t2_char` from (`mcs63_db`.`t2` left join `mcs63_db`.`t1` on(`mcs63_db`.`t1`.`t1_int` = `mcs63_db`.`t2`.`t2_int`))
|
|
SELECT * FROM v5;
|
|
t1_int t1_char t2_int t2_char
|
|
NULL NULL NULL NULL
|
|
1 aaa 1 hhh
|
|
3 ccc 3 iii
|
|
5 eee 5 jjj
|
|
7 gggg 7 llll
|
|
NULL NULL 9 kkkk
|
|
NULL NULL 11 mm
|
|
NULL NULL 13 n
|
|
CREATE VIEW v6 AS SELECT t1.t1_char, t2.t2_char FROM t1 RIGHT JOIN t2 ON t1.t1_int = t2.t2_int;
|
|
SELECT VIEW_DEFINITION FROM INFORMATION_SCHEMA.VIEWS WHERE TABLE_NAME='v6' AND TABLE_SCHEMA='mcs63_db';
|
|
VIEW_DEFINITION
|
|
select `mcs63_db`.`t1`.`t1_char` AS `t1_char`,`mcs63_db`.`t2`.`t2_char` AS `t2_char` from (`mcs63_db`.`t2` left join `mcs63_db`.`t1` on(`mcs63_db`.`t1`.`t1_int` = `mcs63_db`.`t2`.`t2_int`))
|
|
SELECT * FROM v6;
|
|
t1_char t2_char
|
|
NULL NULL
|
|
aaa hhh
|
|
ccc iii
|
|
eee jjj
|
|
gggg llll
|
|
NULL kkkk
|
|
NULL mm
|
|
NULL n
|
|
CREATE VIEW v7 AS SELECT * FROM t1 RIGHT JOIN t2 ON t1.t1_int = t2.t2_int AND t2.t2_int=5;
|
|
SELECT VIEW_DEFINITION FROM INFORMATION_SCHEMA.VIEWS WHERE TABLE_NAME='v7' AND TABLE_SCHEMA='mcs63_db';
|
|
VIEW_DEFINITION
|
|
select `mcs63_db`.`t1`.`t1_int` AS `t1_int`,`mcs63_db`.`t1`.`t1_char` AS `t1_char`,`mcs63_db`.`t2`.`t2_int` AS `t2_int`,`mcs63_db`.`t2`.`t2_char` AS `t2_char` from (`mcs63_db`.`t2` left join `mcs63_db`.`t1` on(`mcs63_db`.`t1`.`t1_int` = `mcs63_db`.`t2`.`t2_int` and `mcs63_db`.`t2`.`t2_int` = 5))
|
|
SELECT * FROM v7;
|
|
t1_int t1_char t2_int t2_char
|
|
NULL NULL NULL NULL
|
|
1 aaa 1 hhh
|
|
3 ccc 3 iii
|
|
5 eee 5 jjj
|
|
7 gggg 7 llll
|
|
NULL NULL 9 kkkk
|
|
NULL NULL 11 mm
|
|
NULL NULL 13 n
|
|
DROP VIEW v0, v1, v2, v3, v4, v5, v6, v7;
|
|
DROP TABLE t1, t2;
|
|
#
|
|
# MCOL-4687 Insert from view regression
|
|
#
|
|
CREATE TABLE t1 (id INT, fname VARCHAR(20)) ENGINE=InnoDB;
|
|
INSERT INTO t1 VALUES (1,'Greg');
|
|
CREATE VIEW v1 as SELECT * FROM t1;
|
|
SELECT * FROM v1;
|
|
id fname
|
|
1 Greg
|
|
CREATE TABLE t2 (id INT, fname VARCHAR(20)) ENGINE=Columnstore;
|
|
INSERT INTO t2 SELECT * FROM (SELECT * FROM v1) t;
|
|
SELECT * FROM t2;
|
|
id fname
|
|
1 Greg
|
|
INSERT INTO t2 SELECT * FROM v1;
|
|
SELECT * FROM t2;
|
|
id fname
|
|
1 Greg
|
|
1 Greg
|
|
DROP TABLE t2;
|
|
DROP VIEW v1;
|
|
DROP TABLE t1;
|
|
CREATE TABLE t1 (id INT, fname VARCHAR(20)) ENGINE=InnoDB;
|
|
INSERT INTO t1 VALUES (1,'Greg');
|
|
INSERT INTO t1 VALUES (1,'Roman');
|
|
CREATE TABLE tt (id INT, fname VARCHAR(20)) ENGINE=Columnstore;
|
|
CREATE VIEW v1 as SELECT id, MAX(fname) FROM t1 GROUP BY id;
|
|
CREATE VIEW v2 as SELECT MIN(id), GROUP_CONCAT(fname) FROM t1;
|
|
INSERT INTO tt SELECT * FROM v1;
|
|
SELECT * FROM tt;
|
|
id fname
|
|
1 Roman
|
|
TRUNCATE TABLE tt;
|
|
INSERT INTO tt SELECT * FROM v2;
|
|
SELECT * FROM tt;
|
|
id fname
|
|
1 Greg,Roman
|
|
DROP VIEW v1,v2;
|
|
DROP TABLE tt,t1;
|
|
CREATE TABLE t1 (id INT, fname VARCHAR(20)) ENGINE=ColumnStore;
|
|
INSERT INTO t1 VALUES (1,'Greg');
|
|
INSERT INTO t1 VALUES (1,'Roman');
|
|
CREATE TABLE tt (id INT, fname VARCHAR(20)) ENGINE=Columnstore;
|
|
CREATE VIEW v1 as SELECT id, MAX(fname) FROM t1 GROUP BY id;
|
|
CREATE VIEW v2 as SELECT MIN(id), GROUP_CONCAT(fname) FROM t1;
|
|
INSERT INTO tt SELECT * FROM v1;
|
|
SELECT * FROM tt;
|
|
id fname
|
|
1 Roman
|
|
TRUNCATE TABLE tt;
|
|
INSERT INTO tt SELECT * FROM v2;
|
|
SELECT * FROM tt;
|
|
id fname
|
|
1 Greg,Roman
|
|
DROP VIEW v1,v2;
|
|
DROP TABLE tt,t1;
|
|
CREATE TABLE t1 (id INT, fname VARCHAR(20)) ENGINE=InnoDB;
|
|
INSERT INTO t1 VALUES (1,'One'),(2,'Two');
|
|
CREATE TABLE t2 (id INT, fname VARCHAR(20)) ENGINE=ColumnStore;
|
|
INSERT INTO t2 VALUES (1,'Uno'),(2,'Due');
|
|
CREATE VIEW v1 AS SELECT t1.id*100+t2.id,CONCAT(t1.fname,'-',t2.fname) FROM t1,t2 WHERE t1.id=t2.id;
|
|
CREATE TABLE tt (id INT, fname VARCHAR(20)) ENGINE=ColumnStore;
|
|
INSERT INTO tt SELECT * FROM v1;
|
|
SELECT * FROM tt;
|
|
id fname
|
|
101 One-Uno
|
|
202 Two-Due
|
|
DROP VIEW v1;
|
|
CREATE VIEW v1 AS SELECT * FROM t1;
|
|
CREATE VIEW v2 AS SELECT * FROM t2;
|
|
INSERT INTO tt SELECT v1.id*100+v1.id, CONCAT(v1.fname,'+',v2.fname) FROM v1,v2 WHERE v1.id=v2.id;
|
|
SELECT * FROM tt;
|
|
id fname
|
|
101 One-Uno
|
|
202 Two-Due
|
|
101 One+Uno
|
|
202 Two+Due
|
|
DROP VIEW v1,v2;
|
|
DROP TABLE tt,t2,t1;
|
|
DROP USER 'cejuser'@'localhost';
|
|
DROP DATABASE mcs63_db;
|