This changeset belongs to

        WL#3397 Refactoring storage engine test cases (for falcon)
      It contains fixes according to second code review.
- Remove any occurence of hardcoded assignments of storage engines
- Use variable names exact telling what it is used for
- Updated comments
- remove trailing spaces
parent aaa9ed3e
# include/handler.inc # include/handler.inc
# #
# The variable # The variables
# $engine_type -- storage engine to be tested # $engine_type -- storage engine to be tested
# has to be set before sourcing this script. # $other_engine_type -- storage engine <> $engine_type
# $other_handler_engine_type -- storage engine <> $engine_type, if possible
# 1. $other_handler_engine_type must support handler
# 2. $other_handler_engine_type must point to an all
# time available storage engine
# 2006-08 MySQL 5.1 MyISAM and MEMORY only
# have to be set before sourcing this script.
# #
# test of HANDLER ... # test of HANDLER ...
# #
...@@ -108,7 +114,7 @@ insert into t1 values (17); ...@@ -108,7 +114,7 @@ insert into t1 values (17);
--error 1109 --error 1109
handler t2 read first; handler t2 read first;
handler t1 open as t2; handler t1 open as t2;
alter table t1 engine=MyISAM; eval alter table t1 engine=$other_engine_type;
--error 1109 --error 1109
handler t2 read first; handler t2 read first;
drop table t1; drop table t1;
...@@ -327,7 +333,7 @@ insert into t5 values ("t5"); ...@@ -327,7 +333,7 @@ insert into t5 values ("t5");
handler t5 open as h5; handler t5 open as h5;
handler h5 read first limit 9; handler h5 read first limit 9;
# close first # close first
alter table t1 engine=MyISAM; eval alter table t1 engine=$other_handler_engine_type;
--error 1109 --error 1109
handler h1 read first limit 9; handler h1 read first limit 9;
handler h2 read first limit 9; handler h2 read first limit 9;
...@@ -335,7 +341,7 @@ handler h3 read first limit 9; ...@@ -335,7 +341,7 @@ handler h3 read first limit 9;
handler h4 read first limit 9; handler h4 read first limit 9;
handler h5 read first limit 9; handler h5 read first limit 9;
# close last # close last
alter table t5 engine=MyISAM; eval alter table t5 engine=$other_handler_engine_type;
--error 1109 --error 1109
handler h1 read first limit 9; handler h1 read first limit 9;
handler h2 read first limit 9; handler h2 read first limit 9;
...@@ -344,7 +350,7 @@ handler h4 read first limit 9; ...@@ -344,7 +350,7 @@ handler h4 read first limit 9;
--error 1109 --error 1109
handler h5 read first limit 9; handler h5 read first limit 9;
# close middle # close middle
alter table t3 engine=MyISAM; eval alter table t3 engine=$other_handler_engine_type;
--error 1109 --error 1109
handler h1 read first limit 9; handler h1 read first limit 9;
handler h2 read first limit 9; handler h2 read first limit 9;
...@@ -362,7 +368,7 @@ handler t1 open as h1_3; ...@@ -362,7 +368,7 @@ handler t1 open as h1_3;
handler h1_1 read first limit 9; handler h1_1 read first limit 9;
handler h1_2 read first limit 9; handler h1_2 read first limit 9;
handler h1_3 read first limit 9; handler h1_3 read first limit 9;
alter table t1 engine=MyISAM; eval alter table t1 engine=$engine_type;
--error 1109 --error 1109
handler h1_1 read first limit 9; handler h1_1 read first limit 9;
--error 1109 --error 1109
......
# include/mix1.inc # include/mix1.inc
# #
# The variables # The variables
# $engine_type -- storage engine to be tested # $engine_type -- storage engine to be tested
# $other_engine_type -- storage engine <> $engine_type # $other_engine_type -- storage engine <> $engine_type
# $other_engine_type should be an alltime # $other_engine_type must point to an all
# available storage engine like MyISAM or MEMORY # time available storage engine
# 2006-08 MySQL 5.1 MyISAM and MEMORY only
# have to be set before sourcing this script. # have to be set before sourcing this script.
# #
# Note: The comments/expectations refer to InnoDB. # Note: The comments/expectations refer to InnoDB.
# They might be not valid for other storage engines. # They might be not valid for other storage engines.
# #
...@@ -15,12 +16,12 @@ ...@@ -15,12 +16,12 @@
# - shift main code of t/innodb_mysql.test to include/mix1.inc # - shift main code of t/innodb_mysql.test to include/mix1.inc
# - replace hardcoded assignment of storage engine by # - replace hardcoded assignment of storage engine by
# use of $engine_type and $other_engine_type variables # use of $engine_type and $other_engine_type variables
# - remove redundant replay testcase of # - remove redundant replay testcase of
# Bug#12882 min/max inconsistent on empty table # Bug#12882 min/max inconsistent on empty table
# - corrected analyze table t1; to analyze table t4; # - corrected analyze table t1; to analyze table t4;
# Much older versions of this test show that the table # Much older versions of this test show that the table
# where just some indexes have been created must be used. # where just some indexes have been created must be used.
# #
eval SET SESSION STORAGE_ENGINE = $engine_type; eval SET SESSION STORAGE_ENGINE = $engine_type;
...@@ -44,7 +45,7 @@ create table t1 ( ...@@ -44,7 +45,7 @@ create table t1 (
unique key contacts$c_id (c_id), unique key contacts$c_id (c_id),
key contacts$org_id (org_id) key contacts$org_id (org_id)
); );
insert into t1 values insert into t1 values
(2,null),(120,null),(141,null),(218,7), (128,1), (2,null),(120,null),(141,null),(218,7), (128,1),
(151,2),(234,2),(236,2),(243,2),(255,2),(259,2),(232,3),(235,3),(238,3), (151,2),(234,2),(236,2),(243,2),(255,2),(259,2),(232,3),(235,3),(238,3),
(246,3),(253,3),(269,3),(285,3),(291,3),(293,3),(131,4),(230,4),(231,4); (246,3),(253,3),(269,3),(285,3),(291,3),(293,3),(131,4),(230,4),(231,4);
...@@ -75,17 +76,17 @@ insert into t2(slai_id, owner_tbl, owner_id, sla_id) values ...@@ -75,17 +76,17 @@ insert into t2(slai_id, owner_tbl, owner_id, sla_id) values
flush tables; flush tables;
select si.slai_id select si.slai_id
from t1 c join t2 si on from t1 c join t2 si on
((si.owner_tbl = 3 and si.owner_id = c.org_id) or ((si.owner_tbl = 3 and si.owner_id = c.org_id) or
( si.owner_tbl = 2 and si.owner_id = c.c_id)) ( si.owner_tbl = 2 and si.owner_id = c.c_id))
where where
c.c_id = 218 and expiredate is null; c.c_id = 218 and expiredate is null;
select * from t1 where org_id is null; select * from t1 where org_id is null;
select si.slai_id select si.slai_id
from t1 c join t2 si on from t1 c join t2 si on
((si.owner_tbl = 3 and si.owner_id = c.org_id) or ((si.owner_tbl = 3 and si.owner_id = c.org_id) or
( si.owner_tbl = 2 and si.owner_id = c.c_id)) ( si.owner_tbl = 2 and si.owner_id = c.c_id))
where where
c.c_id = 218 and expiredate is null; c.c_id = 218 and expiredate is null;
drop table t1, t2; drop table t1, t2;
...@@ -94,14 +95,14 @@ drop table t1, t2; ...@@ -94,14 +95,14 @@ drop table t1, t2;
# Bug#17212: results not sorted correctly by ORDER BY when using index # Bug#17212: results not sorted correctly by ORDER BY when using index
# (repeatable only w/innodb because of index props) # (repeatable only w/innodb because of index props)
# #
CREATE TABLE t1 (a int, b int, KEY b (b)) Engine=InnoDB; CREATE TABLE t1 (a int, b int, KEY b (b));
CREATE TABLE t2 (a int, b int, PRIMARY KEY (a,b)) Engine=InnoDB; CREATE TABLE t2 (a int, b int, PRIMARY KEY (a,b));
CREATE TABLE t3 (a int, b int, c int, PRIMARY KEY (a), CREATE TABLE t3 (a int, b int, c int, PRIMARY KEY (a),
UNIQUE KEY b (b,c), KEY a (a,b,c)) Engine=InnoDB; UNIQUE KEY b (b,c), KEY a (a,b,c));
INSERT INTO t1 VALUES (1, 1); INSERT INTO t1 VALUES (1, 1);
INSERT INTO t1 SELECT a + 1, b + 1 FROM t1; INSERT INTO t1 SELECT a + 1, b + 1 FROM t1;
INSERT INTO t1 SELECT a + 2, b + 2 FROM t1; INSERT INTO t1 SELECT a + 2, b + 2 FROM t1;
INSERT INTO t2 VALUES (1,1),(1,2),(1,3),(1,4),(1,5),(1,6),(1,7),(1,8); INSERT INTO t2 VALUES (1,1),(1,2),(1,3),(1,4),(1,5),(1,6),(1,7),(1,8);
INSERT INTO t2 SELECT a + 1, b FROM t2; INSERT INTO t2 SELECT a + 1, b FROM t2;
...@@ -113,13 +114,13 @@ INSERT INTO t3 SELECT a + 4, a + 4, 3 FROM t3; ...@@ -113,13 +114,13 @@ INSERT INTO t3 SELECT a + 4, a + 4, 3 FROM t3;
# demonstrate a problem when a must-use-sort table flag # demonstrate a problem when a must-use-sort table flag
# (sort_by_table=1) is being neglected. # (sort_by_table=1) is being neglected.
SELECT STRAIGHT_JOIN SQL_NO_CACHE t1.b, t1.a FROM t1, t3, t2 WHERE SELECT STRAIGHT_JOIN SQL_NO_CACHE t1.b, t1.a FROM t1, t3, t2 WHERE
t3.a = t2.a AND t2.b = t1.a AND t3.b = 1 AND t3.c IN (1, 2) t3.a = t2.a AND t2.b = t1.a AND t3.b = 1 AND t3.c IN (1, 2)
ORDER BY t1.b LIMIT 2; ORDER BY t1.b LIMIT 2;
# demonstrate the problem described in the bug report # demonstrate the problem described in the bug report
SELECT STRAIGHT_JOIN SQL_NO_CACHE t1.b, t1.a FROM t1, t3, t2 WHERE SELECT STRAIGHT_JOIN SQL_NO_CACHE t1.b, t1.a FROM t1, t3, t2 WHERE
t3.a = t2.a AND t2.b = t1.a AND t3.b = 1 AND t3.c IN (1, 2) t3.a = t2.a AND t2.b = t1.a AND t3.b = 1 AND t3.c IN (1, 2)
ORDER BY t1.b LIMIT 5; ORDER BY t1.b LIMIT 5;
DROP TABLE t1, t2, t3; DROP TABLE t1, t2, t3;
...@@ -172,7 +173,7 @@ select count(*), min(7), max(7) from t2m, t1i; ...@@ -172,7 +173,7 @@ select count(*), min(7), max(7) from t2m, t1i;
drop table t1m, t1i, t2m, t2i; drop table t1m, t1i, t2m, t2i;
# #
# Bug #12882: primary key implcitly included in every innodb index # Bug #12882: primary key implcitly included in every innodb index
# (was part of group_min_max.test) # (was part of group_min_max.test)
# #
...@@ -230,7 +231,7 @@ select distinct a1 from t4 where pk_col not in (1,2,3,4); ...@@ -230,7 +231,7 @@ select distinct a1 from t4 where pk_col not in (1,2,3,4);
drop table t1,t4; drop table t1,t4;
# #
# Bug #6142: a problem with the empty innodb table # Bug #6142: a problem with the empty innodb table
# (was part of group_min_max.test) # (was part of group_min_max.test)
# #
...@@ -243,7 +244,7 @@ select distinct a from t1; ...@@ -243,7 +244,7 @@ select distinct a from t1;
drop table t1; drop table t1;
# #
# Bug #9798: group by with rollup # Bug #9798: group by with rollup
# (was part of group_min_max.test) # (was part of group_min_max.test)
# #
...@@ -255,7 +256,7 @@ select a, count(a) from t1 group by a with rollup; ...@@ -255,7 +256,7 @@ select a, count(a) from t1 group by a with rollup;
drop table t1; drop table t1;
# #
# Bug #13293 Wrongly used index results in endless loop. # Bug #13293 Wrongly used index results in endless loop.
# (was part of group_min_max.test) # (was part of group_min_max.test)
# #
create table t1 (f1 int, f2 char(1), primary key(f1,f2)); create table t1 (f1 int, f2 char(1), primary key(f1,f2));
...@@ -317,7 +318,7 @@ drop table t1,t2; ...@@ -317,7 +318,7 @@ drop table t1,t2;
# #
# Bug#17530: Incorrect key truncation on table creation caused server crash. # Bug#17530: Incorrect key truncation on table creation caused server crash.
# #
create table t1(f1 varchar(800) binary not null, key(f1)) engine = innodb create table t1(f1 varchar(800) binary not null, key(f1))
character set utf8 collate utf8_general_ci; character set utf8 collate utf8_general_ci;
insert into t1 values('aaa'); insert into t1 values('aaa');
drop table t1; drop table t1;
This diff is collapsed.
...@@ -3,9 +3,16 @@ ...@@ -3,9 +3,16 @@
# Test how filesort and buffered-record-reads works # Test how filesort and buffered-record-reads works
# This test needs a lot of time. # This test needs a lot of time.
# #
# The variable # The variables
# $engine_type -- storage engine to be tested # $engine_type -- storage engine to be tested
# has to be set before sourcing this script. # $other_engine_type -- storage engine <> $engine_type, if possible
# 1. $other_engine_type must allow to store many rows
# without using non standard server options
# (does not need a t/read_many_rows_*-master.opt file)
# 2. $other_engine_type must point to an all time
# available storage engine
# 2006-08 MySQL 5.1 MyISAM and MEMORY only
# have to be set before sourcing this script.
# #
# Last update: # Last update:
# 2006-08-03 ML test refactored (MySQL 5.1) # 2006-08-03 ML test refactored (MySQL 5.1)
...@@ -18,10 +25,10 @@ eval SET SESSION STORAGE_ENGINE = $engine_type; ...@@ -18,10 +25,10 @@ eval SET SESSION STORAGE_ENGINE = $engine_type;
DROP TABLE IF EXISTS t1, t2, t3, t4; DROP TABLE IF EXISTS t1, t2, t3, t4;
--enable_warnings --enable_warnings
CREATE TABLE t1 (id INTEGER) ENGINE=MYISAM; eval CREATE TABLE t1 (id INTEGER) ENGINE=$other_engine_type;
CREATE TABLE t2 (id INTEGER PRIMARY KEY); CREATE TABLE t2 (id INTEGER PRIMARY KEY);
CREATE TABLE t3 (a CHAR(32) PRIMARY KEY,id INTEGER); CREATE TABLE t3 (a CHAR(32) PRIMARY KEY,id INTEGER);
CREATE TABLE t4 (a CHAR(32) PRIMARY KEY,id INTEGER) ENGINE=MYISAM; eval CREATE TABLE t4 (a CHAR(32) PRIMARY KEY,id INTEGER) ENGINE=$other_engine_type;
INSERT INTO t1 (id) VALUES (1); INSERT INTO t1 (id) VALUES (1);
INSERT INTO t1 SELECT id+1 FROM t1; INSERT INTO t1 SELECT id+1 FROM t1;
......
# include/rowid_order.inc # include/rowid_order.inc
# #
# Test for rowid ordering (and comparison) functions. # Test for rowid ordering (and comparison) functions.
# do index_merge select for tables with PK of various types. # do index_merge select for tables with PK of various types.
# #
# The variable # The variable
# $engine_type -- storage engine to be tested # $engine_type -- storage engine to be tested
...@@ -22,8 +22,8 @@ eval SET SESSION STORAGE_ENGINE = $engine_type; ...@@ -22,8 +22,8 @@ eval SET SESSION STORAGE_ENGINE = $engine_type;
drop table if exists t1, t2, t3,t4; drop table if exists t1, t2, t3,t4;
--enable_warnings --enable_warnings
# Signed number as rowid # Signed number as rowid
create table t1 ( create table t1 (
pk1 int not NULL, pk1 int not NULL,
key1 int(11), key1 int(11),
key2 int(11), key2 int(11),
...@@ -40,8 +40,8 @@ explain select * from t1 force index(key1, key2) where key1 < 3 or key2 < 3; ...@@ -40,8 +40,8 @@ explain select * from t1 force index(key1, key2) where key1 < 3 or key2 < 3;
select * from t1 force index(key1, key2) where key1 < 3 or key2 < 3; select * from t1 force index(key1, key2) where key1 < 3 or key2 < 3;
drop table t1; drop table t1;
# Unsigned numbers as rowids # Unsigned numbers as rowids
create table t1 ( create table t1 (
pk1 int unsigned not NULL, pk1 int unsigned not NULL,
key1 int(11), key1 int(11),
key2 int(11), key2 int(11),
...@@ -58,7 +58,7 @@ select * from t1 force index(key1, key2) where key1 < 3 or key2 < 3; ...@@ -58,7 +58,7 @@ select * from t1 force index(key1, key2) where key1 < 3 or key2 < 3;
drop table t1; drop table t1;
# Case-insensitive char(N) # Case-insensitive char(N)
create table t1 ( create table t1 (
pk1 char(4) not NULL, pk1 char(4) not NULL,
key1 int(11), key1 int(11),
key2 int(11), key2 int(11),
...@@ -84,7 +84,7 @@ create table t1 ( ...@@ -84,7 +84,7 @@ create table t1 (
KEY key1 (key1), KEY key1 (key1),
KEY key2 (key2) KEY key2 (key2)
); );
insert into t1 values insert into t1 values
(1, 'u', 'u', 1, 1), (1, 'u', 'u', 1, 1),
(1, 'u', char(0xEC), 1, 1), (1, 'u', char(0xEC), 1, 1),
(1, 'u', 'x', 1, 1); (1, 'u', 'x', 1, 1);
......
...@@ -168,7 +168,7 @@ insert into t1 values (17); ...@@ -168,7 +168,7 @@ insert into t1 values (17);
handler t2 read first; handler t2 read first;
ERROR 42S02: Unknown table 't2' in HANDLER ERROR 42S02: Unknown table 't2' in HANDLER
handler t1 open as t2; handler t1 open as t2;
alter table t1 engine=MyISAM; alter table t1 engine=MEMORY;
handler t2 read first; handler t2 read first;
ERROR 42S02: Unknown table 't2' in HANDLER ERROR 42S02: Unknown table 't2' in HANDLER
drop table t1; drop table t1;
...@@ -457,7 +457,7 @@ t1 ...@@ -457,7 +457,7 @@ t1
handler h1_3 read first limit 9; handler h1_3 read first limit 9;
c1 c1
t1 t1
alter table t1 engine=MyISAM; alter table t1 engine=InnoDB;
handler h1_1 read first limit 9; handler h1_1 read first limit 9;
ERROR 42S02: Unknown table 'h1_1' in HANDLER ERROR 42S02: Unknown table 'h1_1' in HANDLER
handler h1_2 read first limit 9; handler h1_2 read first limit 9;
......
...@@ -168,7 +168,7 @@ insert into t1 values (17); ...@@ -168,7 +168,7 @@ insert into t1 values (17);
handler t2 read first; handler t2 read first;
ERROR 42S02: Unknown table 't2' in HANDLER ERROR 42S02: Unknown table 't2' in HANDLER
handler t1 open as t2; handler t1 open as t2;
alter table t1 engine=MyISAM; alter table t1 engine=MEMORY;
handler t2 read first; handler t2 read first;
ERROR 42S02: Unknown table 't2' in HANDLER ERROR 42S02: Unknown table 't2' in HANDLER
drop table t1; drop table t1;
......
...@@ -12,7 +12,7 @@ org_id int(11) default null, ...@@ -12,7 +12,7 @@ org_id int(11) default null,
unique key contacts$c_id (c_id), unique key contacts$c_id (c_id),
key contacts$org_id (org_id) key contacts$org_id (org_id)
); );
insert into t1 values insert into t1 values
(2,null),(120,null),(141,null),(218,7), (128,1), (2,null),(120,null),(141,null),(218,7), (128,1),
(151,2),(234,2),(236,2),(243,2),(255,2),(259,2),(232,3),(235,3),(238,3), (151,2),(234,2),(236,2),(243,2),(255,2),(259,2),(232,3),(235,3),(238,3),
(246,3),(253,3),(269,3),(285,3),(291,3),(293,3),(131,4),(230,4),(231,4); (246,3),(253,3),(269,3),(285,3),(291,3),(293,3),(131,4),(230,4),(231,4);
...@@ -41,9 +41,9 @@ insert into t2(slai_id, owner_tbl, owner_id, sla_id) values ...@@ -41,9 +41,9 @@ insert into t2(slai_id, owner_tbl, owner_id, sla_id) values
flush tables; flush tables;
select si.slai_id select si.slai_id
from t1 c join t2 si on from t1 c join t2 si on
((si.owner_tbl = 3 and si.owner_id = c.org_id) or ((si.owner_tbl = 3 and si.owner_id = c.org_id) or
( si.owner_tbl = 2 and si.owner_id = c.c_id)) ( si.owner_tbl = 2 and si.owner_id = c.c_id))
where where
c.c_id = 218 and expiredate is null; c.c_id = 218 and expiredate is null;
slai_id slai_id
12 12
...@@ -54,17 +54,17 @@ c_id org_id ...@@ -54,17 +54,17 @@ c_id org_id
141 NULL 141 NULL
select si.slai_id select si.slai_id
from t1 c join t2 si on from t1 c join t2 si on
((si.owner_tbl = 3 and si.owner_id = c.org_id) or ((si.owner_tbl = 3 and si.owner_id = c.org_id) or
( si.owner_tbl = 2 and si.owner_id = c.c_id)) ( si.owner_tbl = 2 and si.owner_id = c.c_id))
where where
c.c_id = 218 and expiredate is null; c.c_id = 218 and expiredate is null;
slai_id slai_id
12 12
drop table t1, t2; drop table t1, t2;
CREATE TABLE t1 (a int, b int, KEY b (b)) Engine=InnoDB; CREATE TABLE t1 (a int, b int, KEY b (b));
CREATE TABLE t2 (a int, b int, PRIMARY KEY (a,b)) Engine=InnoDB; CREATE TABLE t2 (a int, b int, PRIMARY KEY (a,b));
CREATE TABLE t3 (a int, b int, c int, PRIMARY KEY (a), CREATE TABLE t3 (a int, b int, c int, PRIMARY KEY (a),
UNIQUE KEY b (b,c), KEY a (a,b,c)) Engine=InnoDB; UNIQUE KEY b (b,c), KEY a (a,b,c));
INSERT INTO t1 VALUES (1, 1); INSERT INTO t1 VALUES (1, 1);
INSERT INTO t1 SELECT a + 1, b + 1 FROM t1; INSERT INTO t1 SELECT a + 1, b + 1 FROM t1;
INSERT INTO t1 SELECT a + 2, b + 2 FROM t1; INSERT INTO t1 SELECT a + 2, b + 2 FROM t1;
...@@ -74,14 +74,14 @@ DELETE FROM t2 WHERE a = 1 AND b < 2; ...@@ -74,14 +74,14 @@ DELETE FROM t2 WHERE a = 1 AND b < 2;
INSERT INTO t3 VALUES (1,1,1),(2,1,2); INSERT INTO t3 VALUES (1,1,1),(2,1,2);
INSERT INTO t3 SELECT a + 2, a + 2, 3 FROM t3; INSERT INTO t3 SELECT a + 2, a + 2, 3 FROM t3;
INSERT INTO t3 SELECT a + 4, a + 4, 3 FROM t3; INSERT INTO t3 SELECT a + 4, a + 4, 3 FROM t3;
SELECT STRAIGHT_JOIN SQL_NO_CACHE t1.b, t1.a FROM t1, t3, t2 WHERE SELECT STRAIGHT_JOIN SQL_NO_CACHE t1.b, t1.a FROM t1, t3, t2 WHERE
t3.a = t2.a AND t2.b = t1.a AND t3.b = 1 AND t3.c IN (1, 2) t3.a = t2.a AND t2.b = t1.a AND t3.b = 1 AND t3.c IN (1, 2)
ORDER BY t1.b LIMIT 2; ORDER BY t1.b LIMIT 2;
b a b a
1 1 1 1
2 2 2 2
SELECT STRAIGHT_JOIN SQL_NO_CACHE t1.b, t1.a FROM t1, t3, t2 WHERE SELECT STRAIGHT_JOIN SQL_NO_CACHE t1.b, t1.a FROM t1, t3, t2 WHERE
t3.a = t2.a AND t2.b = t1.a AND t3.b = 1 AND t3.c IN (1, 2) t3.a = t2.a AND t2.b = t1.a AND t3.b = 1 AND t3.c IN (1, 2)
ORDER BY t1.b LIMIT 5; ORDER BY t1.b LIMIT 5;
b a b a
1 1 1 1
...@@ -307,7 +307,7 @@ ERROR 23000: Duplicate entry '1' for key 'PRIMARY' ...@@ -307,7 +307,7 @@ ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
SELECT * from t2; SELECT * from t2;
a b a b
drop table t1,t2; drop table t1,t2;
create table t1(f1 varchar(800) binary not null, key(f1)) engine = innodb create table t1(f1 varchar(800) binary not null, key(f1))
character set utf8 collate utf8_general_ci; character set utf8 collate utf8_general_ci;
Warnings: Warnings:
Warning 1071 Specified key was too long; max key length is 765 bytes Warning 1071 Specified key was too long; max key length is 765 bytes
......
...@@ -764,7 +764,7 @@ drop table t1; ...@@ -764,7 +764,7 @@ drop table t1;
create database mysqltest; create database mysqltest;
create table mysqltest.t1 (a int not null) engine= MyISAM; create table mysqltest.t1 (a int not null) engine= MyISAM;
insert into mysqltest.t1 values(1); insert into mysqltest.t1 values(1);
create table mysqltest.t2 (a int not null) engine= MyISAM; create table mysqltest.t2 (a int not null) engine= MEMORY;
insert into mysqltest.t2 values(1); insert into mysqltest.t2 values(1);
create table mysqltest.t3 (a int not null) engine= MEMORY; create table mysqltest.t3 (a int not null) engine= MEMORY;
insert into mysqltest.t3 values(1); insert into mysqltest.t3 values(1);
...@@ -1208,7 +1208,7 @@ KEY `id_version` (`id_version`) ...@@ -1208,7 +1208,7 @@ KEY `id_version` (`id_version`)
) ENGINE=MyISAM; ) ENGINE=MyISAM;
INSERT INTO t2 VALUES("3524", "1"),("3525", "1"),("1794", "4"),("102", "5"),("1822", "6"),("3382", "9"); INSERT INTO t2 VALUES("3524", "1"),("3525", "1"),("1794", "4"),("102", "5"),("1822", "6"),("3382", "9");
SELECT t2.id, t1.`label` FROM t2 INNER JOIN SELECT t2.id, t1.`label` FROM t2 INNER JOIN
(SELECT t1.id_object as id_object FROM t1 WHERE t1.`label` LIKE '%test%') AS lbl (SELECT t1.id_object as id_object FROM t1 WHERE t1.`label` LIKE '%test%') AS lbl
ON (t2.id = lbl.id_object) INNER JOIN t1 ON (t2.id = t1.id_object); ON (t2.id = lbl.id_object) INNER JOIN t1 ON (t2.id = t1.id_object);
id label id label
3382 Test 3382 Test
...@@ -2331,7 +2331,7 @@ hex(ind) hex(string1) ...@@ -2331,7 +2331,7 @@ hex(ind) hex(string1)
1 1
drop table t1,t2; drop table t1,t2;
create table t2 ( create table t2 (
a int, b char(10), filler char(10), primary key(a, b(2)) a int, b char(10), filler char(10), primary key(a, b(2))
) character set utf8 engine = MyISAM; ) character set utf8 engine = MyISAM;
insert into t2 values (1,'abcdefg','one'); insert into t2 values (1,'abcdefg','one');
insert into t2 values (2,'ijkilmn','two'); insert into t2 values (2,'ijkilmn','two');
...@@ -2339,7 +2339,7 @@ insert into t2 values (3, 'qrstuvw','three'); ...@@ -2339,7 +2339,7 @@ insert into t2 values (3, 'qrstuvw','three');
update t2 set a=5, filler='booo' where a=1; update t2 set a=5, filler='booo' where a=1;
drop table t2; drop table t2;
create table t2 ( create table t2 (
a int, b char(10), filler char(10), primary key(a, b(2)) a int, b char(10), filler char(10), primary key(a, b(2))
) character set ucs2 engine = MyISAM; ) character set ucs2 engine = MyISAM;
insert into t2 values (1,'abcdefg','one'); insert into t2 values (1,'abcdefg','one');
insert into t2 values (2,'ijkilmn','two'); insert into t2 values (2,'ijkilmn','two');
...@@ -2398,13 +2398,13 @@ insert into t4(a) values (1),(2),(3); ...@@ -2398,13 +2398,13 @@ insert into t4(a) values (1),(2),(3);
insert into t3(a) values (5),(7),(8); insert into t3(a) values (5),(7),(8);
insert into t4(a) values (5),(7),(8); insert into t4(a) values (5),(7),(8);
insert into t5(a) values (1),(2),(3),(4),(5),(6),(7),(8),(9),(10),(11),(12); insert into t5(a) values (1),(2),(3),(4),(5),(6),(7),(8),(9),(10),(11),(12);
create trigger t1t before insert on t1 for each row begin create trigger t1t before insert on t1 for each row begin
INSERT INTO t2 SET a = NEW.a; INSERT INTO t2 SET a = NEW.a;
end | end |
create trigger t2t before insert on t2 for each row begin create trigger t2t before insert on t2 for each row begin
DELETE FROM t3 WHERE a = NEW.a; DELETE FROM t3 WHERE a = NEW.a;
end | end |
create trigger t3t before delete on t3 for each row begin create trigger t3t before delete on t3 for each row begin
UPDATE t4 SET b = b + 1 WHERE a = OLD.a; UPDATE t4 SET b = b + 1 WHERE a = OLD.a;
end | end |
create trigger t4t before update on t4 for each row begin create trigger t4t before update on t4 for each row begin
......
SET SESSION STORAGE_ENGINE = InnoDB;
DROP TABLE IF EXISTS t1, t2, t3, t4; DROP TABLE IF EXISTS t1, t2, t3, t4;
CREATE TABLE t1 (id INTEGER) ENGINE=MYISAM; CREATE TABLE t1 (id INTEGER) ENGINE=MyISAM;
CREATE TABLE t2 (id INTEGER primary key) ENGINE=INNODB; CREATE TABLE t2 (id INTEGER PRIMARY KEY);
CREATE TABLE t3 (a char(32) primary key,id INTEGER) ENGINE=INNODB; CREATE TABLE t3 (a CHAR(32) PRIMARY KEY,id INTEGER);
CREATE TABLE t4 (a char(32) primary key,id INTEGER) ENGINE=MYISAM; CREATE TABLE t4 (a CHAR(32) PRIMARY KEY,id INTEGER) ENGINE=MyISAM;
INSERT INTO t1 (id) VALUES (1); INSERT INTO t1 (id) VALUES (1);
INSERT INTO t1 SELECT id+1 FROM t1; INSERT INTO t1 SELECT id+1 FROM t1;
INSERT INTO t1 SELECT id+2 FROM t1; INSERT INTO t1 SELECT id+2 FROM t1;
...@@ -26,9 +27,9 @@ INSERT INTO t1 SELECT id+262144 FROM t1; ...@@ -26,9 +27,9 @@ INSERT INTO t1 SELECT id+262144 FROM t1;
INSERT INTO t1 SELECT id+524288 FROM t1; INSERT INTO t1 SELECT id+524288 FROM t1;
INSERT INTO t1 SELECT id+1048576 FROM t1; INSERT INTO t1 SELECT id+1048576 FROM t1;
INSERT INTO t2 SELECT * FROM t1; INSERT INTO t2 SELECT * FROM t1;
INSERT INTO t3 SELECT concat(id),id from t2 ORDER BY -id; INSERT INTO t3 SELECT CONCAT(id),id FROM t2 ORDER BY -id;
INSERT INTO t4 SELECT * from t3 ORDER BY concat(a); INSERT INTO t4 SELECT * FROM t3 ORDER BY CONCAT(a);
select sum(id) from t3; SELECT SUM(id) FROM t3;
sum(id) SUM(id)
2199024304128 2199024304128
drop table t1,t2,t3,t4; DROP TABLE t1,t2,t3,t4;
SET SESSION STORAGE_ENGINE = InnoDB; SET SESSION STORAGE_ENGINE = InnoDB;
drop table if exists t1, t2, t3,t4; drop table if exists t1, t2, t3,t4;
create table t1 ( create table t1 (
pk1 int not NULL, pk1 int not NULL,
key1 int(11), key1 int(11),
key2 int(11), key2 int(11),
...@@ -24,7 +24,7 @@ pk1 key1 key2 ...@@ -24,7 +24,7 @@ pk1 key1 key2
3 1 1 3 1 1
10 1 1 10 1 1
drop table t1; drop table t1;
create table t1 ( create table t1 (
pk1 int unsigned not NULL, pk1 int unsigned not NULL,
key1 int(11), key1 int(11),
key2 int(11), key2 int(11),
...@@ -45,7 +45,7 @@ pk1 key1 key2 ...@@ -45,7 +45,7 @@ pk1 key1 key2
4294967294 1 1 4294967294 1 1
4294967295 1 1 4294967295 1 1
drop table t1; drop table t1;
create table t1 ( create table t1 (
pk1 char(4) not NULL, pk1 char(4) not NULL,
key1 int(11), key1 int(11),
key2 int(11), key2 int(11),
...@@ -74,7 +74,7 @@ PRIMARY KEY (pk1,pk2,pk3), ...@@ -74,7 +74,7 @@ PRIMARY KEY (pk1,pk2,pk3),
KEY key1 (key1), KEY key1 (key1),
KEY key2 (key2) KEY key2 (key2)
); );
insert into t1 values insert into t1 values
(1, 'u', 'u', 1, 1), (1, 'u', 'u', 1, 1),
(1, 'u', char(0xEC), 1, 1), (1, 'u', char(0xEC), 1, 1),
(1, 'u', 'x', 1, 1); (1, 'u', 'x', 1, 1);
......
...@@ -14,5 +14,7 @@ ...@@ -14,5 +14,7 @@
--source include/have_innodb.inc --source include/have_innodb.inc
let $engine_type= InnoDB; let $engine_type= InnoDB;
let $other_engine_type= MEMORY;
let $other_handler_engine_type= MyISAM;
--source include/handler.inc --source include/handler.inc
...@@ -13,5 +13,9 @@ ...@@ -13,5 +13,9 @@
--source include/not_embedded.inc --source include/not_embedded.inc
let $engine_type= MyISAM; let $engine_type= MyISAM;
let $other_engine_type= MEMORY;
# There is unfortunately no other all time available storage engine
# which supports the handler interface
let $other_handler_engine_type= MyISAM;
--source include/handler.inc --source include/handler.inc
...@@ -5,6 +5,13 @@ ...@@ -5,6 +5,13 @@
let $engine_type= MyISAM; let $engine_type= MyISAM;
let $other_engine_type= MEMORY; let $other_engine_type= MEMORY;
# There are unfortunately only MyISAM and MEMORY all time available
# Therefore use here MEMORY again.
let $other_engine_type1= MEMORY;
let $other_non_trans_engine_type= MEMORY;
let $other_non_live_chks_engine_type= MEMORY;
# Therefore use here MyISAM again.
let $other_live_chks_engine_type= MyISAM;
# MyISAM does not support transactions # MyISAM does not support transactions
let $test_transactions= 0; let $test_transactions= 0;
# MyISAM does not support FOREIGN KEYFOREIGN KEYs # MyISAM does not support FOREIGN KEYFOREIGN KEYs
......
...@@ -12,5 +12,6 @@ ...@@ -12,5 +12,6 @@
--source include/have_innodb.inc --source include/have_innodb.inc
let $engine_type= InnoDB; let $engine_type= InnoDB;
let $other_engine_type= MyISAM;
--source include/read_many_rows.inc --source include/read_many_rows.inc
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