summaryrefslogtreecommitdiff
path: root/mysql-test/suite/sys_vars/t/innodb_table_locks_func.test
diff options
context:
space:
mode:
Diffstat (limited to 'mysql-test/suite/sys_vars/t/innodb_table_locks_func.test')
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_table_locks_func.test94
1 files changed, 94 insertions, 0 deletions
diff --git a/mysql-test/suite/sys_vars/t/innodb_table_locks_func.test b/mysql-test/suite/sys_vars/t/innodb_table_locks_func.test
new file mode 100644
index 00000000000..6638a20c926
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_table_locks_func.test
@@ -0,0 +1,94 @@
+################# mysql-test\t\innodb_table_locks_func.test ##################
+# #
+# Variable Name: innodb_table_locks #
+# Scope: GLOBAL | SESSION #
+# Access Type: Dynamic #
+# Data Type: boolean #
+# Default Value: 1 #
+# Range: 0,1 #
+# #
+# #
+# Creation Date: 2008-03-08 #
+# Author: Rizwan #
+# #
+# Description: Test Cases of Dynamic System Variable innodb_table_locks #
+# that checks the behavior of this variable #
+# #
+# Reference: #
+# http://dev.mysql.com/doc/refman/5.1/en/server-system-variables.html #
+# #
+###############################################################################
+
+--source include/not_embedded.inc
+--source include/have_innodb.inc
+
+--echo '#--------------------FN_DYNVARS_048_01-------------------------#'
+####################################################################
+# Check if setting innodb_table_locks is changed in new connection #
+####################################################################
+
+SET @start_value= @@global.innodb_table_locks;
+SELECT @start_value;
+
+SET @@global.innodb_table_locks = OFF;
+--echo 'connect (con1,localhost,root,,,,)'
+connect (con1,localhost,root,,,,);
+--echo 'connection con1'
+connection con1;
+SELECT @@global.innodb_table_locks;
+SELECT @@session.innodb_table_locks;
+disconnect con1;
+
+
+--echo '#--------------------FN_DYNVARS_048_02-------------------------#'
+###########################################################
+# Begin the functionality Testing of innodb_table_locks #
+###########################################################
+
+#==============================================================================
+--echo '----check when innodb_table_locks = ON and autocommit = OFF---'
+#==============================================================================
+--echo 'connect (con2,localhost,root,,,,)'
+connect (con2,localhost,root,,,,);
+
+--echo 'connection default'
+connection default;
+
+--disable_warnings
+DROP TABLE IF EXISTS t1;
+--enable_warnings
+CREATE TABLE t1 (a INT) ENGINE=INNODB;
+
+SET @@autocommit = OFF;
+SET @@innodb_table_locks = ON;
+
+BEGIN;
+INSERT INTO t1 VALUES(1);
+SELECT * FROM t1 FOR UPDATE;
+
+--echo 'CONNECTION con2'
+CONNECTION con2;
+SET @@innodb_table_locks = ON;
+SET @@autocommit = OFF;
+send LOCK TABLES t1 WRITE;
+
+--echo 'CONNECTION default'
+CONNECTION default;
+COMMIT;
+
+--echo 'CONNECTION con2'
+CONNECTION con2;
+UNLOCK tables;
+
+DROP TABLE t1;
+disconnect con2;
+
+connection default;
+SET @@global.innodb_table_locks= @start_value;
+SELECT @@global.innodb_table_locks;
+
+##########################################################
+# End of functionality Testing for innodb_table_locks #
+##########################################################
+
+