1
################# mysql-test\t\sql_warnings_basic.test ########################
3
# Variable Name: sql_warnings #
5
# Access Type: Dynamic #
11
# Creation Date: 2008-02-07 #
14
# Description: Test Cases of Dynamic System Variable sql_warnings #
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
29
########################################################################
30
# START OF sql_warnings TESTS #
31
########################################################################
34
##############################################################################
35
# Saving initial value of sql_warnings in a temporary variable #
36
##############################################################################
38
SET @session_start_value = @@session.sql_warnings;
39
SELECT @session_start_value;
42
--echo '#--------------------FN_DYNVARS_166_01------------------------#'
43
########################################################################
44
# Display the DEFAULT value of sql_warnings #
45
########################################################################
47
SET @@session.sql_warnings = 0;
48
SET @@session.sql_warnings = DEFAULT;
49
SELECT @@session.sql_warnings;
51
SET @@session.sql_warnings = 1;
52
SET @@session.sql_warnings = DEFAULT;
53
SELECT @@session.sql_warnings;
56
--echo '#---------------------FN_DYNVARS_166_02-------------------------#'
57
#############################################################################
58
# Check if sql_warnings can be accessed with and without @@ sign #
59
#############################################################################
62
SELECT @@sql_warnings;
64
--Error ER_UNKNOWN_TABLE
65
SELECT session.sql_warnings;
67
--Error ER_UNKNOWN_TABLE
68
SELECT local.sql_warnings;
70
SET session sql_warnings = 0;
71
SELECT @@session.sql_warnings;
74
--echo '#--------------------FN_DYNVARS_166_03------------------------#'
75
########################################################################
76
# change the value of sql_warnings to a valid value #
77
########################################################################
79
SET @@session.sql_warnings = 0;
80
SELECT @@session.sql_warnings;
81
SET @@session.sql_warnings = 1;
82
SELECT @@session.sql_warnings;
85
--echo '#--------------------FN_DYNVARS_166_04-------------------------#'
86
###########################################################################
87
# Change the value of sql_warnings to invalid value #
88
###########################################################################
90
--Error ER_WRONG_VALUE_FOR_VAR
91
SET @@session.sql_warnings = -0.6;
92
--Error ER_WRONG_VALUE_FOR_VAR
93
SET @@session.sql_warnings = 1.9;
94
--Error ER_WRONG_VALUE_FOR_VAR
95
SET @@session.sql_warnings = "T";
96
--Error ER_WRONG_VALUE_FOR_VAR
97
SET @@session.sql_warnings = "Y";
98
--Error ER_WRONG_VALUE_FOR_VAR
99
SET @@session.sql_warnings = TR�E;
100
--Error ER_WRONG_VALUE_FOR_VAR
101
SET @@session.sql_warnings = �N;
103
SET @@session.sql_warnings = OF;
104
SELECT @@session.sql_warnings;
106
--echo 'Bug# 34828: OF is taken as OFF and a value of 0 is set.'
108
--Error ER_WRONG_VALUE_FOR_VAR
109
SET @@session.sql_warnings = �FF;
110
--Error ER_WRONG_VALUE_FOR_VAR
111
SET @@session.sql_warnings = '�';
112
--Error ER_WRONG_VALUE_FOR_VAR
113
SET @@session.sql_warnings = NO;
116
--echo '#-------------------FN_DYNVARS_166_05----------------------------#'
117
###########################################################################
118
# Test if accessing global sql_warnings gives error #
119
###########################################################################
121
--Error ER_LOCAL_VARIABLE
122
SET @@global.sql_warnings = 0;
124
--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
125
SELECT @@global.sql_warnings;
128
--echo '#----------------------FN_DYNVARS_166_06------------------------#'
129
#########################################################################
130
# Check if the value in GLOBAL Table contains variable value #
131
#########################################################################
133
SELECT count(VARIABLE_VALUE)
134
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
135
WHERE VARIABLE_NAME='sql_warnings';
138
--echo '#----------------------FN_DYNVARS_166_07------------------------#'
139
#########################################################################
140
# Check if the value in GLOBAL Table matches value in variable #
141
#########################################################################
143
SELECT @@session.sql_warnings = VARIABLE_VALUE
144
FROM INFORMATION_SCHEMA.SESSION_VARIABLES
145
WHERE VARIABLE_NAME='sql_warnings';
146
SELECT @@session.sql_warnings;
147
SELECT VARIABLE_VALUE
148
FROM INFORMATION_SCHEMA.SESSION_VARIABLES
149
WHERE VARIABLE_NAME='sql_warnings';
150
--echo 'Bug: value in information schema does not match'
152
--echo '#---------------------FN_DYNVARS_166_08-------------------------#'
153
###################################################################
154
# Check if ON and OFF values can be used on variable #
155
###################################################################
157
SET @@session.sql_warnings = OFF;
158
SELECT @@session.sql_warnings;
159
SET @@session.sql_warnings = ON;
160
SELECT @@session.sql_warnings;
162
--echo '#---------------------FN_DYNVARS_166_09----------------------#'
163
###################################################################
164
# Check if TRUE and FALSE values can be used on variable #
165
###################################################################
167
SET @@session.sql_warnings = TRUE;
168
SELECT @@session.sql_warnings;
169
SET @@session.sql_warnings = FALSE;
170
SELECT @@session.sql_warnings;
172
##############################
173
# Restore initial value #
174
##############################
176
SET @@session.sql_warnings = @session_start_value;
177
SELECT @@session.sql_warnings;
180
###############################################################
181
# END OF sql_warnings TESTS #
182
###############################################################