diff options
Diffstat (limited to 'mysql-test/t/new_basic.test')
-rw-r--r-- | mysql-test/t/new_basic.test | 220 |
1 files changed, 220 insertions, 0 deletions
diff --git a/mysql-test/t/new_basic.test b/mysql-test/t/new_basic.test new file mode 100644 index 00000000000..b1d12c9a4de --- /dev/null +++ b/mysql-test/t/new_basic.test @@ -0,0 +1,220 @@ +############## mysql-test\t\new_basic.test #################################### +# # +# Variable Name: new # +# Scope: GLOBAL | SESSION # +# Access Type: Dynamic # +# Data Type: boolean # +# Default Value: FALSE # +# Range: # +# # +# # +# Creation Date: 2008-02-14 # +# Author: Salman # +# # +# Description: Test Cases of Dynamic System Variable "new" # +# that checks the behavior of this variable in the following ways# +# * Default Value # +# * Valid & Invalid values # +# * Scope & Access method # +# * Data Integrity # +# # +# Reference: http://dev.mysql.com/doc/refman/5.1/en/ # +# server-system-variables.html#option_mysqld_new # +# # +############################################################################### + +--source include/load_sysvars.inc +################################################### +# START OF new TESTS # +################################################### + + +############################################################# +# Save initial value # +############################################################# + +SET @start_global_value = @@global.new; +SELECT @start_global_value; +SET @start_session_value = @@session.new; +SELECT @start_session_value; + + +--echo '#--------------------FN_DYNVARS_113_01-------------------------#' +################################################### +# Display the DEFAULT value of new # +################################################### + +SET @@global.new = ON; +SET @@global.new = DEFAULT; +SELECT @@global.new; + +SET @@session.new = ON; +SET @@session.new = DEFAULT; +SELECT @@session.new; + + +--echo '#--------------------FN_DYNVARS_113_02-------------------------#' +################################################### +# Check the DEFAULT value of new # +################################################### + +SET @@global.new = DEFAULT; +SELECT @@global.new = 'OFF'; + +SET @@session.new = DEFAULT; +SELECT @@session.new = 'OFF'; + + +--echo '#--------------------FN_DYNVARS_113_03-------------------------#' +############################################################# +# Change the value of new to a valid value for GLOBAL Scope # +############################################################# + +SET @@global.new = ON; +SELECT @@global.new; +SET @@global.new = OFF; +SELECT @@global.new; +SET @@global.new = 0; +SELECT @@global.new; +SET @@global.new = 1; +SELECT @@global.new; +SET @@global.new = TRUE; +SELECT @@global.new; +SET @@global.new = FALSE; +SELECT @@global.new; + + + +--echo '#--------------------FN_DYNVARS_113_04-------------------------#' +############################################################## +# Change the value of new to a valid value for SESSION Scope # +############################################################## + +SET @@session.new = ON; +SELECT @@session.new; +SET @@session.new = OFF; +SELECT @@session.new; +SET @@session.new = 0; +SELECT @@session.new; +SET @@session.new = 1; +SELECT @@session.new; +SET @@session.new = TRUE; +SELECT @@session.new; +SET @@session.new = FALSE; +SELECT @@session.new; + + +--echo '#------------------FN_DYNVARS_113_05-----------------------#' +############################################### +# Change the value of new to an invalid value # +############################################### + +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.new = 'ONN'; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.new = "OFFF"; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.new = TTRUE; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.new = FELSE; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.new = -1024; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.new = 65536; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.new = 65530.34; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.new = test; + +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.new = ONN; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.new = ONF; + +SET @@session.new = OF; +SELECT @@session.new; +--echo 'Bug# 34828: FN_DYNVARS_113_05 - OF is also working as OFF and no error is coming'; + +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.new = 'OFN'; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.new = -2; +--Error ER_PARSE_ERROR +SET @@session.new = 65530.34.; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.new = 65550; + +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.new = test; + + +--echo '#------------------FN_DYNVARS_113_06-----------------------#' +#################################################################### +# Check if the value in GLOBAL Table matches value in variable # +#################################################################### + + +SELECT @@global.new = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='new'; + +--echo '#------------------FN_DYNVARS_113_07-----------------------#' +#################################################################### +# Check if the value in SESSION Table matches value in variable # +#################################################################### + +SELECT @@session.new = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='new'; + + + +--echo '#---------------------FN_DYNVARS_113_08----------------------#' +############################################################################### +# Check if global and session variable are independent of each other # +############################################################################### + +SET @@new = OFF; +SET @@global.new = ON; +SELECT @@new = @@global.new; + +--echo '#---------------------FN_DYNVARS_113_09----------------------#' +############################################################################### +# Check if accessing variable with SESSION,LOCAL and without SCOPE points # +# to same session variable # +############################################################################### + +SET @@new = ON; +SELECT @@new = @@local.new; +SELECT @@local.new = @@session.new; + + +--echo '#---------------------FN_DYNVARS_113_10----------------------#' +############################################################## +# Check if new can be accessed with and without @@ sign # +############################################################## + +SET new = 1; +SELECT @@new; +--Error ER_UNKNOWN_TABLE +SELECT local.new; +--Error ER_UNKNOWN_TABLE +SELECT session.new; +--Error ER_BAD_FIELD_ERROR +SELECT new = @@session.new; + + +#################################### +# Restore initial value # +#################################### + +SET @@global.new = @start_global_value; +SELECT @@global.new; +SET @@session.new = @start_session_value; +SELECT @@session.new; + + +######################################## +# END OF new TESTS # +######################################## + |