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_TYPE_FOR_VAR
91
SET @@session.sql_warnings = 0.6;
92
--Error ER_WRONG_VALUE_FOR_VAR
93
SET @@session.sql_warnings = "T";
94
--Error ER_WRONG_VALUE_FOR_VAR
95
SET @@session.sql_warnings = "Y";
96
--Error ER_WRONG_VALUE_FOR_VAR
97
SET @@session.sql_warnings = TR�E;
98
--Error ER_WRONG_VALUE_FOR_VAR
99
SET @@session.sql_warnings = �N;
100
--Error ER_WRONG_VALUE_FOR_VAR
101
SET @@session.sql_warnings = OF;
102
--Error ER_WRONG_VALUE_FOR_VAR
103
SET @@session.sql_warnings = �FF;
104
--Error ER_WRONG_VALUE_FOR_VAR
105
SET @@session.sql_warnings = '�';
106
--Error ER_WRONG_VALUE_FOR_VAR
107
SET @@session.sql_warnings = NO;
110
--echo '#-------------------FN_DYNVARS_166_05----------------------------#'
111
###########################################################################
112
# Test if accessing global sql_warnings gives error #
113
###########################################################################
115
SET @@global.sql_warnings = 1-@@global.sql_warnings;
116
SELECT @@global.sql_warnings;
117
SET @@global.sql_warnings = 1-@@global.sql_warnings;
118
SELECT @@global.sql_warnings;
121
--echo '#----------------------FN_DYNVARS_166_06------------------------#'
122
#########################################################################
123
# Check if the value in GLOBAL Table contains variable value #
124
#########################################################################
126
SELECT count(VARIABLE_VALUE)
127
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
128
WHERE VARIABLE_NAME='sql_warnings';
131
--echo '#----------------------FN_DYNVARS_166_07------------------------#'
132
#########################################################################
133
# Check if the value in GLOBAL Table matches value in variable #
134
#########################################################################
136
SELECT IF(@@session.sql_warnings, "ON", "OFF") = VARIABLE_VALUE
137
FROM INFORMATION_SCHEMA.SESSION_VARIABLES
138
WHERE VARIABLE_NAME='sql_warnings';
139
SELECT @@session.sql_warnings;
140
SELECT VARIABLE_VALUE
141
FROM INFORMATION_SCHEMA.SESSION_VARIABLES
142
WHERE VARIABLE_NAME='sql_warnings';
144
--echo '#---------------------FN_DYNVARS_166_08-------------------------#'
145
###################################################################
146
# Check if ON and OFF values can be used on variable #
147
###################################################################
149
SET @@session.sql_warnings = OFF;
150
SELECT @@session.sql_warnings;
151
SET @@session.sql_warnings = ON;
152
SELECT @@session.sql_warnings;
154
--echo '#---------------------FN_DYNVARS_166_09----------------------#'
155
###################################################################
156
# Check if TRUE and FALSE values can be used on variable #
157
###################################################################
159
SET @@session.sql_warnings = TRUE;
160
SELECT @@session.sql_warnings;
161
SET @@session.sql_warnings = FALSE;
162
SELECT @@session.sql_warnings;
164
##############################
165
# Restore initial value #
166
##############################
168
SET @@session.sql_warnings = @session_start_value;
169
SELECT @@session.sql_warnings;
172
###############################################################
173
# END OF sql_warnings TESTS #
174
###############################################################