mariadb/mysql-test/t/max_seeks_for_key_func.test

105 lines
2.9 KiB
Text
Raw Normal View History

#Test for max_seeks_for_key#
--disable_warnings
drop table if exists t1;
--enable_warnings
#########################
# Creating new table #
#########################
CREATE TABLE t1
(a int auto_increment primary key,
b char(20)
);
--echo '#--------------------FN_DYNVARS_084_01-------------------------#'
##########################################################
# Test behavior of variable on new connection # 01 #
##########################################################
CONNECT (test_con1,localhost,root,,);
CONNECTION test_con1;
# Value of session & global vairable here should be 10
SELECT @@global.max_seeks_for_key = 10;
SELECT @@session.max_seeks_for_key = 10;
# Setting global value of variable and inserting data in table
SET @@global.max_seeks_for_key = 20;
SELECT @@global.max_seeks_for_key;
INSERT into t1(b) values("AREc");
explain select STRAIGHT_JOIN * from t1,t1 as t2 where t1.b=t2.b;
# Setting session value of variable and inserting data in table
SET @@session.max_seeks_for_key = 2;
SELECT @@session.max_seeks_for_key;
INSERT into t1(b) values("BREc");
INSERT into t1(b) values("CRec");
explain select STRAIGHT_JOIN * from t1,t1 as t2 where t1.b=t2.b;
--echo '#--------------------FN_DYNVARS_084_02-------------------------#'
##########################################################
# Test behavior of variable on new connection # 02 #
##########################################################
CONNECT (test_con2,localhost,root,,);
connection test_con2;
# Value of session & global vairable here should be 10
SELECT @@global.max_seeks_for_key = 10;
SELECT @@session.max_seeks_for_key = 10;
# Setting global value of variable and inserting data in table
SET @@global.max_seeks_for_key = 20;
SELECT @@global.max_seeks_for_key;
INSERT into t1(b) values("AREc");
explain select STRAIGHT_JOIN * from t1,t1 as t2 where t1.b=t2.b;
# Setting session value of variable and inserting data in table
SET @@session.max_seeks_for_key = 2;
SELECT @@session.max_seeks_for_key;
INSERT into t1(b) values("BREc");
INSERT into t1(b) values("CRec");
explain select STRAIGHT_JOIN * from t1,t1 as t2 where t1.b=t2.b;
#####################################################
# Inserting values in table t and analyzing table #
#####################################################
INSERT INTO t1 values(null,"test");
INSERT INTO t1 VALUES (null,"a"),(null,"a"),(null,"a"),
(null,"a"),(null,"a"),(null,"a"),(null,"a"),
(null,"a"),(null,"a"),(null,"a");
explain SELECT STRAIGHT_JOIN * from t1,t1 as t2 where t1.b=t2.b;
analyze table t1;
###################################################################
# Setting new value for max_seeks_for_key and anaylyzing table #
###################################################################
SET MAX_SEEKS_FOR_KEY=1;
explain select STRAIGHT_JOIN * from t1,t1 as t2 where t1.b=t2.b;
SET MAX_SEEKS_FOR_KEY=DEFAULT;
drop table t1;