1############## mysql-test\t\div_precision_increment_basic.test ################# 2# # 3# Variable Name: div_precision_increment # 4# Scope: GLOBAL & SESSION # 5# Access Type: Dynamic # 6# Data Type: Numeric # 7# Default Value: 4 # 8# Range: 0 - 30 # 9# # 10# # 11# Creation Date: 2008-02-07 # 12# Author: Salman Rawala # 13# # 14# Description: Test Cases of Dynamic System Variable "div_precision_increment" # 15# that checks 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#option_mysqld_div_precision_increment # 23# # 24################################################################################ 25 26--source include/load_sysvars.inc 27 28####################################################################### 29# START OF div_precision_increment TESTS # 30####################################################################### 31 32 33############################################################# 34# Save initial value # 35############################################################# 36 37SET @start_global_value = @@global.div_precision_increment; 38SELECT @start_global_value; 39SET @start_session_value = @@session.div_precision_increment; 40SELECT @start_session_value; 41 42--echo '#--------------------FN_DYNVARS_027_01-------------------------#' 43####################################################################### 44# Display the DEFAULT value of div_precision_increment # 45####################################################################### 46 47SET @@global.div_precision_increment = 100; 48SET @@global.div_precision_increment = DEFAULT; 49SELECT @@global.div_precision_increment; 50 51SET @@session.div_precision_increment = 200; 52SET @@session.div_precision_increment = DEFAULT; 53SELECT @@session.div_precision_increment; 54 55--echo '#--------------------FN_DYNVARS_027_02-------------------------#' 56####################################################################### 57# Check the DEFAULT value of div_precision_increment # 58####################################################################### 59 60SET @@global.div_precision_increment = @start_global_value; 61SELECT @@global.div_precision_increment = 4; 62 63SET @@session.div_precision_increment = @start_session_value; 64SELECT @@session.div_precision_increment = 4; 65 66--echo '#--------------------FN_DYNVARS_027_03-------------------------#' 67################################################################################# 68# Change the value of div_precision_increment to a valid value for GLOBAL Scope # 69################################################################################# 70 71SET @@global.div_precision_increment = 1; 72SELECT @@global.div_precision_increment; 73SET @@global.div_precision_increment = 0; 74SELECT @@global.div_precision_increment; 75SET @@global.div_precision_increment = 10; 76SELECT @@global.div_precision_increment; 77SET @@global.div_precision_increment = 30; 78SELECT @@global.div_precision_increment; 79 80 81--echo '#--------------------FN_DYNVARS_027_04-------------------------#' 82################################################################################## 83# Change the value of div_precision_increment to a valid value for SESSION Scope # 84################################################################################## 85 86SET @@session.div_precision_increment = 1; 87SELECT @@session.div_precision_increment; 88SET @@session.div_precision_increment = 0; 89SELECT @@session.div_precision_increment; 90SET @@session.div_precision_increment = 7; 91SELECT @@session.div_precision_increment; 92SET @@session.div_precision_increment = 30; 93SELECT @@session.div_precision_increment; 94 95 96--echo '#------------------FN_DYNVARS_027_05-----------------------#' 97################################################################### 98# Change the value of div_precision_increment to an invalid value # 99################################################################### 100 101SET @@global.div_precision_increment = 31; 102SELECT @@global.div_precision_increment; 103SET @@global.div_precision_increment = 40; 104SELECT @@global.div_precision_increment; 105SET @@global.div_precision_increment = -1024; 106SELECT @@global.div_precision_increment; 107SET @@global.div_precision_increment = 65536; 108SELECT @@global.div_precision_increment; 109SET @@session.div_precision_increment = 40; 110SELECT @@session.div_precision_increment; 111SET @@session.div_precision_increment = 31; 112SELECT @@session.div_precision_increment; 113SET @@session.div_precision_increment = -2; 114SELECT @@session.div_precision_increment; 115SET @@session.div_precision_increment = 65550; 116SELECT @@session.div_precision_increment; 117 118--Error ER_WRONG_TYPE_FOR_VAR 119SET @@global.div_precision_increment = 65530.30; 120SELECT @@global.div_precision_increment; 121--Error ER_WRONG_TYPE_FOR_VAR 122SET @@global.div_precision_increment = OFF; 123SELECT @@global.div_precision_increment; 124--Error ER_WRONG_TYPE_FOR_VAR 125SET @@session.div_precision_increment = ON; 126SELECT @@session.div_precision_increment; 127--Error ER_WRONG_TYPE_FOR_VAR 128SET @@session.div_precision_increment = 65530.30; 129SELECT @@session.div_precision_increment; 130 131 132--echo '#------------------FN_DYNVARS_027_06-----------------------#' 133#################################################################### 134# Check if the value in GLOBAL Table matches value in variable # 135#################################################################### 136 137SELECT @@global.div_precision_increment = VARIABLE_VALUE 138FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES 139WHERE VARIABLE_NAME='div_precision_increment'; 140 141--echo '#------------------FN_DYNVARS_027_07-----------------------#' 142#################################################################### 143# Check if the value in SESSION Table matches value in variable # 144#################################################################### 145 146SELECT @@session.div_precision_increment = VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_VARIABLES WHERE VARIABLE_NAME='div_precision_increment'; 147 148 149# FN_DYNVARS_027_07 - Check if TRUE and FALSE values can be used on variable 150SET @@global.div_precision_increment = TRUE; 151SELECT @@global.div_precision_increment; 152SET @@global.div_precision_increment = FALSE; 153SELECT @@global.div_precision_increment; 154 155 156--echo '#---------------------FN_DYNVARS_027_08----------------------#' 157#################################################################################### 158# Check if accessing variable with and without GLOBAL point to same variable # 159#################################################################################### 160 161SET @@global.div_precision_increment = 0; 162SELECT @@div_precision_increment = @@global.div_precision_increment; 163 164 165--echo '#---------------------FN_DYNVARS_027_09----------------------#' 166######################################################################################################## 167# Check if accessing variable with SESSION,LOCAL and without SCOPE points to same session variable # 168######################################################################################################## 169 170SET @@div_precision_increment = 1; 171SELECT @@div_precision_increment = @@local.div_precision_increment; 172SELECT @@local.div_precision_increment = @@session.div_precision_increment; 173 174 175--echo '#---------------------FN_DYNVARS_027_10----------------------#' 176################################################################################## 177# Check if div_precision_increment can be accessed with and without @@ sign # 178################################################################################## 179 180SET div_precision_increment = 1; 181SELECT @@div_precision_increment; 182--Error ER_PARSE_ERROR 183SET local.div_precision_increment = 1; 184--Error ER_UNKNOWN_TABLE 185SELECT local.div_precision_increment; 186--Error ER_PARSE_ERROR 187SET session.div_precision_increment = 1; 188--Error ER_UNKNOWN_TABLE 189SELECT session.div_precision_increment; 190--Error ER_BAD_FIELD_ERROR 191SELECT div_precision_increment = @@session.div_precision_increment; 192 193 194 195#################################### 196# Restore initial value # 197#################################### 198 199SET @@global.div_precision_increment = @start_global_value; 200SELECT @@global.div_precision_increment; 201SET @@session.div_precision_increment = @start_session_value; 202SELECT @@session.div_precision_increment; 203 204 205####################################################### 206# END OF div_precision_increment TESTS # 207####################################################### 208 209