mirror of
https://github.com/MariaDB/server.git
synced 2025-01-16 03:52:35 +01:00
72ba96a48e
Tests with checking metadata or that cannot be run with the view-protocol are excluded from --view-protocol. For tests that do not allow the use of an additional connection, the util connection is disabled with "--disable_service_connection". Also cases with bugs for --view-protocol are disabled.
153 lines
4.1 KiB
Text
153 lines
4.1 KiB
Text
#
|
|
# Test of MERGE TABLES with MyISAM memory mapping enabled (--myisam-use-mmap)
|
|
#
|
|
|
|
# MERGE tables require MyISAM tables
|
|
--let $default=`SELECT @@global.storage_engine`
|
|
SET GLOBAL storage_engine = MyISAM;
|
|
SET SESSION storage_engine = MyISAM;
|
|
|
|
# Clean up resources used in this test case.
|
|
--disable_warnings
|
|
DROP TABLE IF EXISTS t1, t2, m1, m2;
|
|
--enable_warnings
|
|
|
|
####################
|
|
## No locked tables.
|
|
####################
|
|
#
|
|
# INSERT-SELECT with no TEMPORARY table.
|
|
#
|
|
CREATE TABLE t1 (c1 INT);
|
|
CREATE TABLE t2 (c1 INT);
|
|
CREATE TABLE m1 (c1 INT) ENGINE=MRG_MyISAM UNION=(t1,t2)
|
|
INSERT_METHOD=LAST;
|
|
CREATE TABLE m2 (c1 INT) ENGINE=MRG_MyISAM UNION=(t1,t2)
|
|
INSERT_METHOD=LAST;
|
|
INSERT INTO t1 VALUES (1);
|
|
INSERT INTO t2 VALUES (2), (3), (4);
|
|
INSERT INTO m2 SELECT * FROM m1;
|
|
SELECT * FROM m2;
|
|
SELECT * FROM t2;
|
|
DROP TABLE m2, m1, t2, t1;
|
|
#
|
|
# INSERT-SELECT with TEMPORARY select table.
|
|
#
|
|
CREATE TABLE t1 (c1 INT);
|
|
CREATE TABLE t2 (c1 INT);
|
|
CREATE TEMPORARY TABLE m1 (c1 INT) ENGINE=MRG_MyISAM UNION=(t1,t2)
|
|
INSERT_METHOD=LAST;
|
|
CREATE TABLE m2 (c1 INT) ENGINE=MRG_MyISAM UNION=(t1,t2)
|
|
INSERT_METHOD=LAST;
|
|
INSERT INTO t1 VALUES (1);
|
|
INSERT INTO t2 VALUES (2), (3), (4);
|
|
INSERT INTO m2 SELECT * FROM m1;
|
|
SELECT * FROM m2;
|
|
DROP TABLE m2, m1, t2, t1;
|
|
#
|
|
# INSERT-SELECT with TEMPORARY insert table.
|
|
#
|
|
CREATE TABLE t1 (c1 INT);
|
|
CREATE TABLE t2 (c1 INT);
|
|
CREATE TABLE m1 (c1 INT) ENGINE=MRG_MyISAM UNION=(t1,t2)
|
|
INSERT_METHOD=LAST;
|
|
CREATE TEMPORARY TABLE m2 (c1 INT) ENGINE=MRG_MyISAM UNION=(t1,t2)
|
|
INSERT_METHOD=LAST;
|
|
INSERT INTO t1 VALUES (1);
|
|
INSERT INTO t2 VALUES (2), (3), (4);
|
|
INSERT INTO m2 SELECT * FROM m1;
|
|
SELECT * FROM m2;
|
|
DROP TABLE m2, m1, t2, t1;
|
|
#
|
|
# INSERT-SELECT with TEMPORARY both tables.
|
|
#
|
|
CREATE TABLE t1 (c1 INT);
|
|
CREATE TABLE t2 (c1 INT);
|
|
CREATE TEMPORARY TABLE m1 (c1 INT) ENGINE=MRG_MyISAM UNION=(t1,t2)
|
|
INSERT_METHOD=LAST;
|
|
CREATE TEMPORARY TABLE m2 (c1 INT) ENGINE=MRG_MyISAM UNION=(t1,t2)
|
|
INSERT_METHOD=LAST;
|
|
INSERT INTO t1 VALUES (1);
|
|
INSERT INTO t2 VALUES (2), (3), (4);
|
|
INSERT INTO m2 SELECT * FROM m1;
|
|
SELECT * FROM m2;
|
|
DROP TABLE m2, m1, t2, t1;
|
|
|
|
####################
|
|
## With LOCK TABLES.
|
|
####################
|
|
#
|
|
# INSERT-SELECT with no TEMPORARY table.
|
|
#
|
|
--disable_service_connection
|
|
CREATE TABLE t1 (c1 INT);
|
|
CREATE TABLE t2 (c1 INT);
|
|
CREATE TABLE m1 (c1 INT) ENGINE=MRG_MyISAM UNION=(t1,t2)
|
|
INSERT_METHOD=LAST;
|
|
CREATE TABLE m2 (c1 INT) ENGINE=MRG_MyISAM UNION=(t1,t2)
|
|
INSERT_METHOD=LAST;
|
|
LOCK TABLE m1 WRITE, m2 WRITE;
|
|
INSERT INTO t1 VALUES (1);
|
|
INSERT INTO t2 VALUES (2), (3), (4);
|
|
INSERT INTO m2 SELECT * FROM m1;
|
|
SELECT * FROM m2;
|
|
SELECT * FROM t2;
|
|
UNLOCK TABLES;
|
|
DROP TABLE m2, m1, t2, t1;
|
|
#
|
|
# INSERT-SELECT with TEMPORARY select table.
|
|
#
|
|
CREATE TABLE t1 (c1 INT);
|
|
CREATE TABLE t2 (c1 INT);
|
|
CREATE TEMPORARY TABLE m1 (c1 INT) ENGINE=MRG_MyISAM UNION=(t1,t2)
|
|
INSERT_METHOD=LAST;
|
|
CREATE TABLE m2 (c1 INT) ENGINE=MRG_MyISAM UNION=(t1,t2)
|
|
INSERT_METHOD=LAST;
|
|
LOCK TABLE m1 WRITE, m2 WRITE;
|
|
INSERT INTO t1 VALUES (1);
|
|
INSERT INTO t2 VALUES (2), (3), (4);
|
|
INSERT INTO m2 SELECT * FROM m1;
|
|
SELECT * FROM m2;
|
|
UNLOCK TABLES;
|
|
DROP TABLE m2, m1, t2, t1;
|
|
#
|
|
# INSERT-SELECT with TEMPORARY insert table.
|
|
#
|
|
CREATE TABLE t1 (c1 INT);
|
|
CREATE TABLE t2 (c1 INT);
|
|
CREATE TABLE m1 (c1 INT) ENGINE=MRG_MyISAM UNION=(t1,t2)
|
|
INSERT_METHOD=LAST;
|
|
CREATE TEMPORARY TABLE m2 (c1 INT) ENGINE=MRG_MyISAM UNION=(t1,t2)
|
|
INSERT_METHOD=LAST;
|
|
LOCK TABLE m1 WRITE, m2 WRITE;
|
|
INSERT INTO t1 VALUES (1);
|
|
INSERT INTO t2 VALUES (2), (3), (4);
|
|
INSERT INTO m2 SELECT * FROM m1;
|
|
SELECT * FROM m2;
|
|
UNLOCK TABLES;
|
|
DROP TABLE m2, m1, t2, t1;
|
|
#
|
|
# INSERT-SELECT with TEMPORARY both tables.
|
|
#
|
|
CREATE TABLE t1 (c1 INT);
|
|
CREATE TABLE t2 (c1 INT);
|
|
CREATE TEMPORARY TABLE m1 (c1 INT) ENGINE=MRG_MyISAM UNION=(t1,t2)
|
|
INSERT_METHOD=LAST;
|
|
CREATE TEMPORARY TABLE m2 (c1 INT) ENGINE=MRG_MyISAM UNION=(t1,t2)
|
|
INSERT_METHOD=LAST;
|
|
LOCK TABLE m1 WRITE, m2 WRITE;
|
|
INSERT INTO t1 VALUES (1);
|
|
INSERT INTO t2 VALUES (2), (3), (4);
|
|
INSERT INTO m2 SELECT * FROM m1;
|
|
SELECT * FROM m2;
|
|
UNLOCK TABLES;
|
|
DROP TABLE m2, m1, t2, t1;
|
|
--enable_service_connection
|
|
|
|
--echo End of 6.0 tests
|
|
|
|
--disable_result_log
|
|
--disable_query_log
|
|
eval SET GLOBAL storage_engine = $default;
|
|
--enable_result_log
|
|
--enable_query_log
|