mirror of
https://github.com/MariaDB/server.git
synced 2025-08-08 11:22:35 +03:00
Moved merge tests from main to suite/merge
This makes it easier to run test on just the MRG_MYISAM engine. Other things: - Renamed merge-big.test to flush_corruption.test as it does not have anything to do with merge tables.
This commit is contained in:
72
mysql-test/suite/merge/merge_innodb.test
Normal file
72
mysql-test/suite/merge/merge_innodb.test
Normal file
@@ -0,0 +1,72 @@
|
||||
# t/merge_innodb.test
|
||||
#
|
||||
# Tests with MERGE tables over InnoDB tables
|
||||
#
|
||||
|
||||
--source include/have_innodb.inc
|
||||
|
||||
--disable_warnings
|
||||
DROP TABLE IF EXISTS t1, t2, t3, t4, t5;
|
||||
--enable_warnings
|
||||
|
||||
#
|
||||
# Bug#30491 - MERGE doesn't report error when one table is Innodb
|
||||
#
|
||||
CREATE TABLE t1 (c1 varchar(100)) ENGINE=MyISAM;
|
||||
CREATE TABLE t2 (c1 varchar(100)) ENGINE=MyISAM;
|
||||
CREATE TABLE t3 (c1 varchar(100)) ENGINE=InnoDB;
|
||||
INSERT INTO t1 VALUES ('Ann'), ('Alice');
|
||||
INSERT INTO t2 VALUES ('Bob'), ('Brian');
|
||||
INSERT INTO t3 VALUES ('Chris'), ('Charlie');
|
||||
CREATE TABLE t4 (c1 varchar(100)) ENGINE=MRG_MYISAM UNION=(t1,t2)
|
||||
INSERT_METHOD=LAST;
|
||||
CREATE TABLE t5 (c1 varchar(100)) ENGINE=MRG_MYISAM UNION=(t1,t3)
|
||||
INSERT_METHOD=LAST;
|
||||
--error ER_WRONG_MRG_TABLE
|
||||
SELECT * FROM t5;
|
||||
SELECT * FROM t4;
|
||||
ALTER TABLE t2 ENGINE=InnoDB;
|
||||
--error ER_WRONG_MRG_TABLE
|
||||
SELECT * FROM t4;
|
||||
DELETE FROM t2 LIMIT 1;
|
||||
--error ER_WRONG_MRG_TABLE
|
||||
SELECT * FROM t4;
|
||||
--error ER_WRONG_MRG_TABLE
|
||||
INSERT INTO t4 VALUES ('Beware');
|
||||
--error ER_WRONG_MRG_TABLE
|
||||
SELECT * FROM t4;
|
||||
SELECT * FROM t2;
|
||||
SELECT * FROM t1;
|
||||
DROP TABLE t1, t2, t3, t4, t5;
|
||||
|
||||
#
|
||||
# Bug#20691429 temporary merge over view under lock tables
|
||||
#
|
||||
create table t1 (c1 varchar(100));
|
||||
create table t2 (c1 varchar(100));
|
||||
create view t3 as select * from t1;
|
||||
insert into t1 values ('ann'), ('alice');
|
||||
insert into t2 values ('bob'), ('brian');
|
||||
create temporary table t4 (c1 varchar(100)) engine=MERGE union=(t2, t1);
|
||||
create temporary table t5 (c1 varchar(100)) engine=MERGE union=(t3, t1);
|
||||
--error ER_WRONG_MRG_TABLE
|
||||
select * from t5;
|
||||
lock tables t1 read, t2 read, t3 read, t4 read;
|
||||
--error ER_WRONG_MRG_TABLE
|
||||
select * from t5;
|
||||
select * from t4;
|
||||
unlock tables;
|
||||
drop table t2;
|
||||
create view t2 as select * from t1;
|
||||
--error ER_WRONG_MRG_TABLE
|
||||
select * from t4;
|
||||
lock tables t1 read, t2 read, t3 read;
|
||||
--error ER_WRONG_MRG_TABLE
|
||||
select * from t4;
|
||||
--error ER_WRONG_MRG_TABLE
|
||||
select * from t4;
|
||||
--error ER_WRONG_MRG_TABLE
|
||||
select * from t4;
|
||||
unlock tables;
|
||||
drop view t2, t3;
|
||||
drop table t1;
|
Reference in New Issue
Block a user