1
##################### mysql-test\t\delay_key_write_basic.test #################
3
# Variable Name: delay_key_write #
5
# Access Type: Dynamic #
6
# Data Type: enumeration #
8
# Valid Values: ON, OFF & ALL #
11
# Creation Date: 2008-02-07 #
14
# Description: Test Cases of Dynamic System Variable delay_key_write #
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
28
########################################################################
29
# START OF delay_key_write TESTS #
30
########################################################################
33
########################################################################
34
# Saving initial value of delay_key_write in a temporary variable #
35
########################################################################
37
SET @start_value = @@global.delay_key_write;
41
--echo '#--------------------FN_DYNVARS_023_01------------------------#'
42
########################################################################
43
# Display the DEFAULT value of delay_key_write #
44
########################################################################
46
SET @@global.delay_key_write = OFF;
48
SET @@global.delay_key_write = DEFAULT;
49
--echo 'Bug # 34878: Documentation specifies a DEFAULT value of ON for variable but';
50
--echo 'its not supported';
51
SELECT @@global.delay_key_write;
54
--echo '#---------------------FN_DYNVARS_023_02-------------------------#'
55
###############################################
56
# Check if NULL is accepeted #
57
###############################################
59
--Error ER_WRONG_VALUE_FOR_VAR
60
SET @@global.delay_key_write = NULL;
63
--echo '#--------------------FN_DYNVARS_023_03------------------------#'
64
########################################################################
65
# Change the value of delay_key_write to a valid value #
66
########################################################################
68
SET @@global.delay_key_write = ON;
69
SELECT @@global.delay_key_write;
71
SET @@global.delay_key_write = OFF;
72
SELECT @@global.delay_key_write;
74
SET @@global.delay_key_write = ALL;
75
SELECT @@global.delay_key_write;
78
--echo '#--------------------FN_DYNVARS_023_04-------------------------#'
79
###########################################################################
80
# Change the value of delay_key_write to invalid value #
81
###########################################################################
83
--Error ER_WRONG_VALUE_FOR_VAR
84
SET @@global.delay_key_write = 3;
85
--Error ER_WRONG_VALUE_FOR_VAR
86
SET @@global.delay_key_write = -1;
87
--Error ER_WRONG_VALUE_FOR_VAR
88
SET @@global.delay_key_write = TRU;
89
--Error ER_WRONG_VALUE_FOR_VAR
90
SET @@global.delay_key_write = ERROR;
91
--Error ER_WRONG_VALUE_FOR_VAR
92
SET @@global.delay_key_write = FALSE0;
93
--Error ER_WRONG_VALUE_FOR_VAR
94
SET @@global.delay_key_write = ONN;
96
SET @@global.delay_key_write = OF;
97
SELECT @@global.delay_key_write;
98
--echo 'Bug# 34828: Variable is incorrectly accepting OF as a value'
100
--Error ER_WRONG_VALUE_FOR_VAR
101
SET @@global.delay_key_write = ' ';
102
--Error ER_WRONG_VALUE_FOR_VAR
103
SET @@global.delay_key_write = "";
106
--echo '#-------------------FN_DYNVARS_023_05----------------------------#'
107
###########################################################################
108
# Test if accessing session delay_key_write gives error #
109
###########################################################################
111
--Error ER_GLOBAL_VARIABLE
112
SET @@delay_key_write = 0;
113
--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
114
SELECT @@session.delay_key_write;
117
--echo '#----------------------FN_DYNVARS_023_06------------------------#'
118
########################################################################
119
# Check if the value in GLOBAL Table matches value in variable #
120
########################################################################
122
SELECT @@delay_key_write = VARIABLE_VALUE
123
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
124
WHERE VARIABLE_NAME='delay_key_write';
127
--echo '#---------------------FN_DYNVARS_023_07-------------------------#'
128
###################################################################
129
# Check if numbers can be used on variable #
130
###################################################################
132
SET @@global.delay_key_write = 0;
133
SELECT @@global.delay_key_write;
135
SET @@global.delay_key_write = 1;
136
SELECT @@global.delay_key_write;
138
SET @@global.delay_key_write = 2;
139
SELECT @@global.delay_key_write;
143
--echo '#---------------------FN_DYNVARS_023_08----------------------#'
144
###################################################################
145
# Check if TRUE and FALSE values can be used on variable #
146
###################################################################
148
SET @@global.delay_key_write = TRUE;
149
SELECT @@global.delay_key_write;
150
SET @@global.delay_key_write = FALSE;
151
SELECT @@global.delay_key_write;
153
--echo '#---------------------FN_DYNVARS_023_09----------------------#'
154
#####################################################################
155
# Check if delay_key_write can be accessed with and without @@ sign #
156
#####################################################################
157
--Error ER_GLOBAL_VARIABLE
158
SET delay_key_write = ON;
159
SELECT @@delay_key_write;
161
SET GLOBAL delay_key_write = OFF;
162
SELECT @@global.delay_key_write;
164
##############################
165
# Restore initial value #
166
##############################
168
SET @@global.delay_key_write = @start_value;
169
SELECT @@global.delay_key_write;
171
########################################################################
172
# END OF delay_key_write TESTS #
173
########################################################################