summaryrefslogtreecommitdiff
path: root/mysql-test/t/table_lock_wait_timeout_basic.test
diff options
context:
space:
mode:
Diffstat (limited to 'mysql-test/t/table_lock_wait_timeout_basic.test')
-rw-r--r--mysql-test/t/table_lock_wait_timeout_basic.test172
1 files changed, 172 insertions, 0 deletions
diff --git a/mysql-test/t/table_lock_wait_timeout_basic.test b/mysql-test/t/table_lock_wait_timeout_basic.test
new file mode 100644
index 00000000000..43186c70874
--- /dev/null
+++ b/mysql-test/t/table_lock_wait_timeout_basic.test
@@ -0,0 +1,172 @@
+############## mysql-test\t\table_lock_wait_timeout_basic.test ################
+# #
+# Variable Name: table_lock_wait _timeout #
+# Scope: GLOBAL #
+# Access Type: Dynamic #
+# Data Type: numeric #
+# Default Value: 50 #
+# Range: 1-1073741824 #
+# #
+# #
+# Creation Date: 2008-02-14 #
+# Author: Salman #
+# #
+# Description: Test Cases of Dynamic System Variable table_lock_wait_timeout #
+# 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#option_mysqld_table_lock_wait_timeout #
+# #
+###############################################################################
+
+--source include/load_sysvars.inc
+########################################################################
+# START OF table_lock_wait_timeout TESTS #
+########################################################################
+
+
+##########################################################################
+# Saving initial value of table_lock_wait_timeout in a temporary variable#
+##########################################################################
+
+SET @start_value = @@global.table_lock_wait_timeout;
+SELECT @start_value;
+
+
+--echo '#--------------------FN_DYNVARS_001_01------------------------#'
+########################################################################
+# Display the DEFAULT value of table_lock_wait_timeout #
+########################################################################
+
+SET @@global.table_lock_wait_timeout = 99;
+SET @@global.table_lock_wait_timeout = DeFAULT;
+SELECT @@global.table_lock_wait_timeout;
+
+
+--echo '#---------------------FN_DYNVARS_001_02-------------------------#'
+###############################################
+# Verify default value of variable #
+###############################################
+
+SET @@global.table_lock_wait_timeout =Default;
+SELECT @@global.table_lock_wait_timeout = 50;
+
+--echo '#--------------------FN_DYNVARS_001_03------------------------#'
+########################################################################
+# Change the value of table_lock_wait_timeout to a valid value #
+########################################################################
+
+
+SET @@global.table_lock_wait_timeout = 8;
+SELECT @@global.table_lock_wait_timeout ;
+
+SET @@global.table_lock_wait_timeout = 1;
+SELECT @@global.table_lock_wait_timeout ;
+SET @@global.table_lock_wait_timeout = 1073741824;
+SELECT @@global.table_lock_wait_timeout ;
+SET @@global.table_lock_wait_timeout = 18000;
+SELECT @@global.table_lock_wait_timeout ;
+SET @@global.table_lock_wait_timeout = 65535;
+SELECT @@global.table_lock_wait_timeout ;
+
+
+
+--echo '#--------------------FN_DYNVARS_001_04-------------------------#'
+#########################################################################
+# Change the value of table_lock_wait_timeout to invalid value #
+#########################################################################
+
+SET @@global.table_lock_wait_timeout = -1;
+
+SET @@global.table_lock_wait_timeout= 100000000000;
+
+SET @@global.table_lock_wait_timeout= -1024;
+
+SET @@global.table_lock_wait_timeout= 0;
+--echo 'Bug # 34837: Errors are not coming on assigning invalid values to variable';
+
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@global.table_lock_wait_timeout= 10000.01;
+
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@global.table_lock_wait_timeout= ON;
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@global.table_lock_wait_timeout= 'test';
+
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@global.table_lock_wait_timeout= '';
+
+
+--echo '#-------------------FN_DYNVARS_001_05----------------------------#'
+###########################################################################
+# Test if accessing session table_lock_wait_timeout gives error #
+###########################################################################
+
+--Error ER_GLOBAL_VARIABLE
+SET @@session.table_lock_wait_timeout= 0;
+SELECT @@table_lock_wait_timeout;
+
+
+--echo '#----------------------FN_DYNVARS_001_06------------------------#'
+##############################################################################
+# Check if the value in GLOBAL & SESSION Tables matches values in variable #
+##############################################################################
+
+SELECT @@global.table_lock_wait_timeout= VARIABLE_VALUE
+FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='table_lock_wait_timeout';
+
+
+--echo '#---------------------FN_DYNVARS_001_09----------------------#'
+###################################################################
+# Check if TRUE and FALSE values can be used on variable #
+###################################################################
+
+SET @@global.table_lock_wait_timeout= TRUE;
+SELECT @@global.table_lock_wait_timeout;
+
+SET @@global.table_lock_wait_timeout= FALSE;
+SELECT @@global.table_lock_wait_timeout;
+
+
+--echo '#---------------------FN_DYNVARS_001_10----------------------#'
+###############################################################################
+# Check if accessing variable without SCOPE points to same global variable #
+###############################################################################
+
+SET @@global.table_lock_wait_timeout= 10;
+SELECT @@table_lock_wait_timeout= @@global.table_lock_wait_timeout;
+
+
+--echo '#---------------------FN_DYNVARS_001_11----------------------#'
+###############################################################################
+# Check if table_lock_wait_timeout can be accessed with and without @@ sign #
+###############################################################################
+
+--Error ER_GLOBAL_VARIABLE
+SET table_lock_wait_timeout= 8;
+--Error ER_PARSE_ERROR
+SET global.table_lock_wait_timeout= 10;
+--Error ER_UNKNOWN_TABLE
+SELECT global.table_lock_wait_timeout;
+--Error ER_BAD_FIELD_ERROR
+SELECT table_lock_wait_timeout= @@session.table_lock_wait_timeout;
+
+
+##############################
+# Restore initial value #
+##############################
+
+SET @@global.table_lock_wait_timeout= @start_value;
+SELECT @@global.table_lock_wait_timeout;
+
+
+########################################################################
+# END OF table_lock_wait_timeout TESTS #
+########################################################################
+
+