summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergei Golubchik <sergii@pisem.net>2014-05-06 13:57:56 +0200
committerSergei Golubchik <sergii@pisem.net>2014-05-06 13:57:56 +0200
commit4a84ee1c25045ba1ee4bd23cba3772b90545d3d1 (patch)
tree42af0798be22fd47a555bdfc77f5d37085565049
parentb968363aac2bf75d014482f8405e6a9fed73ccd6 (diff)
downloadmariadb-git-4a84ee1c25045ba1ee4bd23cba3772b90545d3d1.tar.gz
after InnoDB/XtraDB 5.6.16 merge
-rw-r--r--mysql-test/suite/innodb_fts/r/innodb_fts_misc_1.result14
-rw-r--r--mysql-test/suite/perfschema/r/threads_innodb,xtradb.rdiff10
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_buf_flush_list_now_basic.result23
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_status_output_basic.result102
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_status_output_locks_basic.result102
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_buf_flush_list_now_basic.test32
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_status_output_basic.test69
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_status_output_locks_basic.test69
8 files changed, 419 insertions, 2 deletions
diff --git a/mysql-test/suite/innodb_fts/r/innodb_fts_misc_1.result b/mysql-test/suite/innodb_fts/r/innodb_fts_misc_1.result
index 0f50d6943a8..9f5c1f271fc 100644
--- a/mysql-test/suite/innodb_fts/r/innodb_fts_misc_1.result
+++ b/mysql-test/suite/innodb_fts/r/innodb_fts_misc_1.result
@@ -44,6 +44,7 @@ id2
3
SELECT id1 FROM t1 WHERE MATCH (a1,b1) AGAINST ('tutorial (+mysql -VÐƷWİ)' IN BOOLEAN MODE) ;
id1
+1
3
6
2
@@ -51,6 +52,7 @@ id1
5
SELECT id2 FROM t2 WHERE MATCH (a2,b2) AGAINST ('tutorial (+mysql -VÐƷWİ)' IN BOOLEAN MODE) ;
id2
+1
3
6
2
@@ -89,12 +91,14 @@ SELECT id1 FROM t1 WHERE MATCH (a1,b1) AGAINST ('tutorial (+mysql -VÐƷWİ)' IN
id1
SELECT id2 FROM t2 WHERE MATCH (a2,b2) AGAINST ('tutorial (+mysql -VÐƷWİ)' IN BOOLEAN MODE) ;
id2
+3
6
SELECT id1 FROM t1 WHERE MATCH (a1,b1) AGAINST ('+update +cascade' IN BOOLEAN MODE) ;
id1
4
2
6
+1
5
3
SELECT id2 FROM t2 WHERE MATCH (a2,b2) AGAINST ('+update +cascade' IN BOOLEAN MODE) ;
@@ -102,10 +106,12 @@ id2
4
2
6
+1
5
3
SELECT id2 FROM t2 WHERE a2 LIKE '%UPDATE CASCADE%';
id2
+1
2
3
4
@@ -212,10 +218,8 @@ SELECT * FROM t2 WHERE MATCH (a2,b2) AGAINST ('tutorial (+mysql -VÐƷWİ)' IN B
id2 a2 b2
SELECT * FROM t1 WHERE a1 LIKE '%tutorial%';
id1 a1 b1
-1 MySQL Tutorial DBMS stands for DataBase VÐƷWİ...
SELECT * FROM t2 WHERE a2 LIKE '%tutorial%';
id2 a2 b2
-1 MySQL Tutorial DBMS stands for DataBase VÐƷWİ...
DROP TABLE t2 , t1;
DROP TABLE IF EXISTS t2,t1;
SET NAMES utf8;
@@ -265,10 +269,12 @@ id2 a2 b2
SELECT * FROM t1 WHERE MATCH (a1,b1) AGAINST ('tutorial (+mysql -VÐƷWİ)' IN BOOLEAN MODE) ;
id1 a1 b1
3 Optimizing MySQL In this tutorial we will show ...
+1 MySQL Tutorial DBMS stands for DataBase VÐƷWİ...
2 How To Use MySQL Well After you went through a ...
SELECT * FROM t2 WHERE MATCH (a2,b2) AGAINST ('tutorial (+mysql -VÐƷWİ)' IN BOOLEAN MODE) ;
id2 a2 b2
3 Optimizing MySQL In this tutorial we will show ...
+1 MySQL Tutorial DBMS stands for DataBase VÐƷWİ...
2 How To Use MySQL Well After you went through a ...
SELECT * FROM t1 WHERE MATCH (a1,b1) AGAINST ('tutorial' WITH QUERY EXPANSION) ;
id1 a1 b1
@@ -327,12 +333,14 @@ SELECT * FROM t1 WHERE MATCH (a1,b1) AGAINST ('tutorial (+mysql -VÐƷWİ)' IN B
id1 a1 b1
SELECT * FROM t2 WHERE MATCH (a2,b2) AGAINST ('tutorial (+mysql -VÐƷWİ)' IN BOOLEAN MODE) ;
id2 a2 b2
+3 changing column - on UPDATE cascade In this tutorial we will show ...
6 changing column - on UPDATE cascade When configured properly, MySQL ...
SELECT * FROM t1 WHERE MATCH (a1,b1) AGAINST ('+UPDATE +cascade' IN BOOLEAN MODE) ;
id1 a1 b1
4 changing column - on UPDATE cascade to check foreign constraint
2 changing column - on UPDATE cascade to check foreign constraint
6 changing column - on UPDATE cascade to check foreign constraint
+1 changing column - on UPDATE cascade to check foreign constraint
5 changing column - on UPDATE cascade to check foreign constraint
3 changing column - on UPDATE cascade to check foreign constraint
SELECT * FROM t2 WHERE MATCH (a2,b2) AGAINST ('+UPDATE +cascade' IN BOOLEAN MODE) ;
@@ -340,10 +348,12 @@ id2 a2 b2
4 changing column - on UPDATE cascade 1. Never run mysqld as root. 2. ...
2 changing column - on UPDATE cascade After you went through a ...
6 changing column - on UPDATE cascade When configured properly, MySQL ...
+1 changing column - on UPDATE cascade DBMS stands for DataBase VÐƷWİ...
5 changing column - on UPDATE cascade In the following database comparison ...
3 changing column - on UPDATE cascade In this tutorial we will show ...
SELECT * FROM t2 WHERE a2 LIKE '%UPDATE CASCADE%';
id2 a2 b2
+1 changing column - on UPDATE cascade DBMS stands for DataBase VÐƷWİ...
2 changing column - on UPDATE cascade After you went through a ...
3 changing column - on UPDATE cascade In this tutorial we will show ...
4 changing column - on UPDATE cascade 1. Never run mysqld as root. 2. ...
diff --git a/mysql-test/suite/perfschema/r/threads_innodb,xtradb.rdiff b/mysql-test/suite/perfschema/r/threads_innodb,xtradb.rdiff
new file mode 100644
index 00000000000..bfa17407049
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/threads_innodb,xtradb.rdiff
@@ -0,0 +1,10 @@
+--- suite/perfschema/r/threads_innodb.result 2013-12-20 20:19:06.000000000 +0100
++++ suite/perfschema/r/threads_innodb.reject 2014-05-06 13:08:05.000000000 +0200
+@@ -6,6 +6,7 @@
+ GROUP BY name;
+ name type processlist_user processlist_host processlist_db processlist_command processlist_time processlist_state processlist_info parent_thread_id role instrumented
+ thread/innodb/io_handler_thread BACKGROUND NULL NULL NULL NULL NULL NULL NULL NULL NULL YES
++thread/innodb/lru_manager_thread BACKGROUND NULL NULL NULL NULL NULL NULL NULL NULL NULL YES
+ thread/innodb/page_cleaner_thread BACKGROUND NULL NULL NULL NULL NULL NULL NULL NULL NULL YES
+ thread/innodb/srv_error_monitor_thread BACKGROUND NULL NULL NULL NULL NULL NULL NULL NULL NULL YES
+ thread/innodb/srv_lock_timeout_thread BACKGROUND NULL NULL NULL NULL NULL NULL NULL NULL NULL YES
diff --git a/mysql-test/suite/sys_vars/r/innodb_buf_flush_list_now_basic.result b/mysql-test/suite/sys_vars/r/innodb_buf_flush_list_now_basic.result
new file mode 100644
index 00000000000..95b4e6fe780
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_buf_flush_list_now_basic.result
@@ -0,0 +1,23 @@
+#
+# Basic test for innodb_buf_flush_list_now.
+#
+SELECT @@global.innodb_buf_flush_list_now;
+@@global.innodb_buf_flush_list_now
+0
+set global innodb_buf_flush_list_now = 1;
+SELECT @@global.innodb_buf_flush_list_now;
+@@global.innodb_buf_flush_list_now
+0
+set global innodb_buf_flush_list_now = 0;
+set global innodb_buf_flush_list_now = dummy;
+ERROR 42000: Variable 'innodb_buf_flush_list_now' can't be set to the value of 'dummy'
+set innodb_buf_flush_list_now = ON;
+ERROR HY000: Variable 'innodb_buf_flush_list_now' is a GLOBAL variable and should be set with SET GLOBAL
+# Setting to ON is ok.
+set global innodb_buf_flush_list_now = ON;
+# Setting to OFF is ok.
+set global innodb_buf_flush_list_now = OFF;
+# Must always be 0.
+SELECT @@global.innodb_buf_flush_list_now;
+@@global.innodb_buf_flush_list_now
+0
diff --git a/mysql-test/suite/sys_vars/r/innodb_status_output_basic.result b/mysql-test/suite/sys_vars/r/innodb_status_output_basic.result
new file mode 100644
index 00000000000..35731a2334b
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_status_output_basic.result
@@ -0,0 +1,102 @@
+SET @start_global_value = @@global.innodb_status_output;
+SELECT @start_global_value;
+@start_global_value
+0
+Valid values are 'ON' and 'OFF'
+select @@global.innodb_status_output in (0, 1);
+@@global.innodb_status_output in (0, 1)
+1
+select @@global.innodb_status_output;
+@@global.innodb_status_output
+0
+select @@session.innodb_status_output;
+ERROR HY000: Variable 'innodb_status_output' is a GLOBAL variable
+show global variables like 'innodb_status_output';
+Variable_name Value
+innodb_status_output OFF
+show session variables like 'innodb_status_output';
+Variable_name Value
+innodb_status_output OFF
+select * from information_schema.global_variables where variable_name='innodb_status_output';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_STATUS_OUTPUT OFF
+select * from information_schema.session_variables where variable_name='innodb_status_output';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_STATUS_OUTPUT OFF
+set global innodb_status_output='OFF';
+select @@global.innodb_status_output;
+@@global.innodb_status_output
+0
+select * from information_schema.global_variables where variable_name='innodb_status_output';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_STATUS_OUTPUT OFF
+select * from information_schema.session_variables where variable_name='innodb_status_output';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_STATUS_OUTPUT OFF
+set @@global.innodb_status_output=1;
+select @@global.innodb_status_output;
+@@global.innodb_status_output
+1
+select * from information_schema.global_variables where variable_name='innodb_status_output';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_STATUS_OUTPUT ON
+select * from information_schema.session_variables where variable_name='innodb_status_output';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_STATUS_OUTPUT ON
+set global innodb_status_output=0;
+select @@global.innodb_status_output;
+@@global.innodb_status_output
+0
+select * from information_schema.global_variables where variable_name='innodb_status_output';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_STATUS_OUTPUT OFF
+select * from information_schema.session_variables where variable_name='innodb_status_output';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_STATUS_OUTPUT OFF
+set @@global.innodb_status_output='ON';
+select @@global.innodb_status_output;
+@@global.innodb_status_output
+1
+select * from information_schema.global_variables where variable_name='innodb_status_output';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_STATUS_OUTPUT ON
+select * from information_schema.session_variables where variable_name='innodb_status_output';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_STATUS_OUTPUT ON
+set session innodb_status_output='OFF';
+ERROR HY000: Variable 'innodb_status_output' is a GLOBAL variable and should be set with SET GLOBAL
+set @@session.innodb_status_output='ON';
+ERROR HY000: Variable 'innodb_status_output' is a GLOBAL variable and should be set with SET GLOBAL
+set global innodb_status_output=1.1;
+ERROR 42000: Incorrect argument type to variable 'innodb_status_output'
+set global innodb_status_output=1e1;
+ERROR 42000: Incorrect argument type to variable 'innodb_status_output'
+set global innodb_status_output=2;
+ERROR 42000: Variable 'innodb_status_output' can't be set to the value of '2'
+set global innodb_status_output=-3;
+ERROR 42000: Variable 'innodb_status_output' can't be set to the value of '-3'
+select @@global.innodb_status_output;
+@@global.innodb_status_output
+1
+select * from information_schema.global_variables where variable_name='innodb_status_output';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_STATUS_OUTPUT ON
+select * from information_schema.session_variables where variable_name='innodb_status_output';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_STATUS_OUTPUT ON
+set global innodb_status_output=DEFAULT;
+select @@global.innodb_status_output;
+@@global.innodb_status_output
+0
+select * from information_schema.global_variables where variable_name='innodb_status_output';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_STATUS_OUTPUT OFF
+select * from information_schema.session_variables where variable_name='innodb_status_output';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_STATUS_OUTPUT OFF
+set global innodb_status_output='AUTO';
+ERROR 42000: Variable 'innodb_status_output' can't be set to the value of 'AUTO'
+SET @@global.innodb_status_output = @start_global_value;
+SELECT @@global.innodb_status_output;
+@@global.innodb_status_output
+0
diff --git a/mysql-test/suite/sys_vars/r/innodb_status_output_locks_basic.result b/mysql-test/suite/sys_vars/r/innodb_status_output_locks_basic.result
new file mode 100644
index 00000000000..6fc741a7975
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_status_output_locks_basic.result
@@ -0,0 +1,102 @@
+SET @start_global_value = @@global.innodb_status_output_locks;
+SELECT @start_global_value;
+@start_global_value
+0
+Valid values are 'ON' and 'OFF'
+select @@global.innodb_status_output_locks in (0, 1);
+@@global.innodb_status_output_locks in (0, 1)
+1
+select @@global.innodb_status_output_locks;
+@@global.innodb_status_output_locks
+0
+select @@session.innodb_status_output_locks;
+ERROR HY000: Variable 'innodb_status_output_locks' is a GLOBAL variable
+show global variables like 'innodb_status_output_locks';
+Variable_name Value
+innodb_status_output_locks OFF
+show session variables like 'innodb_status_output_locks';
+Variable_name Value
+innodb_status_output_locks OFF
+select * from information_schema.global_variables where variable_name='innodb_status_output_locks';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_STATUS_OUTPUT_LOCKS OFF
+select * from information_schema.session_variables where variable_name='innodb_status_output_locks';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_STATUS_OUTPUT_LOCKS OFF
+set global innodb_status_output_locks='OFF';
+select @@global.innodb_status_output_locks;
+@@global.innodb_status_output_locks
+0
+select * from information_schema.global_variables where variable_name='innodb_status_output_locks';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_STATUS_OUTPUT_LOCKS OFF
+select * from information_schema.session_variables where variable_name='innodb_status_output_locks';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_STATUS_OUTPUT_LOCKS OFF
+set @@global.innodb_status_output_locks=1;
+select @@global.innodb_status_output_locks;
+@@global.innodb_status_output_locks
+1
+select * from information_schema.global_variables where variable_name='innodb_status_output_locks';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_STATUS_OUTPUT_LOCKS ON
+select * from information_schema.session_variables where variable_name='innodb_status_output_locks';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_STATUS_OUTPUT_LOCKS ON
+set global innodb_status_output_locks=0;
+select @@global.innodb_status_output_locks;
+@@global.innodb_status_output_locks
+0
+select * from information_schema.global_variables where variable_name='innodb_status_output_locks';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_STATUS_OUTPUT_LOCKS OFF
+select * from information_schema.session_variables where variable_name='innodb_status_output_locks';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_STATUS_OUTPUT_LOCKS OFF
+set @@global.innodb_status_output_locks='ON';
+select @@global.innodb_status_output_locks;
+@@global.innodb_status_output_locks
+1
+select * from information_schema.global_variables where variable_name='innodb_status_output_locks';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_STATUS_OUTPUT_LOCKS ON
+select * from information_schema.session_variables where variable_name='innodb_status_output_locks';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_STATUS_OUTPUT_LOCKS ON
+set session innodb_status_output_locks='OFF';
+ERROR HY000: Variable 'innodb_status_output_locks' is a GLOBAL variable and should be set with SET GLOBAL
+set @@session.innodb_status_output_locks='ON';
+ERROR HY000: Variable 'innodb_status_output_locks' is a GLOBAL variable and should be set with SET GLOBAL
+set global innodb_status_output_locks=1.1;
+ERROR 42000: Incorrect argument type to variable 'innodb_status_output_locks'
+set global innodb_status_output_locks=1e1;
+ERROR 42000: Incorrect argument type to variable 'innodb_status_output_locks'
+set global innodb_status_output_locks=2;
+ERROR 42000: Variable 'innodb_status_output_locks' can't be set to the value of '2'
+set global innodb_status_output_locks=-3;
+ERROR 42000: Variable 'innodb_status_output_locks' can't be set to the value of '-3'
+select @@global.innodb_status_output_locks;
+@@global.innodb_status_output_locks
+1
+select * from information_schema.global_variables where variable_name='innodb_status_output_locks';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_STATUS_OUTPUT_LOCKS ON
+select * from information_schema.session_variables where variable_name='innodb_status_output_locks';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_STATUS_OUTPUT_LOCKS ON
+set global innodb_status_output_locks=DEFAULT;
+select @@global.innodb_status_output_locks;
+@@global.innodb_status_output_locks
+0
+select * from information_schema.global_variables where variable_name='innodb_status_output_locks';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_STATUS_OUTPUT_LOCKS OFF
+select * from information_schema.session_variables where variable_name='innodb_status_output_locks';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_STATUS_OUTPUT_LOCKS OFF
+set global innodb_status_output_locks='AUTO';
+ERROR 42000: Variable 'innodb_status_output_locks' can't be set to the value of 'AUTO'
+SET @@global.innodb_status_output_locks = @start_global_value;
+SELECT @@global.innodb_status_output_locks;
+@@global.innodb_status_output_locks
+0
diff --git a/mysql-test/suite/sys_vars/t/innodb_buf_flush_list_now_basic.test b/mysql-test/suite/sys_vars/t/innodb_buf_flush_list_now_basic.test
new file mode 100644
index 00000000000..8a53b0a5770
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_buf_flush_list_now_basic.test
@@ -0,0 +1,32 @@
+--echo #
+--echo # Basic test for innodb_buf_flush_list_now.
+--echo #
+
+--source include/have_innodb.inc
+
+# The config variable is a debug variable for now
+-- source include/have_debug.inc
+
+SELECT @@global.innodb_buf_flush_list_now;
+
+set global innodb_buf_flush_list_now = 1;
+
+SELECT @@global.innodb_buf_flush_list_now;
+
+set global innodb_buf_flush_list_now = 0;
+
+--error ER_WRONG_VALUE_FOR_VAR
+set global innodb_buf_flush_list_now = dummy;
+
+--error ER_GLOBAL_VARIABLE
+set innodb_buf_flush_list_now = ON;
+
+--echo # Setting to ON is ok.
+set global innodb_buf_flush_list_now = ON;
+
+--echo # Setting to OFF is ok.
+set global innodb_buf_flush_list_now = OFF;
+
+--echo # Must always be 0.
+SELECT @@global.innodb_buf_flush_list_now;
+
diff --git a/mysql-test/suite/sys_vars/t/innodb_status_output_basic.test b/mysql-test/suite/sys_vars/t/innodb_status_output_basic.test
new file mode 100644
index 00000000000..4459632134d
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_status_output_basic.test
@@ -0,0 +1,69 @@
+--source include/have_innodb.inc
+
+SET @start_global_value = @@global.innodb_status_output;
+SELECT @start_global_value;
+
+#
+# exists as global only
+#
+--echo Valid values are 'ON' and 'OFF'
+select @@global.innodb_status_output in (0, 1);
+select @@global.innodb_status_output;
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+select @@session.innodb_status_output;
+show global variables like 'innodb_status_output';
+show session variables like 'innodb_status_output';
+select * from information_schema.global_variables where variable_name='innodb_status_output';
+select * from information_schema.session_variables where variable_name='innodb_status_output';
+
+#
+# show that it's writable
+#
+set global innodb_status_output='OFF';
+select @@global.innodb_status_output;
+select * from information_schema.global_variables where variable_name='innodb_status_output';
+select * from information_schema.session_variables where variable_name='innodb_status_output';
+set @@global.innodb_status_output=1;
+select @@global.innodb_status_output;
+select * from information_schema.global_variables where variable_name='innodb_status_output';
+select * from information_schema.session_variables where variable_name='innodb_status_output';
+set global innodb_status_output=0;
+select @@global.innodb_status_output;
+select * from information_schema.global_variables where variable_name='innodb_status_output';
+select * from information_schema.session_variables where variable_name='innodb_status_output';
+set @@global.innodb_status_output='ON';
+select @@global.innodb_status_output;
+select * from information_schema.global_variables where variable_name='innodb_status_output';
+select * from information_schema.session_variables where variable_name='innodb_status_output';
+--error ER_GLOBAL_VARIABLE
+set session innodb_status_output='OFF';
+--error ER_GLOBAL_VARIABLE
+set @@session.innodb_status_output='ON';
+
+#
+# incorrect types
+#
+--error ER_WRONG_TYPE_FOR_VAR
+set global innodb_status_output=1.1;
+--error ER_WRONG_TYPE_FOR_VAR
+set global innodb_status_output=1e1;
+--error ER_WRONG_VALUE_FOR_VAR
+set global innodb_status_output=2;
+--error ER_WRONG_VALUE_FOR_VAR
+set global innodb_status_output=-3;
+select @@global.innodb_status_output;
+select * from information_schema.global_variables where variable_name='innodb_status_output';
+select * from information_schema.session_variables where variable_name='innodb_status_output';
+set global innodb_status_output=DEFAULT;
+select @@global.innodb_status_output;
+select * from information_schema.global_variables where variable_name='innodb_status_output';
+select * from information_schema.session_variables where variable_name='innodb_status_output';
+--error ER_WRONG_VALUE_FOR_VAR
+set global innodb_status_output='AUTO';
+
+#
+# Cleanup
+#
+
+SET @@global.innodb_status_output = @start_global_value;
+SELECT @@global.innodb_status_output;
diff --git a/mysql-test/suite/sys_vars/t/innodb_status_output_locks_basic.test b/mysql-test/suite/sys_vars/t/innodb_status_output_locks_basic.test
new file mode 100644
index 00000000000..92c82b2ddbf
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_status_output_locks_basic.test
@@ -0,0 +1,69 @@
+--source include/have_innodb.inc
+
+SET @start_global_value = @@global.innodb_status_output_locks;
+SELECT @start_global_value;
+
+#
+# exists as global only
+#
+--echo Valid values are 'ON' and 'OFF'
+select @@global.innodb_status_output_locks in (0, 1);
+select @@global.innodb_status_output_locks;
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+select @@session.innodb_status_output_locks;
+show global variables like 'innodb_status_output_locks';
+show session variables like 'innodb_status_output_locks';
+select * from information_schema.global_variables where variable_name='innodb_status_output_locks';
+select * from information_schema.session_variables where variable_name='innodb_status_output_locks';
+
+#
+# show that it's writable
+#
+set global innodb_status_output_locks='OFF';
+select @@global.innodb_status_output_locks;
+select * from information_schema.global_variables where variable_name='innodb_status_output_locks';
+select * from information_schema.session_variables where variable_name='innodb_status_output_locks';
+set @@global.innodb_status_output_locks=1;
+select @@global.innodb_status_output_locks;
+select * from information_schema.global_variables where variable_name='innodb_status_output_locks';
+select * from information_schema.session_variables where variable_name='innodb_status_output_locks';
+set global innodb_status_output_locks=0;
+select @@global.innodb_status_output_locks;
+select * from information_schema.global_variables where variable_name='innodb_status_output_locks';
+select * from information_schema.session_variables where variable_name='innodb_status_output_locks';
+set @@global.innodb_status_output_locks='ON';
+select @@global.innodb_status_output_locks;
+select * from information_schema.global_variables where variable_name='innodb_status_output_locks';
+select * from information_schema.session_variables where variable_name='innodb_status_output_locks';
+--error ER_GLOBAL_VARIABLE
+set session innodb_status_output_locks='OFF';
+--error ER_GLOBAL_VARIABLE
+set @@session.innodb_status_output_locks='ON';
+
+#
+# incorrect types
+#
+--error ER_WRONG_TYPE_FOR_VAR
+set global innodb_status_output_locks=1.1;
+--error ER_WRONG_TYPE_FOR_VAR
+set global innodb_status_output_locks=1e1;
+--error ER_WRONG_VALUE_FOR_VAR
+set global innodb_status_output_locks=2;
+--error ER_WRONG_VALUE_FOR_VAR
+set global innodb_status_output_locks=-3;
+select @@global.innodb_status_output_locks;
+select * from information_schema.global_variables where variable_name='innodb_status_output_locks';
+select * from information_schema.session_variables where variable_name='innodb_status_output_locks';
+set global innodb_status_output_locks=DEFAULT;
+select @@global.innodb_status_output_locks;
+select * from information_schema.global_variables where variable_name='innodb_status_output_locks';
+select * from information_schema.session_variables where variable_name='innodb_status_output_locks';
+--error ER_WRONG_VALUE_FOR_VAR
+set global innodb_status_output_locks='AUTO';
+
+#
+# Cleanup
+#
+
+SET @@global.innodb_status_output_locks = @start_global_value;
+SELECT @@global.innodb_status_output_locks;