############## mysql-test\t\local_infile_basic.test ############################ # # # Variable Name: local_infile # # Scope: GLOBAL # # Access Type: Dynamic # # Data Type: Boolean # # Default Value: 1 # # Valid Values: # # # # # # Creation Date: 2008-02-19 # # Author: Rizwan Maredia # # # # Description: Test Cases of Dynamic System Variable "local_infile" # # that checks 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_local_infile # # # ################################################################################ --source include/load_sysvars.inc ############################################################ # START OF local_infile TESTS # ############################################################ #################################################################### # Saving initial value of local_infile in a temporary variable # #################################################################### SET @start_value = @@global.local_infile; SELECT @start_value; --echo '#--------------------FN_DYNVARS_018_01------------------------#' #################################################################### # Display the DEFAULT value of local_infile # #################################################################### SET @@global.local_infile = 0; SET @@global.local_infile = DEFAULT; SELECT @@global.local_infile; --echo '#---------------------FN_DYNVARS_018_02-------------------------#' ############################################### # Verify default value of variable # ############################################### SET @@global.local_infile = DEFAULT; SELECT @@global.local_infile = 1; --echo '#--------------------FN_DYNVARS_018_03------------------------#' #################################################################### # Change the value of local_infile to a valid value # #################################################################### SET @@global.local_infile = 0; SELECT @@global.local_infile; SET @@global.local_infile = 1; SELECT @@global.local_infile; --echo '#--------------------FN_DYNVARS_018_04-------------------------#' ###################################################################### # Change the value of local_infile to invalid value # ###################################################################### --Error ER_WRONG_VALUE_FOR_VAR SET @@global.local_infile = -1; --Error ER_WRONG_VALUE_FOR_VAR SET @@global.local_infile = 2; --Error ER_WRONG_VALUE_FOR_VAR SET @@global.local_infile = 100; --Error ER_WRONG_VALUE_FOR_VAR SET @@global.local_infile = TRUEF; --Error ER_WRONG_VALUE_FOR_VAR SET @@global.local_infile = TRUE_F; --Error ER_WRONG_VALUE_FOR_VAR SET @@global.local_infile = FALSE0; --Error ER_WRONG_VALUE_FOR_VAR SET @@global.local_infile = OON; --Error ER_WRONG_VALUE_FOR_VAR SET @@global.local_infile = ONN; --Error ER_WRONG_VALUE_FOR_VAR SET @@global.local_infile = OOFF; --Error ER_WRONG_VALUE_FOR_VAR SET @@global.local_infile = 0FF; --Error ER_WRONG_VALUE_FOR_VAR SET @@global.local_infile = ' '; --Error ER_WRONG_VALUE_FOR_VAR SET @@global.local_infile = " "; --echo '#-------------------FN_DYNVARS_018_05----------------------------#' ################################################################ # Test if accessing session local_infile gives error # ################################################################ --Error ER_GLOBAL_VARIABLE SET @@session.local_infile = 1; --Error ER_INCORRECT_GLOBAL_LOCAL_VAR SELECT @@session.local_infile = 1; --echo '#----------------------FN_DYNVARS_018_06------------------------#' #################################################################### # Check if the value in GLOBAL Tables matches values in variable # #################################################################### SELECT IF(@@global.local_infile, "ON", "OFF") = VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='local_infile'; --echo '#---------------------FN_DYNVARS_018_07----------------------#' ################################################################### # Check if ON and OFF values can be used on variable # ################################################################### SET @@global.local_infile = OFF; SELECT @@global.local_infile; SET @@global.local_infile = ON; SELECT @@global.local_infile; --echo '#---------------------FN_DYNVARS_018_08----------------------#' ################################################################### # Check if TRUE and FALSE values can be used on variable # ################################################################### SET @@global.local_infile = TRUE; SELECT @@global.local_infile; SET @@global.local_infile = FALSE; SELECT @@global.local_infile; --echo '#---------------------FN_DYNVARS_018_09----------------------#' ############################################################################### # Check if accessing variable without SCOPE points to same global variable # ############################################################################### SET @@global.local_infile = 1; SELECT @@local_infile = @@global.local_infile; --echo '#---------------------FN_DYNVARS_018_10----------------------#' ########################################################################## # Check if local_infile can be accessed with and without @@ sign # ########################################################################## --Error ER_GLOBAL_VARIABLE SET local_infile = 1; SELECT @@local_infile; --Error ER_PARSE_ERROR SET global.local_infile = 1; --Error ER_UNKNOWN_TABLE SELECT global.local_infile; --Error ER_BAD_FIELD_ERROR SELECT local_infile = @@session.local_infile; ############################## # Restore initial value # ############################## SET @@global.local_infile = @start_value; SELECT @@global.local_infile; ################################################## # END OF local_infile TESTS # ##################################################