mirror of
https://github.com/MariaDB/server.git
synced 2025-08-01 03:47:19 +03:00
Merge branch '11.0' into 11.1
This commit is contained in:
22
mysql-test/suite/merge/alter_table.result
Normal file
22
mysql-test/suite/merge/alter_table.result
Normal file
@ -0,0 +1,22 @@
|
||||
#
|
||||
# BUG#6236 - ALTER TABLE MODIFY should set implicit NOT NULL on PK columns
|
||||
#
|
||||
create table t1 ( a varchar(10) not null primary key ) engine=myisam;
|
||||
create table t2 ( a varchar(10) not null primary key ) engine=merge union=(t1);
|
||||
flush tables;
|
||||
alter table t1 modify a varchar(10);
|
||||
show create table t2;
|
||||
Table Create Table
|
||||
t2 CREATE TABLE `t2` (
|
||||
`a` varchar(10) NOT NULL,
|
||||
PRIMARY KEY (`a`)
|
||||
) ENGINE=MRG_MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci UNION=(`t1`)
|
||||
flush tables;
|
||||
alter table t1 modify a varchar(10) not null;
|
||||
show create table t2;
|
||||
Table Create Table
|
||||
t2 CREATE TABLE `t2` (
|
||||
`a` varchar(10) NOT NULL,
|
||||
PRIMARY KEY (`a`)
|
||||
) ENGINE=MRG_MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci UNION=(`t1`)
|
||||
drop table if exists t1, t2;
|
12
mysql-test/suite/merge/alter_table.test
Normal file
12
mysql-test/suite/merge/alter_table.test
Normal file
@ -0,0 +1,12 @@
|
||||
--echo #
|
||||
--echo # BUG#6236 - ALTER TABLE MODIFY should set implicit NOT NULL on PK columns
|
||||
--echo #
|
||||
create table t1 ( a varchar(10) not null primary key ) engine=myisam;
|
||||
create table t2 ( a varchar(10) not null primary key ) engine=merge union=(t1);
|
||||
flush tables;
|
||||
alter table t1 modify a varchar(10);
|
||||
show create table t2;
|
||||
flush tables;
|
||||
alter table t1 modify a varchar(10) not null;
|
||||
show create table t2;
|
||||
drop table if exists t1, t2;
|
3989
mysql-test/suite/merge/merge.result
Normal file
3989
mysql-test/suite/merge/merge.result
Normal file
File diff suppressed because it is too large
Load Diff
2944
mysql-test/suite/merge/merge.test
Normal file
2944
mysql-test/suite/merge/merge.test
Normal file
File diff suppressed because it is too large
Load Diff
27
mysql-test/suite/merge/merge_debug.result
Normal file
27
mysql-test/suite/merge/merge_debug.result
Normal file
@ -0,0 +1,27 @@
|
||||
set @default_storage_engine= @@global.default_storage_engine;
|
||||
set global default_storage_engine=myisam;
|
||||
set session default_storage_engine=myisam;
|
||||
call mtr.add_suppression("Index for table .*crashed' is corrupt; try to repair it");
|
||||
drop table if exists crashed,t2,t3,t4;
|
||||
SET @orig_debug=@@global.debug_dbug;
|
||||
CREATE TABLE crashed (c1 INT);
|
||||
CREATE TABLE t2 (c1 INT);
|
||||
CREATE TABLE t3 (c1 INT);
|
||||
CREATE TABLE t4 (c1 INT) ENGINE=MRG_MYISAM UNION=(crashed,t2,t3) INSERT_METHOD=LAST;
|
||||
INSERT INTO crashed VALUES (10);
|
||||
INSERT INTO t2 VALUES (20);
|
||||
INSERT INTO t3 VALUES (30);
|
||||
LOCK TABLES t3 WRITE, t2 WRITE, t4 WRITE, crashed WRITE;
|
||||
SET GLOBAL debug_dbug="+d,myisam_pretend_crashed_table_on_open";
|
||||
CREATE TRIGGER t1_ai AFTER INSERT ON crashed FOR EACH ROW INSERT INTO t2 VALUES(29);
|
||||
SET GLOBAL debug_dbug=@orig_debug;
|
||||
INSERT INTO t4 VALUES (39);
|
||||
ERROR HY000: Table 'crashed' was not locked with LOCK TABLES
|
||||
INSERT INTO crashed VALUES (11);
|
||||
ERROR HY000: Table 'crashed' was not locked with LOCK TABLES
|
||||
INSERT INTO t2 VALUES (21);
|
||||
INSERT INTO t3 VALUES (31);
|
||||
UNLOCK TABLES;
|
||||
DROP TRIGGER t1_ai;
|
||||
DROP TABLE t4,crashed,t2,t3;
|
||||
set global default_storage_engine=@default_storage_engine;
|
46
mysql-test/suite/merge/merge_debug.test
Normal file
46
mysql-test/suite/merge/merge_debug.test
Normal file
@ -0,0 +1,46 @@
|
||||
#
|
||||
# Test failures with MERGE
|
||||
#
|
||||
|
||||
--source include/have_debug.inc
|
||||
|
||||
set @default_storage_engine= @@global.default_storage_engine;
|
||||
set global default_storage_engine=myisam;
|
||||
set session default_storage_engine=myisam;
|
||||
|
||||
call mtr.add_suppression("Index for table .*crashed' is corrupt; try to repair it");
|
||||
|
||||
--disable_warnings
|
||||
drop table if exists crashed,t2,t3,t4;
|
||||
--enable_warnings
|
||||
|
||||
SET @orig_debug=@@global.debug_dbug;
|
||||
|
||||
#
|
||||
# Check that MariaDB handles reopen that fails without crashing
|
||||
#
|
||||
CREATE TABLE crashed (c1 INT);
|
||||
CREATE TABLE t2 (c1 INT);
|
||||
CREATE TABLE t3 (c1 INT);
|
||||
CREATE TABLE t4 (c1 INT) ENGINE=MRG_MYISAM UNION=(crashed,t2,t3) INSERT_METHOD=LAST;
|
||||
INSERT INTO crashed VALUES (10);
|
||||
INSERT INTO t2 VALUES (20);
|
||||
INSERT INTO t3 VALUES (30);
|
||||
|
||||
LOCK TABLES t3 WRITE, t2 WRITE, t4 WRITE, crashed WRITE;
|
||||
SET GLOBAL debug_dbug="+d,myisam_pretend_crashed_table_on_open";
|
||||
--disable_warnings
|
||||
CREATE TRIGGER t1_ai AFTER INSERT ON crashed FOR EACH ROW INSERT INTO t2 VALUES(29);
|
||||
--enable_warnings
|
||||
SET GLOBAL debug_dbug=@orig_debug;
|
||||
--error ER_TABLE_NOT_LOCKED
|
||||
INSERT INTO t4 VALUES (39);
|
||||
--error ER_TABLE_NOT_LOCKED
|
||||
INSERT INTO crashed VALUES (11);
|
||||
INSERT INTO t2 VALUES (21);
|
||||
INSERT INTO t3 VALUES (31);
|
||||
UNLOCK TABLES;
|
||||
DROP TRIGGER t1_ai;
|
||||
DROP TABLE t4,crashed,t2,t3;
|
||||
|
||||
set global default_storage_engine=@default_storage_engine;
|
70
mysql-test/suite/merge/merge_innodb.result
Normal file
70
mysql-test/suite/merge/merge_innodb.result
Normal file
@ -0,0 +1,70 @@
|
||||
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;
|
||||
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;
|
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;
|
1
mysql-test/suite/merge/merge_mmap-master.opt
Normal file
1
mysql-test/suite/merge/merge_mmap-master.opt
Normal file
@ -0,0 +1 @@
|
||||
--myisam-use-mmap
|
190
mysql-test/suite/merge/merge_mmap.result
Normal file
190
mysql-test/suite/merge/merge_mmap.result
Normal file
@ -0,0 +1,190 @@
|
||||
SET GLOBAL default_storage_engine = MyISAM;
|
||||
SET SESSION default_storage_engine = MyISAM;
|
||||
DROP TABLE IF EXISTS t1, t2, m1, m2;
|
||||
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;
|
||||
c1
|
||||
1
|
||||
2
|
||||
3
|
||||
4
|
||||
1
|
||||
2
|
||||
3
|
||||
4
|
||||
SELECT * FROM t2;
|
||||
c1
|
||||
2
|
||||
3
|
||||
4
|
||||
1
|
||||
2
|
||||
3
|
||||
4
|
||||
DROP TABLE m2, m1, t2, t1;
|
||||
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;
|
||||
c1
|
||||
1
|
||||
2
|
||||
3
|
||||
4
|
||||
1
|
||||
2
|
||||
3
|
||||
4
|
||||
DROP TABLE m2, m1, t2, t1;
|
||||
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;
|
||||
c1
|
||||
1
|
||||
2
|
||||
3
|
||||
4
|
||||
1
|
||||
2
|
||||
3
|
||||
4
|
||||
DROP TABLE m2, m1, t2, t1;
|
||||
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;
|
||||
c1
|
||||
1
|
||||
2
|
||||
3
|
||||
4
|
||||
1
|
||||
2
|
||||
3
|
||||
4
|
||||
DROP TABLE m2, m1, t2, t1;
|
||||
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;
|
||||
c1
|
||||
1
|
||||
2
|
||||
3
|
||||
4
|
||||
1
|
||||
2
|
||||
3
|
||||
4
|
||||
SELECT * FROM t2;
|
||||
c1
|
||||
2
|
||||
3
|
||||
4
|
||||
1
|
||||
2
|
||||
3
|
||||
4
|
||||
UNLOCK TABLES;
|
||||
DROP TABLE m2, m1, t2, t1;
|
||||
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;
|
||||
c1
|
||||
1
|
||||
2
|
||||
3
|
||||
4
|
||||
1
|
||||
2
|
||||
3
|
||||
4
|
||||
UNLOCK TABLES;
|
||||
DROP TABLE m2, m1, t2, t1;
|
||||
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;
|
||||
c1
|
||||
1
|
||||
2
|
||||
3
|
||||
4
|
||||
1
|
||||
2
|
||||
3
|
||||
4
|
||||
UNLOCK TABLES;
|
||||
DROP TABLE m2, m1, t2, t1;
|
||||
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;
|
||||
c1
|
||||
1
|
||||
2
|
||||
3
|
||||
4
|
||||
1
|
||||
2
|
||||
3
|
||||
4
|
||||
UNLOCK TABLES;
|
||||
DROP TABLE m2, m1, t2, t1;
|
||||
End of 6.0 tests
|
153
mysql-test/suite/merge/merge_mmap.test
Normal file
153
mysql-test/suite/merge/merge_mmap.test
Normal file
@ -0,0 +1,153 @@
|
||||
#
|
||||
# Test of MERGE TABLES with MyISAM memory mapping enabled (--myisam-use-mmap)
|
||||
#
|
||||
|
||||
# MERGE tables require MyISAM tables
|
||||
--let $default=`SELECT @@global.default_storage_engine`
|
||||
SET GLOBAL default_storage_engine = MyISAM;
|
||||
SET SESSION default_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 default_storage_engine = $default;
|
||||
--enable_result_log
|
||||
--enable_query_log
|
Reference in New Issue
Block a user