summaryrefslogtreecommitdiff
path: root/mysql-test/include
diff options
context:
space:
mode:
authorMarko Mäkelä <marko.makela@mariadb.com>2019-10-12 06:50:12 +0300
committerMarko Mäkelä <marko.makela@mariadb.com>2019-10-12 06:50:12 +0300
commit55c75b6bb3d2cd8c36575fb7d440232aa961f9fb (patch)
treeeda77c1315b3c43f11324012fdc499b831430302 /mysql-test/include
parent36824d2befaa8edd88f4627fb591983d80964bb4 (diff)
parent8e3d85e112964c4f7c2d07710a3c8ee9d5041685 (diff)
downloadmariadb-git-55c75b6bb3d2cd8c36575fb7d440232aa961f9fb.tar.gz
Merge 10.3 into 10.4
Diffstat (limited to 'mysql-test/include')
-rw-r--r--mysql-test/include/index_merge1.inc52
-rw-r--r--mysql-test/include/index_merge2.inc48
-rw-r--r--mysql-test/include/index_merge_2sweeps.inc24
-rw-r--r--mysql-test/include/index_merge_ror.inc5
-rw-r--r--mysql-test/include/index_merge_ror_cpk.inc12
5 files changed, 21 insertions, 120 deletions
diff --git a/mysql-test/include/index_merge1.inc b/mysql-test/include/index_merge1.inc
index 5498a607c3c..5364780b689 100644
--- a/mysql-test/include/index_merge1.inc
+++ b/mysql-test/include/index_merge1.inc
@@ -2,11 +2,10 @@
#
# Index merge tests
#
-# The variables
-# $engine_type -- storage engine to be tested
+# The variable
# $merge_table_support -- 1 storage engine supports merge tables
# -- 0 storage engine does not support merge tables
-# have to be set before sourcing this script.
+# has to be set before sourcing this script.
#
# Note: The comments/expectations refer to MyISAM.
# They might be not valid for other storage engines.
@@ -16,15 +15,10 @@
# old name was t/index_merge.test
# main code went into include/index_merge1.inc
#
+--source include/have_sequence.inc
--echo #---------------- Index merge test 1 -------------------------------------------
-eval SET SESSION STORAGE_ENGINE = $engine_type;
-
---disable_warnings
-drop table if exists t0, t1, t2, t3, t4;
---enable_warnings
-
# Create and fill a table with simple keys
create table t0
(
@@ -32,20 +26,7 @@ create table t0
INDEX i1(key1)
);
---disable_query_log
-insert into t0 values (1),(2),(3),(4),(5),(6),(7),(8);
-
-let $1=7;
-set @d=8;
-begin;
-while ($1)
-{
- eval insert into t0 select key1+@d from t0;
- eval set @d=@d*2;
- dec $1;
-}
-commit;
---enable_query_log
+insert into t0(key1) select seq from seq_1_to_1024;
alter table t0 add key2 int not null, add index i2(key2);
alter table t0 add key3 int not null, add index i3(key3);
@@ -220,7 +201,7 @@ create table t4 (
index i2_2(key2, key2_1)
);
-insert into t4 select key1,key1,key1 div 10, key1 % 10, key1 % 10, key1 from t0;
+insert into t4 select seq,seq,seq div 10, seq % 10, seq % 10, seq from seq_1_to_1024;
# the following will be handled by index_merge:
select * from t4 where key1a = 3 or key1b = 4;
@@ -395,14 +376,13 @@ if ($merge_table_support)
#
# BUG#17314: Index_merge/intersection not choosen by the optimizer for MERGE tables
#
-create table t0 (a int);
-insert into t0 values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
create table t1 (
a int, b int,
filler1 char(200), filler2 char(200),
key(a),key(b)
);
-insert into t1 select @v:= A.a, @v, 't1', 'filler2' from t0 A, t0 B, t0 C;
+insert into t1 select @v:= seq % 10, @v, 't1', 'filler2' from seq_1_to_1000;
+
create table t2 like t1;
create table t3 (
@@ -416,8 +396,7 @@ explain select * from t1 where a=1 and b=1;
--replace_column 9 #
explain select * from t3 where a=1 and b=1;
-drop table t3;
-drop table t0, t1, t2;
+drop table t1, t2, t3;
}
#
@@ -517,16 +496,13 @@ DROP TABLE t1;
--echo #
--echo # BUG#40974: Incorrect query results when using clause evaluated using range check
--echo #
-create table t0 (a int);
-insert into t0 values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
-
create table t1 (a int);
insert into t1 values (1),(2);
create table t2(a int, b int);
insert into t2 values (1,1), (2, 1000);
create table t3 (a int, b int, filler char(100), key(a), key(b));
-insert into t3 select 1000, 1000,'filler' from t0 A, t0 B, t0 C;
+insert into t3 select 1000, 1000,'filler' from seq_1_to_1000;
insert into t3 values (1,1,'data');
insert into t3 values (1,1,'data');
-- echo The plan should be ALL/ALL/ALL(Range checked for each record (index map: 0x3)
@@ -538,20 +514,14 @@ select * from t1
where exists (select 1 from t2, t3
where t2.a=t1.a and (t3.a=t2.b or t3.b=t2.b or t3.b=t2.b+1));
-drop table t0, t1, t2, t3;
+drop table t1, t2, t3;
--echo #
--echo # BUG#44810: index merge and order by with low sort_buffer_size
--echo # crashes server!
--echo #
CREATE TABLE t1(a VARCHAR(128),b VARCHAR(128),KEY(A),KEY(B));
-INSERT INTO t1 VALUES (REPEAT('a',128),REPEAT('b',128));
-INSERT INTO t1 SELECT * FROM t1;
-INSERT INTO t1 SELECT * FROM t1;
-INSERT INTO t1 SELECT * FROM t1;
-INSERT INTO t1 SELECT * FROM t1;
-INSERT INTO t1 SELECT * FROM t1;
-INSERT INTO t1 SELECT * FROM t1;
+INSERT INTO t1 SELECT REPEAT('a',128),REPEAT('b',128) FROM seq_1_to_64;
SET SESSION sort_buffer_size=1024*8;
EXPLAIN
SELECT * FROM t1 FORCE INDEX(a,b) WHERE a LIKE 'a%' OR b LIKE 'b%'
diff --git a/mysql-test/include/index_merge2.inc b/mysql-test/include/index_merge2.inc
index ae9adac882f..ecb16f54bbc 100644
--- a/mysql-test/include/index_merge2.inc
+++ b/mysql-test/include/index_merge2.inc
@@ -2,10 +2,6 @@
#
# Index merge tests
#
-# The variable
-# $engine_type -- storage engine to be tested
-# has to be set before sourcing this script.
-#
# Note: The comments/expectations refer to InnoDB.
# They might be not valid for other storage engines.
#
@@ -14,15 +10,10 @@
# old name was t/index_merge_innodb.test
# main code went into include/index_merge2.inc
#
+--source include/have_sequence.inc
--echo #---------------- Index merge test 2 -------------------------------------------
-eval SET SESSION STORAGE_ENGINE = $engine_type;
-
---disable_warnings
-drop table if exists t1,t2;
---enable_warnings
-
create table t1
(
key1 int not null,
@@ -32,16 +23,7 @@ create table t1
INDEX i2(key2)
);
---disable_query_log
-let $1=200;
-begin;
-while ($1)
-{
- eval insert into t1 values (200-$1, $1);
- dec $1;
-}
-commit;
---enable_query_log
+INSERT INTO t1 SELECT seq,200-seq FROM seq_0_to_200;
# No primary key
explain select * from t1 where key1 < 5 or key2 > 197;
@@ -80,16 +62,8 @@ create table t1 (
index (key2)
);
show warnings;
---disable_query_log
-let $1=30;
-begin;
-while ($1)
-{
- eval insert into t1 (key1, key2, filler) values ($1/4, $1/8, 'filler-data');
- dec $1;
-}
-commit;
---enable_query_log
+INSERT INTO t1 (key1, key2, filler)
+SELECT seq/4, seq/8, 'filler-data' FROM seq_30_to_0;
explain select pk from t1 where key1 = 1 and key2 = 1;
select pk from t1 where key2 = 1 and key1 = 1;
select pk from t1 ignore index(key1,key2) where key2 = 1 and key1 = 1;
@@ -331,19 +305,7 @@ create table t1
key3 int not null default 0
);
-insert into t1(key1) values (1),(2),(3),(4),(5),(6),(7),(8);
-
-let $1=7;
-set @d=8;
-begin;
-while ($1)
-{
- eval insert into t1 (key1) select key1+@d from t1;
- eval set @d=@d*2;
- dec $1;
-}
-commit;
-
+insert into t1(key1) select seq from seq_1_to_1024;
alter table t1 add index i2(key2);
alter table t1 add index i3(key3);
update t1 set key2=key1,key3=key1;
diff --git a/mysql-test/include/index_merge_2sweeps.inc b/mysql-test/include/index_merge_2sweeps.inc
index ef356e12969..836f83795a9 100644
--- a/mysql-test/include/index_merge_2sweeps.inc
+++ b/mysql-test/include/index_merge_2sweeps.inc
@@ -2,24 +2,15 @@
#
# 2-sweeps read Index_merge test
#
-# The variable
-# $engine_type -- storage engine to be tested
-# has to be set before sourcing this script.
-#
# Last update:
# 2006-08-02 ML test refactored
# old name was index_merge_innodb2.test
# main code went into include/index_merge_2sweeps.inc
#
+--source include/have_sequence.inc
--echo #---------------- 2-sweeps read Index merge test 2 -------------------------------
-eval SET SESSION STORAGE_ENGINE = $engine_type;
-
---disable_warnings
-drop table if exists t1;
---enable_warnings
-
create table t1 (
pk int primary key,
key1 int,
@@ -30,17 +21,8 @@ create table t1 (
index(key2)
);
-
---disable_query_log
-begin;
-let $1=1000;
-while ($1)
-{
- eval insert into t1 values($1, $1, $1, 'filler-data','filler-data-2');
- dec $1;
-}
-commit;
---enable_query_log
+insert into t1 select seq, seq, seq, 'filler-data', 'filler-data-2'
+from seq_1000_to_1;
select * from t1 where (key1 >= 2 and key1 <= 10) or (pk >= 4 and pk <=8 );
diff --git a/mysql-test/include/index_merge_ror.inc b/mysql-test/include/index_merge_ror.inc
index 3ec6e342994..8a55ef1a67d 100644
--- a/mysql-test/include/index_merge_ror.inc
+++ b/mysql-test/include/index_merge_ror.inc
@@ -17,11 +17,6 @@
--echo #---------------- ROR-index_merge tests -----------------------
-eval SET SESSION STORAGE_ENGINE = $engine_type;
-
---disable_warnings
-drop table if exists t0,t1,t2;
---enable_warnings
create table t1
(
/* Field names reflect value(rowid) distribution, st=STairs, swt= SaWTooth */
diff --git a/mysql-test/include/index_merge_ror_cpk.inc b/mysql-test/include/index_merge_ror_cpk.inc
index 0a307aa4fdb..9ebca3cd22f 100644
--- a/mysql-test/include/index_merge_ror_cpk.inc
+++ b/mysql-test/include/index_merge_ror_cpk.inc
@@ -2,10 +2,6 @@
#
# Clustered PK ROR-index_merge tests
#
-# The variable
-# $engine_type -- storage engine to be tested
-# has to be set before sourcing this script.
-#
# Note: The comments/expectations refer to InnoDB.
# They might be not valid for other storage engines.
#
@@ -15,13 +11,9 @@
# main code went into include/index_merge_ror_cpk.inc
#
---echo #---------------- Clustered PK ROR-index_merge tests -----------------------------
-
-eval SET SESSION STORAGE_ENGINE = $engine_type;
+--source include/have_sequence.inc
---disable_warnings
-drop table if exists t1;
---enable_warnings
+--echo #---------------- Clustered PK ROR-index_merge tests -----------------------------
create table t1
(