diff options
author | unknown <hhunger@hh-nb.hungers> | 2008-04-10 15:14:28 +0200 |
---|---|---|
committer | unknown <hhunger@hh-nb.hungers> | 2008-04-10 15:14:28 +0200 |
commit | b00c536378b56f06d4d721d975161506e7e0cf2a (patch) | |
tree | 22492296b4e2e26845dc0bc52599125882202ec1 /mysql-test/t/sql_max_join_size_func.test | |
parent | 7cce56b2f2da66ce1ee49eb1a82bbf5233791fd8 (diff) | |
download | mariadb-git-b00c536378b56f06d4d721d975161506e7e0cf2a.tar.gz |
System variable tests delivered by Folio3 (see WL4288).
BitKeeper/etc/ignore:
Added mysql-test/linux_sys_vars.inc mysql-test/load_sysvars.inc mysql-test/windows_sys_vars.inc to the ignore list
Diffstat (limited to 'mysql-test/t/sql_max_join_size_func.test')
-rw-r--r-- | mysql-test/t/sql_max_join_size_func.test | 133 |
1 files changed, 133 insertions, 0 deletions
diff --git a/mysql-test/t/sql_max_join_size_func.test b/mysql-test/t/sql_max_join_size_func.test new file mode 100644 index 00000000000..17b7d911b94 --- /dev/null +++ b/mysql-test/t/sql_max_join_size_func.test @@ -0,0 +1,133 @@ +############# mysql-test\t\sql_max_join_size_func.test #################### +# # +# Variable Name: sql_max_join_size # +# Scope: GLOBAL & SESSION # +# Access Type: Dynamic # +# Data Type: BOOLEAN # +# Default Value: 4294967295 # +# Values: 1-4294967295 # +# # +# # +# Creation Date: 2008-02-25 # +# Author: Sharique Abdullah # +# # +# Description: Test Cases of Dynamic System Variable "sql_max_join_size" # +# that checks behavior of this variable in the following ways# +# * Functionality based on different values # +# # +# Reference: http://dev.mysql.com/doc/refman/5.1/en/server-system # +# -variables.html#option_mysqld_max_join_size # +# # +########################################################################### + +--echo ** Setup ** +# +# Setup +# + +SET @session_max_join_size = @@SESSION.sql_max_join_size; +SET @global_max_join_size = @@GLOBAL.sql_max_join_size; +SET @session_sql_big_selects = @@SESSION.sql_big_selects; + +# +# Create tables +# + +CREATE TEMPORARY TABLE t1(a varchar(20) not null, b varchar(20)); +CREATE TEMPORARY TABLE t2(a varchar(20) null, b varchar(20)); + +INSERT INTO t1 VALUES('aa','bb'); +INSERT INTO t1 VALUES('aa1','bb'); +INSERT INTO t1 VALUES('aa2','bb'); +INSERT INTO t1 VALUES('aa3','bb'); +INSERT INTO t1 VALUES('aa4','bb'); + +INSERT INTO t2 VALUES('aa','bb'); +INSERT INTO t2 VALUES('aa1','bb'); +INSERT INTO t2 VALUES('aa2','bb'); +INSERT INTO t2 VALUES('aa3','bb'); +INSERT INTO t2 VALUES('aa4','bb'); + +--echo '#--------------------FN_DYNVARS_161_01-------------------------#' +# +# Testing fail condition +# + +SET SESSION sql_max_join_size=9; +--error ER_TOO_BIG_SELECT +SELECT * FROM t1 INNER JOIN t2 ON t1.a = t2.a; +--echo Expected error The SELECT would examine more than MAX_JOIN_SIZE rows. + +--echo '#--------------------FN_DYNVARS_161_02-------------------------#' +# +# Testing pass conditions +# + +SET SESSION SQL_BIG_SELECTS = 1; + +SELECT * FROM t1 INNER JOIN t2 ON t1.a = t2.a; +--echo This should work + +SET SESSION sql_max_join_size=DEFAULT; + +DELETE FROM t2 WHERE a = 'aa4'; +SELECT * FROM t1 INNER JOIN t2 ON t1.a = t2.a; +--echo This should work + +--echo '#----------------------------FN_DYNVARS_136_05-------------------------#' +# +# Session data integrity check & GLOBAL Value check +# + +SET GLOBAL sql_max_join_size = 4; +--echo ** Connecting con_int1 using root ** +connect (con_int1,localhost,root,,); + +--echo ** Connection con_int1 ** +connection con_int1; +SELECT @@SESSION.sql_max_join_size; +--echo 4 Expected + +SET SESSION sql_max_join_size = 2; +--echo ** Connecting con_int2 using root ** +connect (con_int2,localhost,root,,); + +--echo ** Connection con_int2 ** +connection con_int2; +SELECT @@SESSION.sql_max_join_size; +--echo 4 Expected + +SET SESSION sql_max_join_size = 10; + +--echo ** Connection con_int2 ** +connection con_int2; +SELECT @@SESSION.sql_max_join_size; +--echo 10 Expected + +--echo ** Connection con_int1 ** +connection con_int1; +SELECT @@SESSION.sql_max_join_size; +--echo 2 Expected + + +SELECT @@GLOBAL.sql_max_join_size; +--echo 4 Expected + +--echo ** Connection default ** +connection default; + +--echo Disconnecting Connections con_int1, con_int2 +disconnect con_int1; +disconnect con_int2; + + +# +# Cleanup +# + +SET @@SESSION.sql_max_join_size = @session_max_join_size; +SET @@GLOBAL.sql_max_join_size = @global_max_join_size ; +SET @@SESSION.sql_big_selects = @session_sql_big_selects; + +DROP TABLE t1; +DROP TABLE t2; |