1################# mysql-test\t\sql_warnings_basic.test ######################## 2# # 3# Variable Name: sql_warnings # 4# Scope: SESSION # 5# Access Type: Dynamic # 6# Data Type: boolean # 7# Default Value: # 8# Valid Values:0,1 # 9# # 10# # 11# Creation Date: 2008-02-07 # 12# Author: Rizwan # 13# # 14# Description: Test Cases of Dynamic System Variable sql_warnings # 15# that checks the behavior of this variable in the following ways# 16# * Default Value # 17# * Valid & Invalid values # 18# * Scope & Access method # 19# * Data Integrity # 20# # 21# Reference: http://dev.mysql.com/doc/refman/5.1/en/ # 22# server-system-variables.html # 23# # 24############################################################################### 25 26--source include/load_sysvars.inc 27 28 29######################################################################## 30# START OF sql_warnings TESTS # 31######################################################################## 32 33 34############################################################################## 35# Saving initial value of sql_warnings in a temporary variable # 36############################################################################## 37 38SET @session_start_value = @@session.sql_warnings; 39SELECT @session_start_value; 40 41 42--echo '#--------------------FN_DYNVARS_166_01------------------------#' 43######################################################################## 44# Display the DEFAULT value of sql_warnings # 45######################################################################## 46 47SET @@session.sql_warnings = 0; 48SET @@session.sql_warnings = DEFAULT; 49SELECT @@session.sql_warnings; 50 51SET @@session.sql_warnings = 1; 52SET @@session.sql_warnings = DEFAULT; 53SELECT @@session.sql_warnings; 54 55 56--echo '#---------------------FN_DYNVARS_166_02-------------------------#' 57############################################################################# 58# Check if sql_warnings can be accessed with and without @@ sign # 59############################################################################# 60 61SET sql_warnings = 1; 62SELECT @@sql_warnings; 63 64--Error ER_UNKNOWN_TABLE 65SELECT session.sql_warnings; 66 67--Error ER_UNKNOWN_TABLE 68SELECT local.sql_warnings; 69 70SET session sql_warnings = 0; 71SELECT @@session.sql_warnings; 72 73 74--echo '#--------------------FN_DYNVARS_166_03------------------------#' 75######################################################################## 76# change the value of sql_warnings to a valid value # 77######################################################################## 78 79SET @@session.sql_warnings = 0; 80SELECT @@session.sql_warnings; 81SET @@session.sql_warnings = 1; 82SELECT @@session.sql_warnings; 83 84 85--echo '#--------------------FN_DYNVARS_166_04-------------------------#' 86########################################################################### 87# Change the value of sql_warnings to invalid value # 88########################################################################### 89 90--Error ER_WRONG_TYPE_FOR_VAR 91SET @@session.sql_warnings = 0.6; 92--Error ER_WRONG_VALUE_FOR_VAR 93SET @@session.sql_warnings = "T"; 94--Error ER_WRONG_VALUE_FOR_VAR 95SET @@session.sql_warnings = "Y"; 96--Error ER_WRONG_VALUE_FOR_VAR 97SET @@session.sql_warnings = TR�E; 98--Error ER_WRONG_VALUE_FOR_VAR 99SET @@session.sql_warnings = �N; 100--Error ER_WRONG_VALUE_FOR_VAR 101SET @@session.sql_warnings = OF; 102--Error ER_WRONG_VALUE_FOR_VAR 103SET @@session.sql_warnings = �FF; 104--Error ER_WRONG_VALUE_FOR_VAR 105SET @@session.sql_warnings = '�'; 106--Error ER_WRONG_VALUE_FOR_VAR 107SET @@session.sql_warnings = NO; 108 109 110--echo '#-------------------FN_DYNVARS_166_05----------------------------#' 111########################################################################### 112# Test if accessing global sql_warnings gives error # 113########################################################################### 114 115SET @@global.sql_warnings = 1-@@global.sql_warnings; 116SELECT @@global.sql_warnings; 117SET @@global.sql_warnings = 1-@@global.sql_warnings; 118SELECT @@global.sql_warnings; 119 120 121--echo '#----------------------FN_DYNVARS_166_06------------------------#' 122######################################################################### 123# Check if the value in GLOBAL Table contains variable value # 124######################################################################### 125 126SELECT count(VARIABLE_VALUE) 127FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES 128WHERE VARIABLE_NAME='sql_warnings'; 129 130 131--echo '#----------------------FN_DYNVARS_166_07------------------------#' 132######################################################################### 133# Check if the value in GLOBAL Table matches value in variable # 134######################################################################### 135 136SELECT IF(@@session.sql_warnings, "ON", "OFF") = VARIABLE_VALUE 137FROM INFORMATION_SCHEMA.SESSION_VARIABLES 138WHERE VARIABLE_NAME='sql_warnings'; 139SELECT @@session.sql_warnings; 140SELECT VARIABLE_VALUE 141FROM INFORMATION_SCHEMA.SESSION_VARIABLES 142WHERE VARIABLE_NAME='sql_warnings'; 143 144--echo '#---------------------FN_DYNVARS_166_08-------------------------#' 145################################################################### 146# Check if ON and OFF values can be used on variable # 147################################################################### 148 149SET @@session.sql_warnings = OFF; 150SELECT @@session.sql_warnings; 151SET @@session.sql_warnings = ON; 152SELECT @@session.sql_warnings; 153 154--echo '#---------------------FN_DYNVARS_166_09----------------------#' 155################################################################### 156# Check if TRUE and FALSE values can be used on variable # 157################################################################### 158 159SET @@session.sql_warnings = TRUE; 160SELECT @@session.sql_warnings; 161SET @@session.sql_warnings = FALSE; 162SELECT @@session.sql_warnings; 163 164############################## 165# Restore initial value # 166############################## 167 168SET @@session.sql_warnings = @session_start_value; 169SELECT @@session.sql_warnings; 170 171 172############################################################### 173# END OF sql_warnings TESTS # 174############################################################### 175