1
################## mysql-test\t\timed_mutexes_basic.test ######################
3
# Variable Name: timed_mutexes #
5
# Access Type: Dynamic #
8
# Valid Values: ON, OFF #
11
# Creation Date: 2008-02-07 #
14
# Description: Test Cases of Dynamic System Variable timed_mutexes #
15
# that checks the behavior of this variable in the following ways#
17
# * Valid & Invalid values #
18
# * Scope & Access method #
21
# Reference: http://dev.mysql.com/doc/refman/5.1/en/ #
22
# server-system-variables.html #
24
###############################################################################
26
--source include/load_sysvars.inc
27
########################################################################
28
# START OF timed_mutexes TESTS #
29
########################################################################
32
##############################################################################
33
# Saving initial value of timed_mutexes in a temporary variable #
34
##############################################################################
36
SET @global_start_value = @@global.timed_mutexes;
37
SELECT @global_start_value;
39
--echo '#--------------------FN_DYNVARS_177_01------------------------#'
40
########################################################################
41
# Display the DEFAULT value of timed_mutexes #
42
########################################################################
44
SET @@global.timed_mutexes = 1;
45
SET @@global.timed_mutexes = DEFAULT;
46
SELECT @@global.timed_mutexes;
48
--echo '#---------------------FN_DYNVARS_177_02-------------------------#'
49
#############################################################################
50
# Check if timed_mutexes can be accessed with and without @@ sign #
51
#############################################################################
53
--Error ER_GLOBAL_VARIABLE
54
SET timed_mutexes = 1;
55
SELECT @@timed_mutexes;
56
--Error ER_UNKNOWN_TABLE
57
SELECT global.timed_mutexes;
59
SET global timed_mutexes = 1;
60
SELECT @@global.timed_mutexes;
63
--echo '#--------------------FN_DYNVARS_177_03------------------------#'
64
########################################################################
65
# Change the value of timed_mutexes to a valid value #
66
########################################################################
68
SET @@global.timed_mutexes = 0;
69
SELECT @@global.timed_mutexes;
70
SET @@global.timed_mutexes = 1;
71
SELECT @@global.timed_mutexes;
74
--echo '#--------------------FN_DYNVARS_177_04-------------------------#'
75
###########################################################################
76
# Change the value of timed_mutexes to invalid value #
77
###########################################################################
79
--Error ER_WRONG_VALUE_FOR_VAR
80
SET @@global.timed_mutexes = -1;
81
--Error ER_WRONG_VALUE_FOR_VAR
82
SET @@global.timed_mutexes = 2;
83
--Error ER_WRONG_VALUE_FOR_VAR
84
SET @@global.timed_mutexes = "T";
85
--Error ER_WRONG_VALUE_FOR_VAR
86
SET @@global.timed_mutexes = "Y";
87
--Error ER_WRONG_VALUE_FOR_VAR
88
SET @@global.timed_mutexes = _true;
89
--Error ER_WRONG_VALUE_FOR_VAR
90
SET @@global.timed_mutexes = 0N;
91
--Error ER_WRONG_VALUE_FOR_VAR
92
SET @@global.timed_mutexes = 1+1;
93
--Error ER_WRONG_VALUE_FOR_VAR
94
SET @@global.timed_mutexes = 0FF;
95
--Error ER_WRONG_VALUE_FOR_VAR
96
SET @@global.timed_mutexes = '0';
97
--Error ER_WRONG_VALUE_FOR_VAR
98
SET @@global.timed_mutexes = N;
101
--echo '#-------------------FN_DYNVARS_177_05----------------------------#'
102
###########################################################################
103
# Test if accessing session timed_mutexes gives error #
104
###########################################################################
106
--Error ER_GLOBAL_VARIABLE
107
SET @@session.timed_mutexes = 0;
108
--Error ER_GLOBAL_VARIABLE
109
SET @@timed_mutexes = 0;
110
--Error ER_GLOBAL_VARIABLE
111
SET @@local.timed_mutexes = 0;
112
--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
113
SELECT @@session.timed_mutexes;
114
--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
115
SELECT @@local.timed_mutexes;
117
--echo '#----------------------FN_DYNVARS_177_06------------------------#'
118
#########################################################################
119
# Check if the value in SESSION Table contains variable value #
120
#########################################################################
122
SELECT count(VARIABLE_VALUE) FROM INFORMATION_SCHEMA.SESSION_VARIABLES
123
WHERE VARIABLE_NAME='timed_mutexes';
126
--echo '#----------------------FN_DYNVARS_177_07------------------------#'
127
#########################################################################
128
# Check if the value in GLOBAL Table matches value in variable #
129
#########################################################################
131
SELECT IF(@@global.timed_mutexes, "ON", "OFF") = VARIABLE_VALUE
132
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
133
WHERE VARIABLE_NAME='timed_mutexes';
134
SELECT @@global.timed_mutexes;
136
SELECT VARIABLE_VALUE
137
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
138
WHERE VARIABLE_NAME='timed_mutexes';
140
--echo '#---------------------FN_DYNVARS_177_08-------------------------#'
141
###################################################################
142
# Check if ON and OFF values can be used on variable #
143
###################################################################
145
SET @@global.timed_mutexes = OFF;
146
SELECT @@global.timed_mutexes;
147
SET @@global.timed_mutexes = ON;
148
SELECT @@global.timed_mutexes;
150
--echo '#---------------------FN_DYNVARS_177_09----------------------#'
151
###################################################################
152
# Check if TRUE and FALSE values can be used on variable #
153
###################################################################
155
SET @@global.timed_mutexes = TRUE;
156
SELECT @@global.timed_mutexes;
157
SET @@global.timed_mutexes = FALSE;
158
SELECT @@global.timed_mutexes;
160
##############################
161
# Restore initial value #
162
##############################
164
SET @@global.timed_mutexes = @global_start_value;
165
SELECT @@global.timed_mutexes;
167
###############################################################
168
# END OF timed_mutexes TESTS #
169
###############################################################