mariadb/mysql-test/t/relay_log_purge_basic.test

164 lines
7 KiB
Text

############## mysql-test\t\relay_log_purge_basic.test ########################
# #
# Variable Name: relay_log_purge #
# Scope: GLOBAL #
# Access Type: Dynamic #
# Data Type: boolean #
# Default Value: TRUE #
# Range: #
# #
# #
# Creation Date: 2008-02-14 #
# Author: Salman #
# #
# Description: Test Cases of Dynamic System Variable relay_log_purge #
# 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_relay_log_purge #
# #
###############################################################################
--source include/not_embedded.inc
--source include/load_sysvars.inc
#####################################################################
# START OF relay_log_purge TESTS #
#####################################################################
#######################################################################
# Saving initial value of relay_log_purge in a temporary variable #
#######################################################################
SET @start_value = @@global.relay_log_purge;
SELECT @start_value;
--echo '#--------------------FN_DYNVARS_141_01------------------------#'
#############################################################
# Display the DEFAULT value of relay_log_purge #
#############################################################
SET @@global.relay_log_purge = FALSE;
SET @@global.relay_log_purge = DEFAULT;
SELECT @@global.relay_log_purge;
--echo '#---------------------FN_DYNVARS_141_02-------------------------#'
###############################################
# Verify default value of variable #
###############################################
SET @@global.relay_log_purge = @start_value;
SELECT @@global.relay_log_purge = TRUE;
--echo '#--------------------FN_DYNVARS_141_03------------------------#'
#############################################################
# Change the value of relay_log_purge to a valid value #
#############################################################
SET @@global.relay_log_purge = ON;
SELECT @@global.relay_log_purge;
SET @@global.relay_log_purge = OFF;
SELECT @@global.relay_log_purge;
SET @@global.relay_log_purge = 0;
SELECT @@global.relay_log_purge;
SET @@global.relay_log_purge = 1;
SELECT @@global.relay_log_purge;
SET @@global.relay_log_purge = TRUE;
SELECT @@global.relay_log_purge;
SET @@global.relay_log_purge = FALSE;
SELECT @@global.relay_log_purge;
--echo '#--------------------FN_DYNVARS_141_04-------------------------#'
###########################################################################
# Change the value of relay_log_purge to invalid value #
###########################################################################
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.relay_log_purge = 2;
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.relay_log_purge = -1;
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.relay_log_purge = TRUEF;
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.relay_log_purge = TRUE_F;
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.relay_log_purge = FALSE0;
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.relay_log_purge = OON;
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.relay_log_purge = ONN;
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.relay_log_purge = OOFF;
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.relay_log_purge = 0FF;
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.relay_log_purge = ' ';
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.relay_log_purge = " ";
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.relay_log_purge = '';
--echo '#-------------------FN_DYNVARS_141_05----------------------------#'
###########################################################################
# Test if accessing session relay_log_purge gives error #
###########################################################################
--Error ER_GLOBAL_VARIABLE
SET @@session.relay_log_purge = 1;
--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
SELECT @@session.relay_log_purge;
--echo '#----------------------FN_DYNVARS_141_06------------------------#'
#####################################################################
# Check if the value in GLOBAL Tables matches values in variable #
#####################################################################
SELECT @@global.relay_log_purge = VARIABLE_VALUE
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='relay_log_purge';
--echo '#---------------------FN_DYNVARS_141_07----------------------#'
###############################################################################
# Check if accessing variable without SCOPE points to same session variable #
###############################################################################
SET @@global.relay_log_purge = 1;
SELECT @@relay_log_purge = @@global.relay_log_purge;
--echo '#---------------------FN_DYNVARS_141_08----------------------#'
##########################################################################
# Check if relay_log_purge can be accessed with and without @@ sign #
##########################################################################
--Error ER_GLOBAL_VARIABLE
SET relay_log_purge = 1;
--Error ER_PARSE_ERROR
SET global.relay_log_purge = 1;
--Error ER_UNKNOWN_TABLE
SELECT global.relay_log_purge;
--Error ER_BAD_FIELD_ERROR
SELECT relay_log_purge = @@session.relay_log_purge;
##############################
# Restore initial value #
##############################
SET @@global.relay_log_purge = @start_value;
SELECT @@global.relay_log_purge;
#############################################################
# END OF relay_log_purge TESTS #
#############################################################