You've already forked mariadb-columnstore-engine
mirror of
https://github.com/mariadb-corporation/mariadb-columnstore-engine.git
synced 2025-08-01 06:46:55 +03:00
Moved some MTR cases to a new 1pmonly directory. Also added order by clause to few cases
This commit is contained in:
@ -14,7 +14,7 @@ t2_dt DATETIME
|
|||||||
)ENGINE=Columnstore;
|
)ENGINE=Columnstore;
|
||||||
INSERT INTO t1 VALUES(1,1111,11.11,'aaaaa','2020-02-01 17:8:19'),
|
INSERT INTO t1 VALUES(1,1111,11.11,'aaaaa','2020-02-01 17:8:19'),
|
||||||
(1,2222,22.22,'bbbb','1234-11-21 9:18:16');
|
(1,2222,22.22,'bbbb','1234-11-21 9:18:16');
|
||||||
SELECT * FROM t1;
|
SELECT * FROM t1 ORDER BY t1_int, t1_decimal, t1_varchar, t1_dt;
|
||||||
t1_bool t1_int t1_decimal t1_varchar t1_dt
|
t1_bool t1_int t1_decimal t1_varchar t1_dt
|
||||||
1 1111 11.11 aaaaa 2020-02-01 17:08:19
|
1 1111 11.11 aaaaa 2020-02-01 17:08:19
|
||||||
1 2222 22.22 bbbb 1234-11-21 09:18:16
|
1 2222 22.22 bbbb 1234-11-21 09:18:16
|
||||||
@ -24,17 +24,17 @@ INSERT INTO t2 SELECT * FROM t2;
|
|||||||
INSERT INTO t2 (t2_char) SELECT (SELECT SUM(LENGTH(t1_varchar)) FROM t1) FROM t1 LIMIT 1;
|
INSERT INTO t2 (t2_char) SELECT (SELECT SUM(LENGTH(t1_varchar)) FROM t1) FROM t1 LIMIT 1;
|
||||||
INSERT INTO t2 (t2_char) SELECT (SELECT MAX(LENGTH(t1_varchar)) AS 'var' FROM t1) FROM t1 LIMIT 1;
|
INSERT INTO t2 (t2_char) SELECT (SELECT MAX(LENGTH(t1_varchar)) AS 'var' FROM t1) FROM t1 LIMIT 1;
|
||||||
INSERT INTO t2 SELECT * FROM t2 WHERE t2.t2_char='xyz' LIMIT 1;
|
INSERT INTO t2 SELECT * FROM t2 WHERE t2.t2_char='xyz' LIMIT 1;
|
||||||
SELECT * FROM t2;
|
SELECT * FROM t2 ORDER BY t2_int, t2_varchar, t2_dt;
|
||||||
t2_char t2_int t2_varchar t2_dt
|
t2_char t2_int t2_varchar t2_dt
|
||||||
xyz 1111 aaaaa 2020-02-01 17:08:19
|
|
||||||
xyz 2222 bbbb 1234-11-21 09:18:16
|
|
||||||
xyz 1111 aaaaa 2020-02-01 17:08:19
|
|
||||||
xyz 1111 aaaaa 2020-02-01 17:08:19
|
|
||||||
xyz 2222 bbbb 1234-11-21 09:18:16
|
|
||||||
xyz 1111 aaaaa 2020-02-01 17:08:19
|
|
||||||
9 NULL NULL NULL
|
9 NULL NULL NULL
|
||||||
5 NULL NULL NULL
|
5 NULL NULL NULL
|
||||||
xyz 1111 aaaaa 2020-02-01 17:08:19
|
xyz 1111 aaaaa 2020-02-01 17:08:19
|
||||||
|
xyz 1111 aaaaa 2020-02-01 17:08:19
|
||||||
|
xyz 1111 aaaaa 2020-02-01 17:08:19
|
||||||
|
xyz 1111 aaaaa 2020-02-01 17:08:19
|
||||||
|
xyz 1111 aaaaa 2020-02-01 17:08:19
|
||||||
|
xyz 2222 bbbb 1234-11-21 09:18:16
|
||||||
|
xyz 2222 bbbb 1234-11-21 09:18:16
|
||||||
INSERT INTO t2 SELECT * FROM t1;
|
INSERT INTO t2 SELECT * FROM t1;
|
||||||
ERROR 21S01: Column count doesn't match value count at row 1
|
ERROR 21S01: Column count doesn't match value count at row 1
|
||||||
INSERT INTO t2 SELECT t1_int,t1_varchar,t1_dt FROM t1;
|
INSERT INTO t2 SELECT t1_int,t1_varchar,t1_dt FROM t1;
|
||||||
|
@ -52,13 +52,13 @@ Warning 1262 Row 3 was truncated; it contained more data than there were input c
|
|||||||
Note 1265 Data truncated for column 'a' at row 4
|
Note 1265 Data truncated for column 'a' at row 4
|
||||||
Warning 1366 Incorrect integer value: 'wrong end ' for column `mcs28_db1`.`t1`.`a` at row 5
|
Warning 1366 Incorrect integer value: 'wrong end ' for column `mcs28_db1`.`t1`.`a` at row 5
|
||||||
Warning 1262 Row 5 was truncated; it contained more data than there were input columns
|
Warning 1262 Row 5 was truncated; it contained more data than there were input columns
|
||||||
SELECT * FROM t1;
|
SELECT * FROM t1 ORDER BY a, b;
|
||||||
a b
|
a b
|
||||||
|
0 1234567890
|
||||||
|
0 1234567890
|
||||||
1 row 1
|
1 row 1
|
||||||
2 row 2
|
2 row 2
|
||||||
0 1234567890
|
|
||||||
3 row 3
|
3 row 3
|
||||||
0 1234567890
|
|
||||||
TRUNCATE TABLE t1;
|
TRUNCATE TABLE t1;
|
||||||
LOAD DATA LOCAL infile 'MTR_SUITE_DIR/../std_data/loaddata4.dat' IGNORE INTO TABLE t1 FIELDS TERMINATED BY '' ENCLOSED BY '' LINES TERMINATED BY '' IGNORE 1 LINES;;
|
LOAD DATA LOCAL infile 'MTR_SUITE_DIR/../std_data/loaddata4.dat' IGNORE INTO TABLE t1 FIELDS TERMINATED BY '' ENCLOSED BY '' LINES TERMINATED BY '' IGNORE 1 LINES;;
|
||||||
Warnings:
|
Warnings:
|
||||||
@ -68,12 +68,12 @@ Note 1265 Data truncated for column 'a' at row 3
|
|||||||
Warning 1366 Incorrect integer value: '
|
Warning 1366 Incorrect integer value: '
|
||||||
' for column `mcs28_db1`.`t1`.`a` at row 4
|
' for column `mcs28_db1`.`t1`.`a` at row 4
|
||||||
Warning 1261 Row 4 doesn't contain data for all columns
|
Warning 1261 Row 4 doesn't contain data for all columns
|
||||||
SELECT * FROM t1;
|
SELECT * FROM t1 ORDER BY a, b;
|
||||||
a b
|
a b
|
||||||
|
0 NULL
|
||||||
1 row 1
|
1 row 1
|
||||||
2 row 2
|
2 row 2
|
||||||
3 row 3
|
3 row 3
|
||||||
0 NULL
|
|
||||||
SHOW CREATE TABLE t1;
|
SHOW CREATE TABLE t1;
|
||||||
Table Create Table
|
Table Create Table
|
||||||
t1 CREATE TABLE `t1` (
|
t1 CREATE TABLE `t1` (
|
||||||
|
@ -27,7 +27,7 @@ t2_dt DATETIME
|
|||||||
|
|
||||||
INSERT INTO t1 VALUES(1,1111,11.11,'aaaaa','2020-02-01 17:8:19'),
|
INSERT INTO t1 VALUES(1,1111,11.11,'aaaaa','2020-02-01 17:8:19'),
|
||||||
(1,2222,22.22,'bbbb','1234-11-21 9:18:16');
|
(1,2222,22.22,'bbbb','1234-11-21 9:18:16');
|
||||||
SELECT * FROM t1;
|
SELECT * FROM t1 ORDER BY t1_int, t1_decimal, t1_varchar, t1_dt;
|
||||||
|
|
||||||
INSERT INTO t2 (t2_int,t2_varchar,t2_dt) SELECT t1_int,t1_varchar,t1_dt FROM t1;
|
INSERT INTO t2 (t2_int,t2_varchar,t2_dt) SELECT t1_int,t1_varchar,t1_dt FROM t1;
|
||||||
INSERT INTO t2 (t2_int,t2_varchar,t2_dt) SELECT t1_int,t1_varchar,t1_dt FROM t1 WHERE t1.t1_int=1111;
|
INSERT INTO t2 (t2_int,t2_varchar,t2_dt) SELECT t1_int,t1_varchar,t1_dt FROM t1 WHERE t1.t1_int=1111;
|
||||||
@ -35,7 +35,7 @@ INSERT INTO t2 SELECT * FROM t2;
|
|||||||
INSERT INTO t2 (t2_char) SELECT (SELECT SUM(LENGTH(t1_varchar)) FROM t1) FROM t1 LIMIT 1;
|
INSERT INTO t2 (t2_char) SELECT (SELECT SUM(LENGTH(t1_varchar)) FROM t1) FROM t1 LIMIT 1;
|
||||||
INSERT INTO t2 (t2_char) SELECT (SELECT MAX(LENGTH(t1_varchar)) AS 'var' FROM t1) FROM t1 LIMIT 1;
|
INSERT INTO t2 (t2_char) SELECT (SELECT MAX(LENGTH(t1_varchar)) AS 'var' FROM t1) FROM t1 LIMIT 1;
|
||||||
INSERT INTO t2 SELECT * FROM t2 WHERE t2.t2_char='xyz' LIMIT 1;
|
INSERT INTO t2 SELECT * FROM t2 WHERE t2.t2_char='xyz' LIMIT 1;
|
||||||
SELECT * FROM t2;
|
SELECT * FROM t2 ORDER BY t2_int, t2_varchar, t2_dt;
|
||||||
|
|
||||||
# Negative scenarios
|
# Negative scenarios
|
||||||
--error ER_WRONG_VALUE_COUNT_ON_ROW
|
--error ER_WRONG_VALUE_COUNT_ON_ROW
|
||||||
|
@ -36,14 +36,14 @@ DROP TABLE t1;
|
|||||||
CREATE TABLE t1 (a INT, b CHAR(10)) ENGINE=Columnstore;
|
CREATE TABLE t1 (a INT, b CHAR(10)) ENGINE=Columnstore;
|
||||||
--replace_result $MTR_SUITE_DIR MTR_SUITE_DIR
|
--replace_result $MTR_SUITE_DIR MTR_SUITE_DIR
|
||||||
--eval LOAD DATA LOCAL infile '$datafile' IGNORE INTO TABLE t1 FIELDS TERMINATED BY '' ENCLOSED BY '' IGNORE 1 LINES;
|
--eval LOAD DATA LOCAL infile '$datafile' IGNORE INTO TABLE t1 FIELDS TERMINATED BY '' ENCLOSED BY '' IGNORE 1 LINES;
|
||||||
SELECT * FROM t1;
|
SELECT * FROM t1 ORDER BY a, b;
|
||||||
TRUNCATE TABLE t1;
|
TRUNCATE TABLE t1;
|
||||||
|
|
||||||
--let $datafile=$MTR_SUITE_DIR/../std_data/loaddata4.dat
|
--let $datafile=$MTR_SUITE_DIR/../std_data/loaddata4.dat
|
||||||
--replace_result $MTR_SUITE_DIR MTR_SUITE_DIR
|
--replace_result $MTR_SUITE_DIR MTR_SUITE_DIR
|
||||||
--eval LOAD DATA LOCAL infile '$datafile' IGNORE INTO TABLE t1 FIELDS TERMINATED BY '' ENCLOSED BY '' LINES TERMINATED BY '' IGNORE 1 LINES;
|
--eval LOAD DATA LOCAL infile '$datafile' IGNORE INTO TABLE t1 FIELDS TERMINATED BY '' ENCLOSED BY '' LINES TERMINATED BY '' IGNORE 1 LINES;
|
||||||
# The empty line last comes from the end line field in the file
|
# The empty line last comes from the end line field in the file
|
||||||
SELECT * FROM t1;
|
SELECT * FROM t1 ORDER BY a, b;
|
||||||
--replace_regex /( COLLATE=latin1_swedish_ci)//
|
--replace_regex /( COLLATE=latin1_swedish_ci)//
|
||||||
SHOW CREATE TABLE t1;
|
SHOW CREATE TABLE t1;
|
||||||
|
|
||||||
|
@ -1,88 +0,0 @@
|
|||||||
DROP DATABASE IF EXISTS mcol_4222_db;
|
|
||||||
CREATE DATABASE mcol_4222_db;
|
|
||||||
USE mcol_4222_db;
|
|
||||||
CREATE TABLE t1_i (
|
|
||||||
`C_` varchar(100) DEFAULT NULL
|
|
||||||
) ENGINE=innodb DEFAULT CHARSET=utf8 ;
|
|
||||||
CREATE TABLE t1_cs (
|
|
||||||
`C_` varchar(100) DEFAULT NULL
|
|
||||||
) ENGINE=columnstore DEFAULT CHARSET=utf8 ;
|
|
||||||
CREATE PROCEDURE generate_data()
|
|
||||||
BEGIN NOT ATOMIC
|
|
||||||
DECLARE i INT DEFAULT 0;
|
|
||||||
TRUNCATE TABLE t1_i;
|
|
||||||
TRUNCATE TABLE t1_cs;
|
|
||||||
START TRANSACTION;
|
|
||||||
WHILE i < 70000 DO
|
|
||||||
INSERT INTO t1_i VALUES (i);
|
|
||||||
SET i = i + 1;
|
|
||||||
END WHILE;
|
|
||||||
COMMIT;
|
|
||||||
END//
|
|
||||||
CALL generate_data();
|
|
||||||
INSERT INTO t1_cs SELECT * FROM t1_i;
|
|
||||||
SELECT COUNT(*), SUM(t1_i.C_ IS NULL) FROM t1_i;
|
|
||||||
COUNT(*) SUM(t1_i.C_ IS NULL)
|
|
||||||
70000 0
|
|
||||||
SELECT COUNT(*), SUM(t1_cs.C_ IS NULL) FROM t1_cs;
|
|
||||||
COUNT(*) SUM(t1_cs.C_ IS NULL)
|
|
||||||
70000 0
|
|
||||||
CREATE TABLE t2 LIKE t1_i;
|
|
||||||
INSERT INTO t2 SELECT * FROM (SELECT * FROM t1_cs) derived;
|
|
||||||
SELECT COUNT(*), SUM(C_ IS NULL) FROM t2;
|
|
||||||
COUNT(*) SUM(C_ IS NULL)
|
|
||||||
70000 0
|
|
||||||
DROP TABLE t2;
|
|
||||||
CREATE TABLE t2 LIKE t1_cs;
|
|
||||||
INSERT INTO t2 SELECT * FROM (SELECT * FROM t1_i) derived;
|
|
||||||
SELECT COUNT(*), SUM(C_ IS NULL) FROM t2;
|
|
||||||
COUNT(*) SUM(C_ IS NULL)
|
|
||||||
70000 0
|
|
||||||
DROP TABLE t2;
|
|
||||||
CREATE TABLE t2 LIKE t1_cs;
|
|
||||||
INSERT INTO t2 SELECT * FROM (SELECT * FROM t1_cs) derived;
|
|
||||||
SELECT COUNT(*), SUM(C_ IS NULL) FROM t2;
|
|
||||||
COUNT(*) SUM(C_ IS NULL)
|
|
||||||
70000 0
|
|
||||||
DROP TABLE t2;
|
|
||||||
DROP TABLE IF EXISTS t1_i;
|
|
||||||
DROP TABLE IF EXISTS t1_cs;
|
|
||||||
CREATE TABLE t1_i (
|
|
||||||
`C_` varchar(100) NOT NULL DEFAULT 123
|
|
||||||
) ENGINE=innodb DEFAULT CHARSET=utf8 ;
|
|
||||||
CREATE TABLE t1_cs (
|
|
||||||
`C_` varchar(100) NOT NULL DEFAULT 123
|
|
||||||
) ENGINE=columnstore DEFAULT CHARSET=utf8 ;
|
|
||||||
CALL generate_data();
|
|
||||||
INSERT INTO t1_cs SELECT * FROM t1_i;
|
|
||||||
SELECT COUNT(*), SUM(t1_i.C_ IS NULL) FROM t1_i;
|
|
||||||
COUNT(*) SUM(t1_i.C_ IS NULL)
|
|
||||||
70000 0
|
|
||||||
SELECT COUNT(*), SUM(t1_cs.C_ IS NULL) FROM t1_cs;
|
|
||||||
COUNT(*) SUM(t1_cs.C_ IS NULL)
|
|
||||||
70000 0
|
|
||||||
CREATE TABLE t2 LIKE t1_i;
|
|
||||||
INSERT INTO t2 SELECT * FROM (SELECT * FROM t1_cs) derived;
|
|
||||||
SELECT * FROM t2 LIMIT 3;
|
|
||||||
C_
|
|
||||||
0
|
|
||||||
1
|
|
||||||
2
|
|
||||||
DROP TABLE t2;
|
|
||||||
CREATE TABLE t2 LIKE t1_cs;
|
|
||||||
INSERT INTO t2 SELECT * FROM (SELECT * FROM t1_i) derived;
|
|
||||||
SELECT * FROM t2 LIMIT 3;
|
|
||||||
C_
|
|
||||||
0
|
|
||||||
1
|
|
||||||
2
|
|
||||||
DROP TABLE t2;
|
|
||||||
CREATE TABLE t2 LIKE t1_cs;
|
|
||||||
INSERT INTO t2 SELECT * FROM (SELECT * FROM t1_cs) derived;
|
|
||||||
SELECT * FROM t2 LIMIT 3;
|
|
||||||
C_
|
|
||||||
0
|
|
||||||
1
|
|
||||||
2
|
|
||||||
DROP TABLE t2;
|
|
||||||
DROP DATABASE mcol_4222_db;
|
|
@ -1,103 +0,0 @@
|
|||||||
#
|
|
||||||
# Test based on Jira MCOL-4222
|
|
||||||
# Author: Bharath, bharath.bokka@mariadb.com
|
|
||||||
#
|
|
||||||
-- source ../include/have_columnstore.inc
|
|
||||||
|
|
||||||
--disable_warnings
|
|
||||||
DROP DATABASE IF EXISTS mcol_4222_db;
|
|
||||||
--enable_warnings
|
|
||||||
|
|
||||||
CREATE DATABASE mcol_4222_db;
|
|
||||||
USE mcol_4222_db;
|
|
||||||
|
|
||||||
#
|
|
||||||
# Scenario-1: Tables with Default NULL
|
|
||||||
#
|
|
||||||
CREATE TABLE t1_i (
|
|
||||||
`C_` varchar(100) DEFAULT NULL
|
|
||||||
) ENGINE=innodb DEFAULT CHARSET=utf8 ;
|
|
||||||
|
|
||||||
CREATE TABLE t1_cs (
|
|
||||||
`C_` varchar(100) DEFAULT NULL
|
|
||||||
) ENGINE=columnstore DEFAULT CHARSET=utf8 ;
|
|
||||||
|
|
||||||
# Populate tables
|
|
||||||
DELIMITER //;
|
|
||||||
CREATE PROCEDURE generate_data()
|
|
||||||
BEGIN NOT ATOMIC
|
|
||||||
DECLARE i INT DEFAULT 0;
|
|
||||||
TRUNCATE TABLE t1_i;
|
|
||||||
TRUNCATE TABLE t1_cs;
|
|
||||||
START TRANSACTION;
|
|
||||||
WHILE i < 70000 DO
|
|
||||||
INSERT INTO t1_i VALUES (i);
|
|
||||||
SET i = i + 1;
|
|
||||||
END WHILE;
|
|
||||||
COMMIT;
|
|
||||||
END//
|
|
||||||
DELIMITER ;//
|
|
||||||
|
|
||||||
CALL generate_data();
|
|
||||||
INSERT INTO t1_cs SELECT * FROM t1_i;
|
|
||||||
SELECT COUNT(*), SUM(t1_i.C_ IS NULL) FROM t1_i;
|
|
||||||
SELECT COUNT(*), SUM(t1_cs.C_ IS NULL) FROM t1_cs;
|
|
||||||
|
|
||||||
# Copy derived CS table to innodb table
|
|
||||||
CREATE TABLE t2 LIKE t1_i;
|
|
||||||
INSERT INTO t2 SELECT * FROM (SELECT * FROM t1_cs) derived;
|
|
||||||
SELECT COUNT(*), SUM(C_ IS NULL) FROM t2;
|
|
||||||
DROP TABLE t2;
|
|
||||||
|
|
||||||
# Copy derived innodb table to CS table
|
|
||||||
CREATE TABLE t2 LIKE t1_cs;
|
|
||||||
INSERT INTO t2 SELECT * FROM (SELECT * FROM t1_i) derived;
|
|
||||||
SELECT COUNT(*), SUM(C_ IS NULL) FROM t2;
|
|
||||||
DROP TABLE t2;
|
|
||||||
|
|
||||||
# Copy derived CS table to another CS table
|
|
||||||
CREATE TABLE t2 LIKE t1_cs;
|
|
||||||
INSERT INTO t2 SELECT * FROM (SELECT * FROM t1_cs) derived;
|
|
||||||
SELECT COUNT(*), SUM(C_ IS NULL) FROM t2;
|
|
||||||
DROP TABLE t2;
|
|
||||||
|
|
||||||
#
|
|
||||||
# Scenario-2: Tables with NOT NULL constraint and a default value
|
|
||||||
#
|
|
||||||
DROP TABLE IF EXISTS t1_i;
|
|
||||||
DROP TABLE IF EXISTS t1_cs;
|
|
||||||
|
|
||||||
CREATE TABLE t1_i (
|
|
||||||
`C_` varchar(100) NOT NULL DEFAULT 123
|
|
||||||
) ENGINE=innodb DEFAULT CHARSET=utf8 ;
|
|
||||||
|
|
||||||
CREATE TABLE t1_cs (
|
|
||||||
`C_` varchar(100) NOT NULL DEFAULT 123
|
|
||||||
) ENGINE=columnstore DEFAULT CHARSET=utf8 ;
|
|
||||||
|
|
||||||
# Populate tables
|
|
||||||
CALL generate_data();
|
|
||||||
INSERT INTO t1_cs SELECT * FROM t1_i;
|
|
||||||
SELECT COUNT(*), SUM(t1_i.C_ IS NULL) FROM t1_i;
|
|
||||||
SELECT COUNT(*), SUM(t1_cs.C_ IS NULL) FROM t1_cs;
|
|
||||||
|
|
||||||
# Copy derived CS table to innodb table
|
|
||||||
CREATE TABLE t2 LIKE t1_i;
|
|
||||||
INSERT INTO t2 SELECT * FROM (SELECT * FROM t1_cs) derived;
|
|
||||||
SELECT * FROM t2 LIMIT 3;
|
|
||||||
DROP TABLE t2;
|
|
||||||
|
|
||||||
# Copy derived innodb table to CS table
|
|
||||||
CREATE TABLE t2 LIKE t1_cs;
|
|
||||||
INSERT INTO t2 SELECT * FROM (SELECT * FROM t1_i) derived;
|
|
||||||
SELECT * FROM t2 LIMIT 3;
|
|
||||||
DROP TABLE t2;
|
|
||||||
|
|
||||||
# Copy derived CS table to another CS table
|
|
||||||
CREATE TABLE t2 LIKE t1_cs;
|
|
||||||
INSERT INTO t2 SELECT * FROM (SELECT * FROM t1_cs) derived;
|
|
||||||
SELECT * FROM t2 LIMIT 3;
|
|
||||||
DROP TABLE t2;
|
|
||||||
|
|
||||||
# Clean UP
|
|
||||||
DROP DATABASE mcol_4222_db;
|
|
Reference in New Issue
Block a user