mirror of
				https://github.com/MariaDB/server.git
				synced 2025-10-31 02:46:29 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			72 lines
		
	
	
	
		
			1.9 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			72 lines
		
	
	
	
		
			1.9 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| # 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;
 | 
