mirror of
https://github.com/MariaDB/server.git
synced 2025-01-21 22:34:18 +01:00
Merge bk-internal.mysql.com:/home/bk/mysql-5.1-engines
into stella.local:/home2/mydev/mysql-5.1-bug30491
This commit is contained in:
commit
6bd5aac571
2 changed files with 78 additions and 0 deletions
37
mysql-test/r/merge_innodb.result
Normal file
37
mysql-test/r/merge_innodb.result
Normal file
|
@ -0,0 +1,37 @@
|
|||
DROP TABLE IF EXISTS t1, t2, t3, t4, t5;
|
||||
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;
|
||||
SELECT * FROM t5;
|
||||
ERROR HY000: Unable to open underlying table which is differently defined or of non-MyISAM type or doesn't exist
|
||||
SELECT * FROM t4;
|
||||
c1
|
||||
Ann
|
||||
Alice
|
||||
Bob
|
||||
Brian
|
||||
ALTER TABLE t2 ENGINE=InnoDB;
|
||||
SELECT * FROM t4;
|
||||
ERROR HY000: Unable to open underlying table which is differently defined or of non-MyISAM type or doesn't exist
|
||||
DELETE FROM t2 LIMIT 1;
|
||||
SELECT * FROM t4;
|
||||
ERROR HY000: Unable to open underlying table which is differently defined or of non-MyISAM type or doesn't exist
|
||||
INSERT INTO t4 VALUES ('Beware');
|
||||
ERROR HY000: Unable to open underlying table which is differently defined or of non-MyISAM type or doesn't exist
|
||||
SELECT * FROM t4;
|
||||
ERROR HY000: Unable to open underlying table which is differently defined or of non-MyISAM type or doesn't exist
|
||||
SELECT * FROM t2;
|
||||
c1
|
||||
Brian
|
||||
SELECT * FROM t1;
|
||||
c1
|
||||
Ann
|
||||
Alice
|
||||
DROP TABLE t1, t2, t3, t4, t5;
|
41
mysql-test/t/merge_innodb.test
Normal file
41
mysql-test/t/merge_innodb.test
Normal file
|
@ -0,0 +1,41 @@
|
|||
# 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;
|
||||
|
Loading…
Add table
Reference in a new issue