summaryrefslogtreecommitdiff
path: root/mysql-test/suite/sys_vars
diff options
context:
space:
mode:
authorSergei Golubchik <sergii@pisem.net>2013-03-27 23:41:02 +0100
committerSergei Golubchik <sergii@pisem.net>2013-03-27 23:41:02 +0100
commit993ea79f2df42292eceeee394e8ece9f4a3f6cf2 (patch)
treed105c8288a89a25d412e9006b740c756db6326d6 /mysql-test/suite/sys_vars
parent1827d9591e24ee469527021771088d842ab18374 (diff)
parent6599fd3e9c23a8957a63146cbe6a0ffc4c292a3d (diff)
downloadmariadb-git-993ea79f2df42292eceeee394e8ece9f4a3f6cf2.tar.gz
5.5 merge
Diffstat (limited to 'mysql-test/suite/sys_vars')
-rw-r--r--mysql-test/suite/sys_vars/disabled.def1
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_limit_optimistic_insert_debug_basic.result58
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_max_changed_pages_basic.result (renamed from mysql-test/suite/sys_vars/r/innodb_changed_pages_limit_basic.result)0
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_print_all_deadlocks_basic.result22
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_trx_purge_view_update_only_debug_basic.result62
-rw-r--r--mysql-test/suite/sys_vars/r/ndb_log_update_as_write_basic.result14
-rw-r--r--mysql-test/suite/sys_vars/r/ndb_log_updated_only_basic.result14
-rw-r--r--mysql-test/suite/sys_vars/r/pseudo_slave_mode_basic.result119
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_limit_optimistic_insert_debug_basic.test50
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_max_changed_pages_basic.test (renamed from mysql-test/suite/sys_vars/t/innodb_changed_pages_limit_basic.test)0
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_print_all_deadlocks_basic.test48
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_trx_purge_view_update_only_debug_basic.test54
-rw-r--r--mysql-test/suite/sys_vars/t/ndb_log_update_as_write_basic.test216
-rw-r--r--mysql-test/suite/sys_vars/t/ndb_log_updated_only_basic.test216
-rw-r--r--mysql-test/suite/sys_vars/t/pseudo_slave_mode_basic.test168
15 files changed, 581 insertions, 461 deletions
diff --git a/mysql-test/suite/sys_vars/disabled.def b/mysql-test/suite/sys_vars/disabled.def
index 1ae495e4863..596191d09b6 100644
--- a/mysql-test/suite/sys_vars/disabled.def
+++ b/mysql-test/suite/sys_vars/disabled.def
@@ -10,6 +10,5 @@
#
##############################################################################
-innodb_trx_rseg_n_slots_debug_basic: variable innodb_trx_rseg_n_slots_debug is removed in MariaDB
innodb_flush_checkpoint_debug_basic: removed from XtraDB-26.0
diff --git a/mysql-test/suite/sys_vars/r/innodb_limit_optimistic_insert_debug_basic.result b/mysql-test/suite/sys_vars/r/innodb_limit_optimistic_insert_debug_basic.result
new file mode 100644
index 00000000000..3d4f401aad1
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_limit_optimistic_insert_debug_basic.result
@@ -0,0 +1,58 @@
+SET @start_global_value = @@global.innodb_limit_optimistic_insert_debug;
+SELECT @start_global_value;
+@start_global_value
+0
+select @@global.innodb_limit_optimistic_insert_debug;
+@@global.innodb_limit_optimistic_insert_debug
+0
+select @@session.innodb_limit_optimistic_insert_debug;
+ERROR HY000: Variable 'innodb_limit_optimistic_insert_debug' is a GLOBAL variable
+show global variables like 'innodb_limit_optimistic_insert_debug';
+Variable_name Value
+innodb_limit_optimistic_insert_debug 0
+show session variables like 'innodb_limit_optimistic_insert_debug';
+Variable_name Value
+innodb_limit_optimistic_insert_debug 0
+select * from information_schema.global_variables where variable_name='innodb_limit_optimistic_insert_debug';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_LIMIT_OPTIMISTIC_INSERT_DEBUG 0
+select * from information_schema.session_variables where variable_name='innodb_limit_optimistic_insert_debug';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_LIMIT_OPTIMISTIC_INSERT_DEBUG 0
+set global innodb_limit_optimistic_insert_debug=1;
+select @@global.innodb_limit_optimistic_insert_debug;
+@@global.innodb_limit_optimistic_insert_debug
+1
+select * from information_schema.global_variables where variable_name='innodb_limit_optimistic_insert_debug';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_LIMIT_OPTIMISTIC_INSERT_DEBUG 1
+select * from information_schema.session_variables where variable_name='innodb_limit_optimistic_insert_debug';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_LIMIT_OPTIMISTIC_INSERT_DEBUG 1
+set @@global.innodb_limit_optimistic_insert_debug=0;
+select @@global.innodb_limit_optimistic_insert_debug;
+@@global.innodb_limit_optimistic_insert_debug
+0
+select * from information_schema.global_variables where variable_name='innodb_limit_optimistic_insert_debug';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_LIMIT_OPTIMISTIC_INSERT_DEBUG 0
+select * from information_schema.session_variables where variable_name='innodb_limit_optimistic_insert_debug';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_LIMIT_OPTIMISTIC_INSERT_DEBUG 0
+set session innodb_limit_optimistic_insert_debug='some';
+ERROR HY000: Variable 'innodb_limit_optimistic_insert_debug' is a GLOBAL variable and should be set with SET GLOBAL
+set @@session.innodb_limit_optimistic_insert_debug='some';
+ERROR HY000: Variable 'innodb_limit_optimistic_insert_debug' is a GLOBAL variable and should be set with SET GLOBAL
+set global innodb_limit_optimistic_insert_debug=1.1;
+ERROR 42000: Incorrect argument type to variable 'innodb_limit_optimistic_insert_debug'
+set global innodb_limit_optimistic_insert_debug='foo';
+ERROR 42000: Incorrect argument type to variable 'innodb_limit_optimistic_insert_debug'
+set global innodb_limit_optimistic_insert_debug=-2;
+Warnings:
+Warning 1292 Truncated incorrect innodb_limit_optimistic_insert_d value: '-2'
+set global innodb_limit_optimistic_insert_debug=1e1;
+ERROR 42000: Incorrect argument type to variable 'innodb_limit_optimistic_insert_debug'
+SET @@global.innodb_limit_optimistic_insert_debug = @start_global_value;
+SELECT @@global.innodb_limit_optimistic_insert_debug;
+@@global.innodb_limit_optimistic_insert_debug
+0
diff --git a/mysql-test/suite/sys_vars/r/innodb_changed_pages_limit_basic.result b/mysql-test/suite/sys_vars/r/innodb_max_changed_pages_basic.result
index d9d067c2cf9..d9d067c2cf9 100644
--- a/mysql-test/suite/sys_vars/r/innodb_changed_pages_limit_basic.result
+++ b/mysql-test/suite/sys_vars/r/innodb_max_changed_pages_basic.result
diff --git a/mysql-test/suite/sys_vars/r/innodb_print_all_deadlocks_basic.result b/mysql-test/suite/sys_vars/r/innodb_print_all_deadlocks_basic.result
new file mode 100644
index 00000000000..1bd078dfd7e
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_print_all_deadlocks_basic.result
@@ -0,0 +1,22 @@
+SELECT @@innodb_print_all_deadlocks;
+@@innodb_print_all_deadlocks
+0
+SET GLOBAL innodb_print_all_deadlocks=1;
+CREATE TABLE t1 (c1 INT, PRIMARY KEY (c1)) ENGINE=INNODB;
+INSERT INTO t1 VALUES (123);
+CREATE TABLE t2 (c2 INT, PRIMARY KEY (c2)) ENGINE=INNODB;
+INSERT INTO t2 VALUES (456);
+BEGIN;
+SELECT * FROM t1 FOR UPDATE;
+c1
+123
+BEGIN;
+SELECT * FROM t2 FOR UPDATE;
+c2
+456
+SELECT * FROM t2 FOR UPDATE;
+SELECT * FROM t1 FOR UPDATE;
+ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
+DROP TABLE t2;
+DROP TABLE t1;
+SET GLOBAL innodb_print_all_deadlocks=default;
diff --git a/mysql-test/suite/sys_vars/r/innodb_trx_purge_view_update_only_debug_basic.result b/mysql-test/suite/sys_vars/r/innodb_trx_purge_view_update_only_debug_basic.result
new file mode 100644
index 00000000000..1779cbb48df
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/innodb_trx_purge_view_update_only_debug_basic.result
@@ -0,0 +1,62 @@
+SET @start_global_value = @@global.innodb_trx_purge_view_update_only_debug;
+SELECT @start_global_value;
+@start_global_value
+0
+select @@global.innodb_trx_purge_view_update_only_debug in (0, 1);
+@@global.innodb_trx_purge_view_update_only_debug in (0, 1)
+1
+select @@global.innodb_trx_purge_view_update_only_debug;
+@@global.innodb_trx_purge_view_update_only_debug
+0
+select @@session.innodb_trx_purge_view_update_only_debug;
+ERROR HY000: Variable 'innodb_trx_purge_view_update_only_debug' is a GLOBAL variable
+show global variables like 'innodb_trx_purge_view_update_only_debug';
+Variable_name Value
+innodb_trx_purge_view_update_only_debug OFF
+show session variables like 'innodb_trx_purge_view_update_only_debug';
+Variable_name Value
+innodb_trx_purge_view_update_only_debug OFF
+select * from information_schema.global_variables where variable_name='innodb_trx_purge_view_update_only_debug';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_TRX_PURGE_VIEW_UPDATE_ONLY_DEBUG OFF
+select * from information_schema.session_variables where variable_name='innodb_trx_purge_view_update_only_debug';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_TRX_PURGE_VIEW_UPDATE_ONLY_DEBUG OFF
+set global innodb_trx_purge_view_update_only_debug=1;
+select @@global.innodb_trx_purge_view_update_only_debug;
+@@global.innodb_trx_purge_view_update_only_debug
+1
+select * from information_schema.global_variables where variable_name='innodb_trx_purge_view_update_only_debug';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_TRX_PURGE_VIEW_UPDATE_ONLY_DEBUG ON
+select * from information_schema.session_variables where variable_name='innodb_trx_purge_view_update_only_debug';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_TRX_PURGE_VIEW_UPDATE_ONLY_DEBUG ON
+set @@global.innodb_trx_purge_view_update_only_debug=0;
+select @@global.innodb_trx_purge_view_update_only_debug;
+@@global.innodb_trx_purge_view_update_only_debug
+0
+select * from information_schema.global_variables where variable_name='innodb_trx_purge_view_update_only_debug';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_TRX_PURGE_VIEW_UPDATE_ONLY_DEBUG OFF
+select * from information_schema.session_variables where variable_name='innodb_trx_purge_view_update_only_debug';
+VARIABLE_NAME VARIABLE_VALUE
+INNODB_TRX_PURGE_VIEW_UPDATE_ONLY_DEBUG OFF
+set session innodb_trx_purge_view_update_only_debug='some';
+ERROR HY000: Variable 'innodb_trx_purge_view_update_only_debug' is a GLOBAL variable and should be set with SET GLOBAL
+set @@session.innodb_trx_purge_view_update_only_debug='some';
+ERROR HY000: Variable 'innodb_trx_purge_view_update_only_debug' is a GLOBAL variable and should be set with SET GLOBAL
+set global innodb_trx_purge_view_update_only_debug=1.1;
+ERROR 42000: Incorrect argument type to variable 'innodb_trx_purge_view_update_only_debug'
+set global innodb_trx_purge_view_update_only_debug='foo';
+ERROR 42000: Variable 'innodb_trx_purge_view_update_only_debug' can't be set to the value of 'foo'
+set global innodb_trx_purge_view_update_only_debug=-2;
+ERROR 42000: Variable 'innodb_trx_purge_view_update_only_debug' can't be set to the value of '-2'
+set global innodb_trx_purge_view_update_only_debug=1e1;
+ERROR 42000: Incorrect argument type to variable 'innodb_trx_purge_view_update_only_debug'
+set global innodb_trx_purge_view_update_only_debug=2;
+ERROR 42000: Variable 'innodb_trx_purge_view_update_only_debug' can't be set to the value of '2'
+SET @@global.innodb_trx_purge_view_update_only_debug = @start_global_value;
+SELECT @@global.innodb_trx_purge_view_update_only_debug;
+@@global.innodb_trx_purge_view_update_only_debug
+0
diff --git a/mysql-test/suite/sys_vars/r/ndb_log_update_as_write_basic.result b/mysql-test/suite/sys_vars/r/ndb_log_update_as_write_basic.result
deleted file mode 100644
index 6353fba2b7c..00000000000
--- a/mysql-test/suite/sys_vars/r/ndb_log_update_as_write_basic.result
+++ /dev/null
@@ -1,14 +0,0 @@
-SET @global_start_value = @@global.ndb_log_update_as_write;
-ERROR HY000: Unknown system variable 'ndb_log_update_as_write'
-SELECT @@global.ndb_log_update_as_write;
-ERROR HY000: Unknown system variable 'ndb_log_update_as_write'
-'Bug: The value is not a system variable or atleast not supported in version 5.1.22'
-'#--------------------FN_DYNVARS_102_01------------------------#'
-'#---------------------FN_DYNVARS_102_02-------------------------#'
-'#--------------------FN_DYNVARS_102_03------------------------#'
-'#--------------------FN_DYNVARS_102_04-------------------------#'
-'#-------------------FN_DYNVARS_102_05----------------------------#'
-'#----------------------FN_DYNVARS_102_06------------------------#'
-'#----------------------FN_DYNVARS_102_07------------------------#'
-'#---------------------FN_DYNVARS_102_08-------------------------#'
-'#---------------------FN_DYNVARS_102_09----------------------#'
diff --git a/mysql-test/suite/sys_vars/r/ndb_log_updated_only_basic.result b/mysql-test/suite/sys_vars/r/ndb_log_updated_only_basic.result
deleted file mode 100644
index 38abb7cc263..00000000000
--- a/mysql-test/suite/sys_vars/r/ndb_log_updated_only_basic.result
+++ /dev/null
@@ -1,14 +0,0 @@
-SET @global_start_value = @@global.ndb_log_updated_only;
-ERROR HY000: Unknown system variable 'ndb_log_updated_only'
-SELECT @@global.ndb_log_updated_only;
-ERROR HY000: Unknown system variable 'ndb_log_updated_only'
-'Bug: The value is not a system variable or atleast not supported in version 5.1.22'
-'#--------------------FN_DYNVARS_103_01------------------------#'
-'#---------------------FN_DYNVARS_103_02-------------------------#'
-'#--------------------FN_DYNVARS_103_03------------------------#'
-'#--------------------FN_DYNVARS_103_04-------------------------#'
-'#-------------------FN_DYNVARS_103_05----------------------------#'
-'#----------------------FN_DYNVARS_103_06------------------------#'
-'#----------------------FN_DYNVARS_103_07------------------------#'
-'#---------------------FN_DYNVARS_103_08-------------------------#'
-'#---------------------FN_DYNVARS_103_09----------------------#'
diff --git a/mysql-test/suite/sys_vars/r/pseudo_slave_mode_basic.result b/mysql-test/suite/sys_vars/r/pseudo_slave_mode_basic.result
new file mode 100644
index 00000000000..c98dd338909
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/pseudo_slave_mode_basic.result
@@ -0,0 +1,119 @@
+SET @session_start_value = @@session.pseudo_slave_mode;
+SELECT @session_start_value;
+@session_start_value
+0
+'#--------------------FN_DYNVARS_156_01------------------------#'
+SET @@session.pseudo_slave_mode = 0;
+Warnings:
+Warning 1231 'pseudo_slave_mode' change was ineffective.
+SET @@session.pseudo_slave_mode = DEFAULT;
+Warnings:
+Warning 1231 'pseudo_slave_mode' change was ineffective.
+SELECT @@session.pseudo_slave_mode;
+@@session.pseudo_slave_mode
+0
+SET @@session.pseudo_slave_mode = 1;
+SET @@session.pseudo_slave_mode = DEFAULT;
+Warnings:
+Warning 1231 Slave applier execution mode not active, statement ineffective.
+SELECT @@session.pseudo_slave_mode;
+@@session.pseudo_slave_mode
+0
+'#---------------------FN_DYNVARS_156_02-------------------------#'
+SET pseudo_slave_mode = 1;
+SELECT @@pseudo_slave_mode;
+@@pseudo_slave_mode
+1
+SELECT session.pseudo_slave_mode;
+ERROR 42S02: Unknown table 'session' in field list
+SELECT local.pseudo_slave_mode;
+ERROR 42S02: Unknown table 'local' in field list
+SET session pseudo_slave_mode = 0;
+Warnings:
+Warning 1231 Slave applier execution mode not active, statement ineffective.
+SELECT @@session.pseudo_slave_mode;
+@@session.pseudo_slave_mode
+0
+'#--------------------FN_DYNVARS_156_03------------------------#'
+SET @@session.pseudo_slave_mode = 0;
+Warnings:
+Warning 1231 'pseudo_slave_mode' change was ineffective.
+SELECT @@session.pseudo_slave_mode;
+@@session.pseudo_slave_mode
+0
+SET @@session.pseudo_slave_mode = 1;
+SELECT @@session.pseudo_slave_mode;
+@@session.pseudo_slave_mode
+1
+'#--------------------FN_DYNVARS_156_04-------------------------#'
+SET @@session.pseudo_slave_mode = -1;
+ERROR 42000: Variable 'pseudo_slave_mode' can't be set to the value of '-1'
+SET @@session.pseudo_slave_mode = 2;
+ERROR 42000: Variable 'pseudo_slave_mode' can't be set to the value of '2'
+SET @@session.pseudo_slave_mode = "T";
+ERROR 42000: Variable 'pseudo_slave_mode' can't be set to the value of 'T'
+SET @@session.pseudo_slave_mode = "Y";
+ERROR 42000: Variable 'pseudo_slave_mode' can't be set to the value of 'Y'
+SET @@session.pseudo_slave_mode = TRÜE;
+ERROR 42000: Variable 'pseudo_slave_mode' can't be set to the value of 'TRÜE'
+SET @@session.pseudo_slave_mode = ÕN;
+ERROR 42000: Variable 'pseudo_slave_mode' can't be set to the value of 'ÕN'
+SET @@session.pseudo_slave_mode = OF;
+ERROR 42000: Variable 'pseudo_slave_mode' can't be set to the value of 'OF'
+SET @@session.pseudo_slave_mode = ÓFF;
+ERROR 42000: Variable 'pseudo_slave_mode' can't be set to the value of 'ÓFF'
+SET @@session.pseudo_slave_mode = '¹';
+ERROR 42000: Variable 'pseudo_slave_mode' can't be set to the value of '¹'
+SET @@session.pseudo_slave_mode = NO;
+ERROR 42000: Variable 'pseudo_slave_mode' can't be set to the value of 'NO'
+'#-------------------FN_DYNVARS_156_05----------------------------#'
+SET @@global.pseudo_slave_mode = 0;
+ERROR HY000: Variable 'pseudo_slave_mode' is a SESSION variable and can't be used with SET GLOBAL
+SELECT @@global.pseudo_slave_mode;
+ERROR HY000: Variable 'pseudo_slave_mode' is a SESSION variable
+'#----------------------FN_DYNVARS_156_06------------------------#'
+SELECT count(VARIABLE_VALUE) FROM INFORMATION_SCHEMA.SESSION_VARIABLES WHERE VARIABLE_NAME='pseudo_slave_mode';
+count(VARIABLE_VALUE)
+1
+'#----------------------FN_DYNVARS_156_07------------------------#'
+SELECT IF(@@session.pseudo_slave_mode, "ON", "OFF") = VARIABLE_VALUE
+FROM INFORMATION_SCHEMA.SESSION_VARIABLES
+WHERE VARIABLE_NAME='pseudo_slave_mode';
+IF(@@session.pseudo_slave_mode, "ON", "OFF") = VARIABLE_VALUE
+1
+SELECT @@session.pseudo_slave_mode;
+@@session.pseudo_slave_mode
+1
+SELECT VARIABLE_VALUE
+FROM INFORMATION_SCHEMA.SESSION_VARIABLES
+WHERE VARIABLE_NAME='pseudo_slave_mode';
+VARIABLE_VALUE
+ON
+'#---------------------FN_DYNVARS_156_08-------------------------#'
+SET @@session.pseudo_slave_mode = OFF;
+Warnings:
+Warning 1231 Slave applier execution mode not active, statement ineffective.
+SELECT @@session.pseudo_slave_mode;
+@@session.pseudo_slave_mode
+0
+SET @@session.pseudo_slave_mode = ON;
+SELECT @@session.pseudo_slave_mode;
+@@session.pseudo_slave_mode
+1
+'#---------------------FN_DYNVARS_156_09----------------------#'
+SET @@session.pseudo_slave_mode = TRUE;
+SELECT @@session.pseudo_slave_mode;
+@@session.pseudo_slave_mode
+1
+SET @@session.pseudo_slave_mode = FALSE;
+Warnings:
+Warning 1231 Slave applier execution mode not active, statement ineffective.
+SELECT @@session.pseudo_slave_mode;
+@@session.pseudo_slave_mode
+0
+SET @@session.pseudo_slave_mode = @session_start_value;
+Warnings:
+Warning 1231 'pseudo_slave_mode' change was ineffective.
+SELECT @@session.pseudo_slave_mode;
+@@session.pseudo_slave_mode
+0
diff --git a/mysql-test/suite/sys_vars/t/innodb_limit_optimistic_insert_debug_basic.test b/mysql-test/suite/sys_vars/t/innodb_limit_optimistic_insert_debug_basic.test
new file mode 100644
index 00000000000..7998297c69e
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_limit_optimistic_insert_debug_basic.test
@@ -0,0 +1,50 @@
+--source include/have_innodb.inc
+--source include/have_debug.inc
+
+SET @start_global_value = @@global.innodb_limit_optimistic_insert_debug;
+SELECT @start_global_value;
+
+#
+# exists as global only
+#
+select @@global.innodb_limit_optimistic_insert_debug;
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+select @@session.innodb_limit_optimistic_insert_debug;
+show global variables like 'innodb_limit_optimistic_insert_debug';
+show session variables like 'innodb_limit_optimistic_insert_debug';
+select * from information_schema.global_variables where variable_name='innodb_limit_optimistic_insert_debug';
+select * from information_schema.session_variables where variable_name='innodb_limit_optimistic_insert_debug';
+
+#
+# show that it's writable
+#
+set global innodb_limit_optimistic_insert_debug=1;
+select @@global.innodb_limit_optimistic_insert_debug;
+select * from information_schema.global_variables where variable_name='innodb_limit_optimistic_insert_debug';
+select * from information_schema.session_variables where variable_name='innodb_limit_optimistic_insert_debug';
+set @@global.innodb_limit_optimistic_insert_debug=0;
+select @@global.innodb_limit_optimistic_insert_debug;
+select * from information_schema.global_variables where variable_name='innodb_limit_optimistic_insert_debug';
+select * from information_schema.session_variables where variable_name='innodb_limit_optimistic_insert_debug';
+--error ER_GLOBAL_VARIABLE
+set session innodb_limit_optimistic_insert_debug='some';
+--error ER_GLOBAL_VARIABLE
+set @@session.innodb_limit_optimistic_insert_debug='some';
+
+#
+# incorrect types
+#
+--error ER_WRONG_TYPE_FOR_VAR
+set global innodb_limit_optimistic_insert_debug=1.1;
+--error ER_WRONG_TYPE_FOR_VAR
+set global innodb_limit_optimistic_insert_debug='foo';
+set global innodb_limit_optimistic_insert_debug=-2;
+--error ER_WRONG_TYPE_FOR_VAR
+set global innodb_limit_optimistic_insert_debug=1e1;
+
+#
+# Cleanup
+#
+
+SET @@global.innodb_limit_optimistic_insert_debug = @start_global_value;
+SELECT @@global.innodb_limit_optimistic_insert_debug;
diff --git a/mysql-test/suite/sys_vars/t/innodb_changed_pages_limit_basic.test b/mysql-test/suite/sys_vars/t/innodb_max_changed_pages_basic.test
index 00aa476e8d2..00aa476e8d2 100644
--- a/mysql-test/suite/sys_vars/t/innodb_changed_pages_limit_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_max_changed_pages_basic.test
diff --git a/mysql-test/suite/sys_vars/t/innodb_print_all_deadlocks_basic.test b/mysql-test/suite/sys_vars/t/innodb_print_all_deadlocks_basic.test
new file mode 100644
index 00000000000..5ad0ae485e0
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_print_all_deadlocks_basic.test
@@ -0,0 +1,48 @@
+#
+# innodb_print_all_deadlocks
+#
+
+-- source include/have_innodb.inc
+
+SELECT @@innodb_print_all_deadlocks;
+
+SET GLOBAL innodb_print_all_deadlocks=1;
+
+CREATE TABLE t1 (c1 INT, PRIMARY KEY (c1)) ENGINE=INNODB;
+INSERT INTO t1 VALUES (123);
+
+CREATE TABLE t2 (c2 INT, PRIMARY KEY (c2)) ENGINE=INNODB;
+INSERT INTO t2 VALUES (456);
+
+-- connect (con1,localhost,root,,)
+-- connect (con2,localhost,root,,)
+
+-- connection con1
+BEGIN;
+SELECT * FROM t1 FOR UPDATE;
+
+-- connection con2
+BEGIN;
+SELECT * FROM t2 FOR UPDATE;
+
+-- connection con1
+-- send
+SELECT * FROM t2 FOR UPDATE;
+
+-- connection con2
+let $wait_condition=
+SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE state = 'Sending data' AND info = 'SELECT * FROM t2 FOR UPDATE';
+-- source include/wait_condition.inc
+-- error ER_LOCK_DEADLOCK
+SELECT * FROM t1 FOR UPDATE;
+
+-- connection default
+
+-- disconnect con1
+-- disconnect con2
+
+DROP TABLE t2;
+DROP TABLE t1;
+
+SET GLOBAL innodb_print_all_deadlocks=default;
diff --git a/mysql-test/suite/sys_vars/t/innodb_trx_purge_view_update_only_debug_basic.test b/mysql-test/suite/sys_vars/t/innodb_trx_purge_view_update_only_debug_basic.test
new file mode 100644
index 00000000000..d7207515fe1
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_trx_purge_view_update_only_debug_basic.test
@@ -0,0 +1,54 @@
+--source include/have_innodb.inc
+--source include/have_debug.inc
+
+SET @start_global_value = @@global.innodb_trx_purge_view_update_only_debug;
+SELECT @start_global_value;
+
+#
+# exists as global only
+#
+select @@global.innodb_trx_purge_view_update_only_debug in (0, 1);
+select @@global.innodb_trx_purge_view_update_only_debug;
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+select @@session.innodb_trx_purge_view_update_only_debug;
+show global variables like 'innodb_trx_purge_view_update_only_debug';
+show session variables like 'innodb_trx_purge_view_update_only_debug';
+select * from information_schema.global_variables where variable_name='innodb_trx_purge_view_update_only_debug';
+select * from information_schema.session_variables where variable_name='innodb_trx_purge_view_update_only_debug';
+
+#
+# show that it's writable
+#
+set global innodb_trx_purge_view_update_only_debug=1;
+select @@global.innodb_trx_purge_view_update_only_debug;
+select * from information_schema.global_variables where variable_name='innodb_trx_purge_view_update_only_debug';
+select * from information_schema.session_variables where variable_name='innodb_trx_purge_view_update_only_debug';
+set @@global.innodb_trx_purge_view_update_only_debug=0;
+select @@global.innodb_trx_purge_view_update_only_debug;
+select * from information_schema.global_variables where variable_name='innodb_trx_purge_view_update_only_debug';
+select * from information_schema.session_variables where variable_name='innodb_trx_purge_view_update_only_debug';
+--error ER_GLOBAL_VARIABLE
+set session innodb_trx_purge_view_update_only_debug='some';
+--error ER_GLOBAL_VARIABLE
+set @@session.innodb_trx_purge_view_update_only_debug='some';
+
+#
+# incorrect types
+#
+--error ER_WRONG_TYPE_FOR_VAR
+set global innodb_trx_purge_view_update_only_debug=1.1;
+--error ER_WRONG_VALUE_FOR_VAR
+set global innodb_trx_purge_view_update_only_debug='foo';
+--error ER_WRONG_VALUE_FOR_VAR
+set global innodb_trx_purge_view_update_only_debug=-2;
+--error ER_WRONG_TYPE_FOR_VAR
+set global innodb_trx_purge_view_update_only_debug=1e1;
+--error ER_WRONG_VALUE_FOR_VAR
+set global innodb_trx_purge_view_update_only_debug=2;
+
+#
+# Cleanup
+#
+
+SET @@global.innodb_trx_purge_view_update_only_debug = @start_global_value;
+SELECT @@global.innodb_trx_purge_view_update_only_debug;
diff --git a/mysql-test/suite/sys_vars/t/ndb_log_update_as_write_basic.test b/mysql-test/suite/sys_vars/t/ndb_log_update_as_write_basic.test
deleted file mode 100644
index e616a807a38..00000000000
--- a/mysql-test/suite/sys_vars/t/ndb_log_update_as_write_basic.test
+++ /dev/null
@@ -1,216 +0,0 @@
-############## mysql-test\t\ndb_log_update_as_write_basic.test ###############
-# #
-# Variable Name: ndb_log_update_as_write #
-# Scope: GLOBAL #
-# Access Type: Dynamic #
-# Data Type: boolean #
-# Default Value: #
-# Range: #
-# #
-# #
-# Creation Date: 2008-02-07 #
-# Author: Rizwan #
-# #
-# Description: Test Cases of Dynamic System Variable ndb_log_update_as_write #
-# that checks the behavior of this variable in the following ways#
-# * Default Value #
-# * Valid & Invalid values #
-# * Scope & Access method #
-# * Data Integrity #
-# #
-# Reference: http://dev.mysql.com/doc/refman/5.1/en/ #
-# server-system-variables.html #
-# #
-###############################################################################
-############## mysql-test\t\ndb_log_update_as_write_basic.test ################
-# #
-# Variable Name: ndb_log_update_as_write #
-# Scope: GLOBAL & SESSION #
-# Access Type: Dynamic #
-# Data Type: Numeric #
-# Default Value: 1 #
-# Range: 1 - 65536 #
-# #
-# #
-# Creation Date: 2008-02-07 #
-# Author: Rizwan Maredia #
-# #
-# Description: Test Cases of Dynamic System Variable ndb_log_update_as_write #
-# that checks the behavior of this variable in the following ways #
-# * Default Value #
-# * Valid & Invalid values #
-# * Scope & Access method #
-# * Data Integrity #
-# #
-# Reference: http://dev.mysql.com/doc/refman/5.1/en/ #
-# server-system-variables.html #
-# #
-################################################################################
-################# mysql-test\t\ndb_log_update_as_write_basic.test ######
-# #
-# #
-# Creation Date: 2008-02-07 #
-# Author: Rizwan Maredia #
-# #
-# Description: Test Cases of Dynamic System Variable #
-# ndb_log_update_as_write that check behavior of this #
-# variable with valid values, invalid values, #
-# accessing variable with scope that is #
-# allowed and with scope that is now allowed. #
-# Scope: Global #
-# Reference: http://dev.mysql.com/doc/refman/5.1/en/server-system #
-# -variables.html #
-# #
-########################################################################
-
---source include/load_sysvars.inc
-
-########################################################################
-# START OF ndb_log_update_as_write TESTS #
-########################################################################
-
-
-################################################################################
-# Saving initial value of ndb_log_update_as_write in a temporary variable #
-################################################################################
-
-
---Error ER_UNKNOWN_SYSTEM_VARIABLE
-SET @global_start_value = @@global.ndb_log_update_as_write;
---Error ER_UNKNOWN_SYSTEM_VARIABLE
-SELECT @@global.ndb_log_update_as_write;
-
---echo 'Bug: The value is not a system variable or atleast not supported in version 5.1.22'
-
-
---echo '#--------------------FN_DYNVARS_102_01------------------------#'
-########################################################################
-# Display the DEFAULT value of ndb_log_update_as_write #
-########################################################################
-
-#SET @@ndb_log_update_as_write = 0;
-#SET @@ndb_log_update_as_write = DEFAULT;
-#SELECT @@ndb_log_update_as_write;
-#
-#SET @@ndb_log_update_as_write = 1;
-#SET @@ndb_log_update_as_write = DEFAULT;
-#SELECT @@ndb_log_update_as_write;
-
-
---echo '#---------------------FN_DYNVARS_102_02-------------------------#'
-#############################################################################
-# Check if ndb_log_update_as_write can be accessed with and without @@ sign #
-#############################################################################
-
-#SET ndb_log_update_as_write = 1;
-#SELECT @@ndb_log_update_as_write;
-#--Error ER_UNKNOWN_TABLE
-#SELECT global.ndb_log_update_as_write;
-#
-#SET global ndb_log_update_as_write = 1;
-#SELECT @@global.ndb_log_update_as_write;
-
-
---echo '#--------------------FN_DYNVARS_102_03------------------------#'
-########################################################################
-# Change the value of ndb_log_update_as_write to a valid value #
-########################################################################
-
-#SET @@global.ndb_log_update_as_write = 0;
-#SELECT @@global.ndb_log_update_as_write;
-#SET @@global.ndb_log_update_as_write = 1;
-#SELECT @@global.ndb_log_update_as_write;
-## a value of 2 is used to just flush logs and then shutdown cold.
-#SET @@global.ndb_log_update_as_write = 2;
-#SELECT @@global.ndb_log_update_as_write;
-
---echo '#--------------------FN_DYNVARS_102_04-------------------------#'
-###########################################################################
-# Change the value of ndb_log_update_as_write to invalid value #
-###########################################################################
-
-#--Error ER_WRONG_VALUE_FOR_VAR
-#SET @@global.ndb_log_update_as_write = -1;
-#--Error ER_WRONG_VALUE_FOR_VAR
-#SET @@global.ndb_log_update_as_write = TRU;
-#--Error ER_WRONG_VALUE_FOR_VAR
-#SET @@global.ndb_log_update_as_write = TRUE_F;
-#--Error ER_WRONG_VALUE_FOR_VAR
-#SET @@global.ndb_log_update_as_write = FALS;
-#--Error ER_WRONG_VALUE_FOR_VAR
-#SET @@global.ndb_log_update_as_write = OON;
-#--Error ER_WRONG_VALUE_FOR_VAR
-#SET @@global.ndb_log_update_as_write = ONN;
-#--Error ER_WRONG_VALUE_FOR_VAR
-#SET @@global.ndb_log_update_as_write = OOFF;
-#--Error ER_WRONG_VALUE_FOR_VAR
-#SET @@global.ndb_log_update_as_write = 0FF;
-#--Error ER_WRONG_VALUE_FOR_VAR
-#SET @@global.ndb_log_update_as_write = ' 1';
-#--Error ER_WRONG_VALUE_FOR_VAR
-#SET @@global.ndb_log_update_as_write = "0 ";
-
-
-
---echo '#-------------------FN_DYNVARS_102_05----------------------------#'
-###########################################################################
-# Test if accessing session ndb_log_update_as_write gives error #
-###########################################################################
-
-#--Error ER_LOCAL_VARIABLE
-#SET @@session.ndb_log_update_as_write = 0;
-#--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
-#SET @@ndb_log_update_as_write = 0;
-#--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
-#SET @@local.ndb_log_update_as_write = 0;
-#--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
-#SELECT @@session.ndb_log_update_as_write;
-#--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
-#SELECT @@local.ndb_log_update_as_write;
-
---echo '#----------------------FN_DYNVARS_102_06------------------------#'
-#########################################################################
-# Check if the value in SESSION Table contains variable value #
-#########################################################################
-
-#SELECT count(VARIABLE_VALUE) AS res_is_0 FROM INFORMATION_SCHEMA.SESSION_VARIABLES WHERE VARIABLE_NAME='ndb_log_update_as_write';
-
-
---echo '#----------------------FN_DYNVARS_102_07------------------------#'
-#########################################################################
-# Check if the value in GLOBAL Table matches value in variable #
-#########################################################################
-
-#SELECT @@global.ndb_log_update_as_write = VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='ndb_log_update_as_write';
-
-
---echo '#---------------------FN_DYNVARS_102_08-------------------------#'
-###################################################################
-# Check if ON and OFF values can be used on variable #
-###################################################################
-
-#SET @@ndb_log_update_as_write = OFF;
-#SELECT @@ndb_log_update_as_write;
-#SET @@ndb_log_update_as_write = ON;
-#SELECT @@ndb_log_update_as_write;
-
---echo '#---------------------FN_DYNVARS_102_09----------------------#'
-###################################################################
-# Check if TRUE and FALSE values can be used on variable #
-###################################################################
-
-#SET @@ndb_log_update_as_write = TRUE;
-#SELECT @@ndb_log_update_as_write;
-#SET @@ndb_log_update_as_write = 'FALSE';
-#SELECT @@ndb_log_update_as_write;
-
-##############################
-# Restore initial value #
-##############################
-
-#SET @@ndb_log_update_as_write = @global_start_value;
-#SELECT @@ndb_log_update_as_write;
-
-########################################################################
-# END OF ndb_log_update_as_write TESTS #
-########################################################################
diff --git a/mysql-test/suite/sys_vars/t/ndb_log_updated_only_basic.test b/mysql-test/suite/sys_vars/t/ndb_log_updated_only_basic.test
deleted file mode 100644
index c00ecf2e2fa..00000000000
--- a/mysql-test/suite/sys_vars/t/ndb_log_updated_only_basic.test
+++ /dev/null
@@ -1,216 +0,0 @@
-############## mysql-test\t\ndb_log_updated_only_basic.test ###############
-# #
-# Variable Name: ndb_log_updated_only #
-# Scope: GLOBAL #
-# Access Type: Dynamic #
-# Data Type: boolean #
-# Default Value: #
-# Range: #
-# #
-# #
-# Creation Date: 2008-02-07 #
-# Author: Rizwan #
-# #
-# Description: Test Cases of Dynamic System Variable ndb_log_updated_only #
-# that checks the behavior of this variable in the following ways#
-# * Default Value #
-# * Valid & Invalid values #
-# * Scope & Access method #
-# * Data Integrity #
-# #
-# Reference: http://dev.mysql.com/doc/refman/5.1/en/ #
-# server-system-variables.html #
-# #
-###############################################################################
-############## mysql-test\t\ndb_log_updated_only_basic.test ################
-# #
-# Variable Name: ndb_log_updated_only #
-# Scope: GLOBAL & SESSION #
-# Access Type: Dynamic #
-# Data Type: Numeric #
-# Default Value: 1 #
-# Range: 1 - 65536 #
-# #
-# #
-# Creation Date: 2008-02-07 #
-# Author: Rizwan Maredia #
-# #
-# Description: Test Cases of Dynamic System Variable ndb_log_updated_only #
-# that checks the behavior of this variable in the following ways #
-# * Default Value #
-# * Valid & Invalid values #
-# * Scope & Access method #
-# * Data Integrity #
-# #
-# Reference: http://dev.mysql.com/doc/refman/5.1/en/ #
-# server-system-variables.html #
-# #
-################################################################################
-################# mysql-test\t\ndb_log_updated_only_basic.test #########
-# #
-# #
-# Creation Date: 2008-02-07 #
-# Author: Rizwan Maredia #
-# #
-# Description: Test Cases of Dynamic System Variable #
-# ndb_log_updated_only that check behavior of this #
-# variable with valid values, invalid values, #
-# accessing variable with scope that is #
-# allowed and with scope that is now allowed. #
-# Scope: Global #
-# Reference: http://dev.mysql.com/doc/refman/5.1/en/server-system #
-# -variables.html #
-# #
-########################################################################
-
---source include/load_sysvars.inc
-
-########################################################################
-# START OF ndb_log_updated_only TESTS #
-########################################################################
-
-
-################################################################################
-# Saving initial value of ndb_log_updated_only in a temporary variable #
-################################################################################
-
-
---Error ER_UNKNOWN_SYSTEM_VARIABLE
-SET @global_start_value = @@global.ndb_log_updated_only;
---Error ER_UNKNOWN_SYSTEM_VARIABLE
-SELECT @@global.ndb_log_updated_only;
-
---echo 'Bug: The value is not a system variable or atleast not supported in version 5.1.22'
-
-
---echo '#--------------------FN_DYNVARS_103_01------------------------#'
-########################################################################
-# Display the DEFAULT value of ndb_log_updated_only #
-########################################################################
-
-#SET @@ndb_log_updated_only = 0;
-#SET @@ndb_log_updated_only = DEFAULT;
-#SELECT @@ndb_log_updated_only;
-#
-#SET @@ndb_log_updated_only = 1;
-#SET @@ndb_log_updated_only = DEFAULT;
-#SELECT @@ndb_log_updated_only;
-
-
---echo '#---------------------FN_DYNVARS_103_02-------------------------#'
-#############################################################################
-# Check if ndb_log_updated_only can be accessed with and without @@ sign #
-#############################################################################
-
-#SET ndb_log_updated_only = 1;
-#SELECT @@ndb_log_updated_only;
-#--Error ER_UNKNOWN_TABLE
-#SELECT global.ndb_log_updated_only;
-#
-#SET global ndb_log_updated_only = 1;
-#SELECT @@global.ndb_log_updated_only;
-
-
---echo '#--------------------FN_DYNVARS_103_03------------------------#'
-########################################################################
-# Change the value of ndb_log_updated_only to a valid value #
-########################################################################
-
-#SET @@global.ndb_log_updated_only = 0;
-#SELECT @@global.ndb_log_updated_only;
-#SET @@global.ndb_log_updated_only = 1;
-#SELECT @@global.ndb_log_updated_only;
-## a value of 2 is used to just flush logs and then shutdown cold.
-#SET @@global.ndb_log_updated_only = 2;
-#SELECT @@global.ndb_log_updated_only;
-
---echo '#--------------------FN_DYNVARS_103_04-------------------------#'
-###########################################################################
-# Change the value of ndb_log_updated_only to invalid value #
-###########################################################################
-
-#--Error ER_WRONG_VALUE_FOR_VAR
-#SET @@global.ndb_log_updated_only = -1;
-#--Error ER_WRONG_VALUE_FOR_VAR
-#SET @@global.ndb_log_updated_only = TRU;
-#--Error ER_WRONG_VALUE_FOR_VAR
-#SET @@global.ndb_log_updated_only = TRUE_F;
-#--Error ER_WRONG_VALUE_FOR_VAR
-#SET @@global.ndb_log_updated_only = FALS;
-#--Error ER_WRONG_VALUE_FOR_VAR
-#SET @@global.ndb_log_updated_only = OON;
-#--Error ER_WRONG_VALUE_FOR_VAR
-#SET @@global.ndb_log_updated_only = ONN;
-#--Error ER_WRONG_VALUE_FOR_VAR
-#SET @@global.ndb_log_updated_only = OOFF;
-#--Error ER_WRONG_VALUE_FOR_VAR
-#SET @@global.ndb_log_updated_only = 0FF;
-#--Error ER_WRONG_VALUE_FOR_VAR
-#SET @@global.ndb_log_updated_only = ' 1';
-#--Error ER_WRONG_VALUE_FOR_VAR
-#SET @@global.ndb_log_updated_only = "0 ";
-
-
-
---echo '#-------------------FN_DYNVARS_103_05----------------------------#'
-###########################################################################
-# Test if accessing session ndb_log_updated_only gives error #
-###########################################################################
-
-#--Error ER_LOCAL_VARIABLE
-#SET @@session.ndb_log_updated_only = 0;
-#--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
-#SET @@ndb_log_updated_only = 0;
-#--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
-#SET @@local.ndb_log_updated_only = 0;
-#--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
-#SELECT @@session.ndb_log_updated_only;
-#--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
-#SELECT @@local.ndb_log_updated_only;
-
---echo '#----------------------FN_DYNVARS_103_06------------------------#'
-#########################################################################
-# Check if the value in SESSION Table contains variable value #
-#########################################################################
-
-#SELECT count(VARIABLE_VALUE) AS res_is_0 FROM INFORMATION_SCHEMA.SESSION_VARIABLES WHERE VARIABLE_NAME='ndb_log_updated_only';
-
-
---echo '#----------------------FN_DYNVARS_103_07------------------------#'
-#########################################################################
-# Check if the value in GLOBAL Table matches value in variable #
-#########################################################################
-
-#SELECT @@global.ndb_log_updated_only = VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='ndb_log_updated_only';
-
-
---echo '#---------------------FN_DYNVARS_103_08-------------------------#'
-###################################################################
-# Check if ON and OFF values can be used on variable #
-###################################################################
-
-#SET @@ndb_log_updated_only = OFF;
-#SELECT @@ndb_log_updated_only;
-#SET @@ndb_log_updated_only = ON;
-#SELECT @@ndb_log_updated_only;
-
---echo '#---------------------FN_DYNVARS_103_09----------------------#'
-###################################################################
-# Check if TRUE and FALSE values can be used on variable #
-###################################################################
-
-#SET @@ndb_log_updated_only = TRUE;
-#SELECT @@ndb_log_updated_only;
-#SET @@ndb_log_updated_only = 'FALSE';
-#SELECT @@ndb_log_updated_only;
-
-##############################
-# Restore initial value #
-##############################
-
-#SET @@ndb_log_updated_only = @global_start_value;
-#SELECT @@ndb_log_updated_only;
-
-########################################################################
-# END OF ndb_log_updated_only TESTS #
-########################################################################
diff --git a/mysql-test/suite/sys_vars/t/pseudo_slave_mode_basic.test b/mysql-test/suite/sys_vars/t/pseudo_slave_mode_basic.test
new file mode 100644
index 00000000000..3ef39bb8667
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/pseudo_slave_mode_basic.test
@@ -0,0 +1,168 @@
+####################### mysql-test\t\pseudo_slave_mode_basic.test ###################
+# #
+# Variable Name: pseudo_slave_mode #
+# Scope: SESSION #
+# Access Type: Dynamic #
+# Data Type: boolean #
+# Default Value: #
+# Valid Values: 0,1 #
+# #
+# #
+# Creation Date: 2012-11-16 #
+# #
+# Description: Test Cases of Dynamic System Variable pseudo_slave_mode #
+# that checks the behavior of this variable in the following ways#
+# * Default Value #
+# * Valid & Invalid values #
+# * Scope & Access method #
+# * Data Integrity #
+# #
+# Reference: http://dev.mysql.com/doc/refman/5.5/en/ #
+# server-system-variables.html #
+# #
+###############################################################################
+
+--source include/load_sysvars.inc
+
+########################################################################
+# START OF pseudo_slave_mode TESTS #
+########################################################################
+
+
+##############################################################################
+# Saving initial value of pseudo_slave_mode in a temporary variable #
+##############################################################################
+
+SET @session_start_value = @@session.pseudo_slave_mode;
+SELECT @session_start_value;
+
+--echo '#--------------------FN_DYNVARS_156_01------------------------#'
+########################################################################
+# Display the DEFAULT value of pseudo_slave_mode #
+########################################################################
+
+SET @@session.pseudo_slave_mode = 0;
+SET @@session.pseudo_slave_mode = DEFAULT;
+SELECT @@session.pseudo_slave_mode;
+
+SET @@session.pseudo_slave_mode = 1;
+SET @@session.pseudo_slave_mode = DEFAULT;
+SELECT @@session.pseudo_slave_mode;
+
+
+--echo '#---------------------FN_DYNVARS_156_02-------------------------#'
+#############################################################################
+# Check if pseudo_slave_mode can be accessed with and without @@ sign #
+#############################################################################
+
+SET pseudo_slave_mode = 1;
+SELECT @@pseudo_slave_mode;
+
+--Error ER_UNKNOWN_TABLE
+SELECT session.pseudo_slave_mode;
+
+--Error ER_UNKNOWN_TABLE
+SELECT local.pseudo_slave_mode;
+
+SET session pseudo_slave_mode = 0;
+SELECT @@session.pseudo_slave_mode;
+
+
+--echo '#--------------------FN_DYNVARS_156_03------------------------#'
+########################################################################
+# change the value of pseudo_slave_mode to a valid value #
+########################################################################
+
+SET @@session.pseudo_slave_mode = 0;
+SELECT @@session.pseudo_slave_mode;
+SET @@session.pseudo_slave_mode = 1;
+SELECT @@session.pseudo_slave_mode;
+
+
+--echo '#--------------------FN_DYNVARS_156_04-------------------------#'
+###########################################################################
+# Change the value of pseudo_slave_mode to invalid value #
+###########################################################################
+
+--Error ER_WRONG_VALUE_FOR_VAR
+SET @@session.pseudo_slave_mode = -1;
+--Error ER_WRONG_VALUE_FOR_VAR
+SET @@session.pseudo_slave_mode = 2;
+--Error ER_WRONG_VALUE_FOR_VAR
+SET @@session.pseudo_slave_mode = "T";
+--Error ER_WRONG_VALUE_FOR_VAR
+SET @@session.pseudo_slave_mode = "Y";
+--Error ER_WRONG_VALUE_FOR_VAR
+SET @@session.pseudo_slave_mode = TRÜE;
+--Error ER_WRONG_VALUE_FOR_VAR
+SET @@session.pseudo_slave_mode = ÕN;
+--Error ER_WRONG_VALUE_FOR_VAR
+SET @@session.pseudo_slave_mode = OF;
+--Error ER_WRONG_VALUE_FOR_VAR
+SET @@session.pseudo_slave_mode = ÓFF;
+--Error ER_WRONG_VALUE_FOR_VAR
+SET @@session.pseudo_slave_mode = '¹';
+--Error ER_WRONG_VALUE_FOR_VAR
+SET @@session.pseudo_slave_mode = NO;
+
+
+--echo '#-------------------FN_DYNVARS_156_05----------------------------#'
+###########################################################################
+# Test if accessing global pseudo_slave_mode gives error #
+###########################################################################
+
+--error ER_LOCAL_VARIABLE
+SET @@global.pseudo_slave_mode = 0;
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT @@global.pseudo_slave_mode;
+
+--echo '#----------------------FN_DYNVARS_156_06------------------------#'
+#########################################################################
+# Check if the value in SESSION Table contains variable value #
+#########################################################################
+
+SELECT count(VARIABLE_VALUE) FROM INFORMATION_SCHEMA.SESSION_VARIABLES WHERE VARIABLE_NAME='pseudo_slave_mode';
+
+--echo '#----------------------FN_DYNVARS_156_07------------------------#'
+#########################################################################
+# Check if the value in SESSION Table matches value in variable #
+#########################################################################
+
+SELECT IF(@@session.pseudo_slave_mode, "ON", "OFF") = VARIABLE_VALUE
+FROM INFORMATION_SCHEMA.SESSION_VARIABLES
+WHERE VARIABLE_NAME='pseudo_slave_mode';
+SELECT @@session.pseudo_slave_mode;
+SELECT VARIABLE_VALUE
+FROM INFORMATION_SCHEMA.SESSION_VARIABLES
+WHERE VARIABLE_NAME='pseudo_slave_mode';
+
+--echo '#---------------------FN_DYNVARS_156_08-------------------------#'
+###################################################################
+# Check if ON and OFF values can be used on variable #
+###################################################################
+
+SET @@session.pseudo_slave_mode = OFF;
+SELECT @@session.pseudo_slave_mode;
+SET @@session.pseudo_slave_mode = ON;
+SELECT @@session.pseudo_slave_mode;
+
+--echo '#---------------------FN_DYNVARS_156_09----------------------#'
+###################################################################
+# Check if TRUE and FALSE values can be used on variable #
+###################################################################
+
+SET @@session.pseudo_slave_mode = TRUE;
+SELECT @@session.pseudo_slave_mode;
+SET @@session.pseudo_slave_mode = FALSE;
+SELECT @@session.pseudo_slave_mode;
+
+##############################
+# Restore initial value #
+##############################
+
+SET @@session.pseudo_slave_mode = @session_start_value;
+SELECT @@session.pseudo_slave_mode;
+
+###############################################################
+# END OF pseudo_slave_mode TESTS #
+###############################################################