From 24b9d7e43f8251263863f52bfefb00eacf2523ae Mon Sep 17 00:00:00 2001 From: Sergei Golubchik Date: Wed, 5 Sep 2012 13:15:05 +0200 Subject: [PATCH] sys_vars.expensive_subquery_limit_basic --- mysql-test/suite/sys_vars/r/all_vars.result | 1 - .../r/expensive_subquery_limit_basic.result | 52 +++++++++++++++++++ .../t/expensive_subquery_limit_basic.test | 38 ++++++++++++++ 3 files changed, 90 insertions(+), 1 deletion(-) create mode 100644 mysql-test/suite/sys_vars/r/expensive_subquery_limit_basic.result create mode 100644 mysql-test/suite/sys_vars/t/expensive_subquery_limit_basic.test diff --git a/mysql-test/suite/sys_vars/r/all_vars.result b/mysql-test/suite/sys_vars/r/all_vars.result index 692545ae0fb..1bd4e394f6a 100644 --- a/mysql-test/suite/sys_vars/r/all_vars.result +++ b/mysql-test/suite/sys_vars/r/all_vars.result @@ -10,6 +10,5 @@ there should be *no* long test name listed below: select distinct variable_name as `there should be *no* variables listed below:` from t2 left join t1 on variable_name=test_name where test_name is null; there should be *no* variables listed below: -expensive_subquery_limit drop table t1; drop table t2; diff --git a/mysql-test/suite/sys_vars/r/expensive_subquery_limit_basic.result b/mysql-test/suite/sys_vars/r/expensive_subquery_limit_basic.result new file mode 100644 index 00000000000..1617de21001 --- /dev/null +++ b/mysql-test/suite/sys_vars/r/expensive_subquery_limit_basic.result @@ -0,0 +1,52 @@ +SET @start_global_value = @@global.expensive_subquery_limit; +SELECT @start_global_value; +@start_global_value +100 +select @@global.expensive_subquery_limit; +@@global.expensive_subquery_limit +100 +select @@session.expensive_subquery_limit; +@@session.expensive_subquery_limit +100 +show global variables like 'expensive_subquery_limit'; +Variable_name Value +expensive_subquery_limit 100 +show session variables like 'expensive_subquery_limit'; +Variable_name Value +expensive_subquery_limit 100 +select * from information_schema.global_variables where variable_name='expensive_subquery_limit'; +VARIABLE_NAME VARIABLE_VALUE +EXPENSIVE_SUBQUERY_LIMIT 100 +select * from information_schema.session_variables where variable_name='expensive_subquery_limit'; +VARIABLE_NAME VARIABLE_VALUE +EXPENSIVE_SUBQUERY_LIMIT 100 +set global expensive_subquery_limit=10; +set session expensive_subquery_limit=20; +select @@global.expensive_subquery_limit; +@@global.expensive_subquery_limit +10 +select @@session.expensive_subquery_limit; +@@session.expensive_subquery_limit +20 +show global variables like 'expensive_subquery_limit'; +Variable_name Value +expensive_subquery_limit 10 +show session variables like 'expensive_subquery_limit'; +Variable_name Value +expensive_subquery_limit 20 +select * from information_schema.global_variables where variable_name='expensive_subquery_limit'; +VARIABLE_NAME VARIABLE_VALUE +EXPENSIVE_SUBQUERY_LIMIT 10 +select * from information_schema.session_variables where variable_name='expensive_subquery_limit'; +VARIABLE_NAME VARIABLE_VALUE +EXPENSIVE_SUBQUERY_LIMIT 20 +set global expensive_subquery_limit=1.1; +ERROR 42000: Incorrect argument type to variable 'expensive_subquery_limit' +set global expensive_subquery_limit=1e1; +ERROR 42000: Incorrect argument type to variable 'expensive_subquery_limit' +set global expensive_subquery_limit="foo"; +ERROR 42000: Incorrect argument type to variable 'expensive_subquery_limit' +SET @@global.expensive_subquery_limit = @start_global_value; +SELECT @@global.expensive_subquery_limit; +@@global.expensive_subquery_limit +100 diff --git a/mysql-test/suite/sys_vars/t/expensive_subquery_limit_basic.test b/mysql-test/suite/sys_vars/t/expensive_subquery_limit_basic.test new file mode 100644 index 00000000000..c86433e94f5 --- /dev/null +++ b/mysql-test/suite/sys_vars/t/expensive_subquery_limit_basic.test @@ -0,0 +1,38 @@ +SET @start_global_value = @@global.expensive_subquery_limit; +SELECT @start_global_value; + +# +# exists as global and session +# +select @@global.expensive_subquery_limit; +select @@session.expensive_subquery_limit; +show global variables like 'expensive_subquery_limit'; +show session variables like 'expensive_subquery_limit'; +select * from information_schema.global_variables where variable_name='expensive_subquery_limit'; +select * from information_schema.session_variables where variable_name='expensive_subquery_limit'; + +# +# show that it's writable +# +set global expensive_subquery_limit=10; +set session expensive_subquery_limit=20; +select @@global.expensive_subquery_limit; +select @@session.expensive_subquery_limit; +show global variables like 'expensive_subquery_limit'; +show session variables like 'expensive_subquery_limit'; +select * from information_schema.global_variables where variable_name='expensive_subquery_limit'; +select * from information_schema.session_variables where variable_name='expensive_subquery_limit'; + +# +# incorrect types +# +--error ER_WRONG_TYPE_FOR_VAR +set global expensive_subquery_limit=1.1; +--error ER_WRONG_TYPE_FOR_VAR +set global expensive_subquery_limit=1e1; +--error ER_WRONG_TYPE_FOR_VAR +set global expensive_subquery_limit="foo"; + +SET @@global.expensive_subquery_limit = @start_global_value; +SELECT @@global.expensive_subquery_limit; +