Commit 6703e5b6 authored by Sergei Golubchik's avatar Sergei Golubchik

Bug#20691429 ASSERTION `CHILD_L' FAILED IN STORAGE/MYISAMMRG/HA_MYISAMMRG.CC:631

test case
parent dece4bc5
......@@ -35,3 +35,36 @@ c1
Ann
Alice
DROP TABLE t1, t2, t3, t4, t5;
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);
select * from t5;
ERROR HY000: Unable to open underlying table which is differently defined or of non-MyISAM type or doesn't exist
lock tables t1 read, t2 read, t3 read, t4 read;
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
bob
brian
ann
alice
unlock tables;
drop table t2;
create view t2 as select * from t1;
select * from t4;
ERROR HY000: Unable to open underlying table which is differently defined or of non-MyISAM type or doesn't exist
lock tables t1 read, t2 read, t3 read;
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 t4;
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
unlock tables;
drop view t2, t3;
drop table t1;
......@@ -39,3 +39,34 @@ 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;
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment