mariadb/mysql-test/suite/sys_vars/t/flush_basic.test

169 lines
6.7 KiB
Text
Raw Normal View History

############## mysql-test\t\flush_basic.test ##################################
# #
# Variable Name: flush #
# Scope: GLOBAL #
# Access Type: Dynamic #
# Data Type: boolean #
# Default Value: OFF #
# Range: #
# #
# #
# Creation Date: 2008-02-09 #
# Author: Salman #
# #
# Description: Test Cases of Dynamic System Variable flush #
# 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-options.html#option_mysqld_flush #
# #
###############################################################################
--source include/load_sysvars.inc
########################################################################
# START OF flush TESTS #
########################################################################
#############################################################
# Saving initial value of flush in a temporary variable #
#############################################################
SET @start_value = @@global.flush;
SELECT @start_value;
--echo '#--------------------FN_DYNVARS_030_01------------------------#'
#############################################################
# Display the DEFAULT value of flush #
#############################################################
SET @@global.flush = ON;
SET @@global.flush = DEFAULT;
SELECT @@global.flush;
--echo '#---------------------FN_DYNVARS_030_02-------------------------#'
###############################################
# Verify default value of variable #
###############################################
SET @@global.flush = @start_value;
SELECT @@global.flush;
--echo '#--------------------FN_DYNVARS_030_03------------------------#'
#############################################################
# Change the value of flush to a valid value #
#############################################################
SET @@global.flush = ON;
SELECT @@global.flush;
SET @@global.flush = OFF;
SELECT @@global.flush;
SET @@global.flush = 0;
SELECT @@global.flush;
SET @@global.flush = 1;
SELECT @@global.flush;
--echo '#--------------------FN_DYNVARS_030_04-------------------------#'
###########################################################################
# Change the value of flush to invalid value #
###########################################################################
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.flush = 2;
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.flush = -1;
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.flush = TRUEF;
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.flush = TRUE_F;
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.flush = FALSE0;
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.flush = OON;
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.flush = ONN;
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.flush = OOFF;
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.flush = 0FF;
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.flush = ' ';
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.flush = " ";
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.flush = '';
--echo '#-------------------FN_DYNVARS_030_05----------------------------#'
###########################################################################
# Test if accessing session flush gives error #
###########################################################################
--Error ER_GLOBAL_VARIABLE
SET @@session.flush = 1;
--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
SELECT @@session.flush;
--echo '#----------------------FN_DYNVARS_030_06------------------------#'
####################################################################
# Check if the value in GLOBAL Tables matches values in variable #
####################################################################
SELECT IF(@@global.flush, "ON", "OFF") = VARIABLE_VALUE
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='flush';
--echo '#---------------------FN_DYNVARS_030_07----------------------#'
###################################################################
# Check if TRUE and FALSE values can be used on variable #
###################################################################
SET @@global.flush = TRUE;
SELECT @@global.flush;
SET @@global.flush = FALSE;
SELECT @@global.flush;
--echo '#---------------------FN_DYNVARS_030_08----------------------#'
###############################################################################
# Check if accessing variable without SCOPE points to same global variable #
###############################################################################
SET @@global.flush = 1;
SELECT @@flush = @@global.flush;
--echo '#---------------------FN_DYNVARS_030_09----------------------#'
##########################################################################
# Check if flush can be accessed with and without @@ sign #
##########################################################################
--Error ER_GLOBAL_VARIABLE
SET flush = 1;
--Error ER_UNKNOWN_TABLE
SELECT global.flush;
--Error ER_BAD_FIELD_ERROR
SELECT flush = @@session.flush;
##############################
# Restore initial value #
##############################
SET @@global.flush = @start_value;
SELECT @@global.flush;
#############################################################
# END OF flush TESTS #
#############################################################