1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-30 16:24:05 +03:00

5.3 merge

This commit is contained in:
Sergei Golubchik
2013-03-27 10:03:28 +01:00
38 changed files with 878 additions and 294 deletions

View File

@ -580,25 +580,25 @@ select max(b) from t1 where a = 2;
max(b)
1
drop table t3,t1,t2;
CREATE TABLE t1 (c1 INT NOT NULL);
CREATE TABLE t2 (c1 INT NOT NULL);
INSERT INTO t1 VALUES (1);
INSERT INTO t2 VALUES (2);
CREATE TEMPORARY TABLE t3 (c1 INT NOT NULL) ENGINE=MRG_MYISAM UNION=(t1,t2);
SELECT * FROM t3;
c1
create table t1 (a int not null);
create table t2 (a int not null);
insert into t1 values (1);
insert into t2 values (2);
create temporary table t3 (a int not null) ENGINE=MERGE UNION=(t1,t2);
select * from t3;
a
1
2
CREATE TEMPORARY TABLE t4 (c1 INT NOT NULL);
CREATE TEMPORARY TABLE t5 (c1 INT NOT NULL);
INSERT INTO t4 VALUES (4);
INSERT INTO t5 VALUES (5);
CREATE TEMPORARY TABLE t6 (c1 INT NOT NULL) ENGINE=MRG_MYISAM UNION=(t4,t5);
SELECT * FROM t6;
c1
4
5
DROP TABLE t6, t3, t1, t2, t4, t5;
create temporary table t4 (a int not null);
create temporary table t5 (a int not null);
insert into t4 values (1);
insert into t5 values (2);
create temporary table t6 (a int not null) ENGINE=MERGE UNION=(t4,t5);
select * from t6;
a
1
2
drop table t6, t3, t1, t2, t4, t5;
create temporary table t1 (a int not null);
create temporary table t2 (a int not null);
insert into t1 values (1);
@ -996,11 +996,6 @@ m1 CREATE TABLE `m1` (
`a` int(11) DEFAULT NULL
) ENGINE=MRG_MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1, m1;
CREATE TABLE t1(a INT, KEY(a)) ENGINE=merge;
SELECT MAX(a) FROM t1;
MAX(a)
NULL
DROP TABLE t1;
CREATE TABLE t1(a INT);
CREATE TABLE t2(a VARCHAR(10));
CREATE TABLE m1(a INT) ENGINE=MERGE UNION=(t1, t2);
@ -1935,9 +1930,9 @@ ALTER TABLE t2 UNION=(t3,t1);
SELECT * FROM t2;
ERROR HY000: Table 't3' is differently defined or of non-MyISAM type or doesn't exist
DROP TABLE t1, t2, t3;
CREATE TABLE t1 (c1 INT) ENGINE=MyISAM;
CREATE TABLE t2 (c1 INT) ENGINE=MyISAM;
CREATE TABLE t3 (c1 INT) ENGINE=MRG_MYISAM UNION=(t1,t2);
CREATE TABLE t1 (c1 INT) ENGINE= MyISAM;
CREATE TABLE t2 (c1 INT) ENGINE= MyISAM;
CREATE TABLE t3 (c1 INT) ENGINE= MRG_MYISAM UNION= (t1, t2);
INSERT INTO t1 VALUES (1);
INSERT INTO t2 VALUES (2);
SELECT * FROM t3;
@ -2400,6 +2395,142 @@ Table Op Msg_type Msg_text
test.m1 repair note The storage engine for the table doesn't support repair
DROP TABLE m1, t1;
End of 5.1 tests
#
# MDEV-4277: Crash inside mi_killed_in_mariadb() with myisammrg
#
create table t1 (a int);
insert into t1 values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
create table t2 ( i int ) engine=myisam;
insert into t2 values (1),(2);
create table t3 (a int, b int, filler char(100), key(a), key(b)) engine=myisam;
create table t4 like t3;
insert into t3
select A.a+10*B.a+100*C.a,
A.a+10*B.a+100*C.a,
'filler-data-FILLER-DATA-qqq'
from t1 A, t1 B, t1 C where C.a < 5;
insert into t4
select A.a+10*B.a+100*C.a,
A.a+10*B.a+100*C.a,
'filler-data-FILLER-DATA-qqq'
from t1 A, t1 B, t1 C where C.a >= 5;
create table t5 like t3;
alter table t5 engine=merge;
alter table t5 union(t3, t4);
update t5 set b=999, a=999 where b>950;
explain
select * from t2, t5 where t5.a=999 and t5.b=999;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t2 ALL NULL NULL NULL NULL 2
1 SIMPLE t5 index_merge a,b a,b 5,5 NULL 6 Using intersect(a,b); Using where; Using join buffer (flat, BNL join)
select * from t2, t5 where t5.a=999 and t5.b=999;
i a b filler
1 999 999 filler-data-FILLER-DATA-qqq
2 999 999 filler-data-FILLER-DATA-qqq
1 999 999 filler-data-FILLER-DATA-qqq
2 999 999 filler-data-FILLER-DATA-qqq
1 999 999 filler-data-FILLER-DATA-qqq
2 999 999 filler-data-FILLER-DATA-qqq
1 999 999 filler-data-FILLER-DATA-qqq
2 999 999 filler-data-FILLER-DATA-qqq
1 999 999 filler-data-FILLER-DATA-qqq
2 999 999 filler-data-FILLER-DATA-qqq
1 999 999 filler-data-FILLER-DATA-qqq
2 999 999 filler-data-FILLER-DATA-qqq
1 999 999 filler-data-FILLER-DATA-qqq
2 999 999 filler-data-FILLER-DATA-qqq
1 999 999 filler-data-FILLER-DATA-qqq
2 999 999 filler-data-FILLER-DATA-qqq
1 999 999 filler-data-FILLER-DATA-qqq
2 999 999 filler-data-FILLER-DATA-qqq
1 999 999 filler-data-FILLER-DATA-qqq
2 999 999 filler-data-FILLER-DATA-qqq
1 999 999 filler-data-FILLER-DATA-qqq
2 999 999 filler-data-FILLER-DATA-qqq
1 999 999 filler-data-FILLER-DATA-qqq
2 999 999 filler-data-FILLER-DATA-qqq
1 999 999 filler-data-FILLER-DATA-qqq
2 999 999 filler-data-FILLER-DATA-qqq
1 999 999 filler-data-FILLER-DATA-qqq
2 999 999 filler-data-FILLER-DATA-qqq
1 999 999 filler-data-FILLER-DATA-qqq
2 999 999 filler-data-FILLER-DATA-qqq
1 999 999 filler-data-FILLER-DATA-qqq
2 999 999 filler-data-FILLER-DATA-qqq
1 999 999 filler-data-FILLER-DATA-qqq
2 999 999 filler-data-FILLER-DATA-qqq
1 999 999 filler-data-FILLER-DATA-qqq
2 999 999 filler-data-FILLER-DATA-qqq
1 999 999 filler-data-FILLER-DATA-qqq
2 999 999 filler-data-FILLER-DATA-qqq
1 999 999 filler-data-FILLER-DATA-qqq
2 999 999 filler-data-FILLER-DATA-qqq
1 999 999 filler-data-FILLER-DATA-qqq
2 999 999 filler-data-FILLER-DATA-qqq
1 999 999 filler-data-FILLER-DATA-qqq
2 999 999 filler-data-FILLER-DATA-qqq
1 999 999 filler-data-FILLER-DATA-qqq
2 999 999 filler-data-FILLER-DATA-qqq
1 999 999 filler-data-FILLER-DATA-qqq
2 999 999 filler-data-FILLER-DATA-qqq
1 999 999 filler-data-FILLER-DATA-qqq
2 999 999 filler-data-FILLER-DATA-qqq
1 999 999 filler-data-FILLER-DATA-qqq
2 999 999 filler-data-FILLER-DATA-qqq
1 999 999 filler-data-FILLER-DATA-qqq
2 999 999 filler-data-FILLER-DATA-qqq
1 999 999 filler-data-FILLER-DATA-qqq
2 999 999 filler-data-FILLER-DATA-qqq
1 999 999 filler-data-FILLER-DATA-qqq
2 999 999 filler-data-FILLER-DATA-qqq
1 999 999 filler-data-FILLER-DATA-qqq
2 999 999 filler-data-FILLER-DATA-qqq
1 999 999 filler-data-FILLER-DATA-qqq
2 999 999 filler-data-FILLER-DATA-qqq
1 999 999 filler-data-FILLER-DATA-qqq
2 999 999 filler-data-FILLER-DATA-qqq
1 999 999 filler-data-FILLER-DATA-qqq
2 999 999 filler-data-FILLER-DATA-qqq
1 999 999 filler-data-FILLER-DATA-qqq
2 999 999 filler-data-FILLER-DATA-qqq
1 999 999 filler-data-FILLER-DATA-qqq
2 999 999 filler-data-FILLER-DATA-qqq
1 999 999 filler-data-FILLER-DATA-qqq
2 999 999 filler-data-FILLER-DATA-qqq
1 999 999 filler-data-FILLER-DATA-qqq
2 999 999 filler-data-FILLER-DATA-qqq
1 999 999 filler-data-FILLER-DATA-qqq
2 999 999 filler-data-FILLER-DATA-qqq
1 999 999 filler-data-FILLER-DATA-qqq
2 999 999 filler-data-FILLER-DATA-qqq
1 999 999 filler-data-FILLER-DATA-qqq
2 999 999 filler-data-FILLER-DATA-qqq
1 999 999 filler-data-FILLER-DATA-qqq
2 999 999 filler-data-FILLER-DATA-qqq
1 999 999 filler-data-FILLER-DATA-qqq
2 999 999 filler-data-FILLER-DATA-qqq
1 999 999 filler-data-FILLER-DATA-qqq
2 999 999 filler-data-FILLER-DATA-qqq
1 999 999 filler-data-FILLER-DATA-qqq
2 999 999 filler-data-FILLER-DATA-qqq
1 999 999 filler-data-FILLER-DATA-qqq
2 999 999 filler-data-FILLER-DATA-qqq
1 999 999 filler-data-FILLER-DATA-qqq
2 999 999 filler-data-FILLER-DATA-qqq
1 999 999 filler-data-FILLER-DATA-qqq
2 999 999 filler-data-FILLER-DATA-qqq
1 999 999 filler-data-FILLER-DATA-qqq
2 999 999 filler-data-FILLER-DATA-qqq
1 999 999 filler-data-FILLER-DATA-qqq
2 999 999 filler-data-FILLER-DATA-qqq
drop table t5;
drop table t1,t2,t3,t4;
End of 5.3 tests
CREATE TABLE t1(a INT, KEY(a)) ENGINE=merge;
SELECT MAX(a) FROM t1;
MAX(a)
NULL
DROP TABLE t1;
#
# An additional test case for Bug#27430 Crash in subquery code
# when in PS and table DDL changed after PREPARE