You've already forked mariadb-columnstore-engine
mirror of
https://github.com/mariadb-corporation/mariadb-columnstore-engine.git
synced 2025-11-27 08:21:15 +03:00
62 lines
1.8 KiB
Plaintext
62 lines
1.8 KiB
Plaintext
#
|
|
# Test INSERT..SELECT statement
|
|
# Author: Bharath, bharath.bokka@mariadb.com
|
|
#
|
|
-- source ../include/have_columnstore.inc
|
|
|
|
--disable_warnings
|
|
DROP DATABASE IF EXISTS mcs24_db;
|
|
--enable_warnings
|
|
|
|
CREATE DATABASE mcs24_db;
|
|
USE mcs24_db;
|
|
|
|
CREATE TABLE t1(t1_bool BOOLEAN,
|
|
t1_int INT,
|
|
t1_decimal DECIMAL(5,2),
|
|
t1_varchar VARCHAR(10),
|
|
t1_dt DATETIME
|
|
)ENGINE=Columnstore;
|
|
|
|
CREATE TABLE t2(t2_char CHAR(5) NOT NULL DEFAULT 'xyz',
|
|
t2_int INT,
|
|
t2_varchar VARCHAR(10),
|
|
t2_dt DATETIME
|
|
)ENGINE=Columnstore;
|
|
|
|
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');
|
|
SELECT * 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 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 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;
|
|
SELECT * FROM t2;
|
|
|
|
# Negative scenarios
|
|
--error ER_WRONG_VALUE_COUNT_ON_ROW
|
|
INSERT INTO t2 SELECT * FROM t1;
|
|
--error ER_WRONG_VALUE_COUNT_ON_ROW
|
|
INSERT INTO t2 SELECT t1_int,t1_varchar,t1_dt FROM t1;
|
|
--error ER_WRONG_VALUE_COUNT_ON_ROW
|
|
INSERT INTO t2 SELECT (SELECT SUM(LENGTH(t2_varchar)) AS 'var' FROM t2 WHERE t2.t2_char='xyz' LIMIT 1) FROM t2;
|
|
--error ER_NONUNIQ_TABLE
|
|
INSERT INTO t2 SELECT * FROM t2,t2;
|
|
|
|
DROP TABLE t1;
|
|
DROP TABLE t2;
|
|
|
|
# Cross engine
|
|
CREATE TABLE t1(t1_int INT NOT NULL PRIMARY KEY, t1_char CHAR(10))ENGINE=InnoDB;
|
|
CREATE TABLE t2(t2_int INT, t2_char CHAR(10))ENGINE=Columnstore;
|
|
INSERT INTO t1 VALUES(1,'a'),(2,'bb'),(3,'ccc');
|
|
INSERT INTO t2 SELECT * FROM t1;
|
|
INSERT INTO t2 SELECT * FROM t2;
|
|
SELECT * FROM t2;
|
|
|
|
# Clean up
|
|
DROP DATABASE mcs24_db;
|