############# mysql-test\t\slave_compressed_protocol_basic.test ###############
#                                                                             #
# Variable Name: slave_compressed_protocol                                    #
# Scope: GLOBAL                                                               #
# Access Type: Dynamic                                                        #
# Data Type: boolean                                                          #
# Default Value: FALSE                                                        #
# Range: TRUE, FALSE                                                          #
#                                                                             #
#                                                                             #
# Creation Date: 2008-02-07                                                   #
# Author:  Rizwan                                                             #
#                                                                             #
# Description: Test Cases of Dynamic System Variable slave_compressed_protocol#
#              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                                               #
#                                                                             #
###############################################################################

--source include/not_embedded.inc
--source include/load_sysvars.inc
######################################################################## 
#                    START OF slave_compressed_protocol TESTS          #
######################################################################## 


############################################################################## 
#  Saving initial value of slave_compressed_protocol in a temporary variable #
############################################################################## 

SET @global_start_value = @@global.slave_compressed_protocol;
SELECT @global_start_value;

--echo '#--------------------FN_DYNVARS_147_01------------------------#'
######################################################################## 
#           Display the DEFAULT value of slave_compressed_protocol     #
######################################################################## 

SET @@global.slave_compressed_protocol = 1;
SET @@global.slave_compressed_protocol = DEFAULT;
SELECT @@global.slave_compressed_protocol;

--echo '#---------------------FN_DYNVARS_147_02-------------------------#'
###############################################################################
# Check if slave_compressed_protocol can be accessed with and without @@ sign #
###############################################################################

--Error ER_GLOBAL_VARIABLE
SET slave_compressed_protocol = 1;
SELECT @@slave_compressed_protocol;
--Error ER_UNKNOWN_TABLE
SELECT global.slave_compressed_protocol;

SET global slave_compressed_protocol = 1;
SELECT @@global.slave_compressed_protocol;


--echo '#--------------------FN_DYNVARS_147_03------------------------#'
######################################################################## 
#    Change the value of slave_compressed_protocol to a valid value    #
######################################################################## 

SET @@global.slave_compressed_protocol = 0;
SELECT @@global.slave_compressed_protocol;
SET @@global.slave_compressed_protocol = 1;
SELECT @@global.slave_compressed_protocol;


--echo '#--------------------FN_DYNVARS_147_04-------------------------#'
########################################################################### 
#   Change the value of slave_compressed_protocol to invalid value        #
########################################################################### 

--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.slave_compressed_protocol = -1;
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.slave_compressed_protocol = 2;
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.slave_compressed_protocol = "1.00";
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.slave_compressed_protocol = "Y";
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.slave_compressed_protocol = YES;
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.slave_compressed_protocol = ONN;
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.slave_compressed_protocol = 0FF;
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.slave_compressed_protocol = ' 1';
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.slave_compressed_protocol = NO;


--echo '#-------------------FN_DYNVARS_147_05----------------------------#'
########################################################################### 
#    Test if accessing session slave_compressed_protocol gives error      #
########################################################################### 

--Error ER_GLOBAL_VARIABLE
SET @@session.slave_compressed_protocol = 0;
--Error ER_GLOBAL_VARIABLE
SET @@slave_compressed_protocol = 0;
--Error ER_GLOBAL_VARIABLE
SET @@local.slave_compressed_protocol = 0;
--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
SELECT @@session.slave_compressed_protocol;
--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
SELECT @@local.slave_compressed_protocol;

--echo '#----------------------FN_DYNVARS_147_06------------------------#'
######################################################################### 
#     Check if the value in SESSION Table contains variable value       #
#########################################################################

SELECT count(VARIABLE_VALUE)
FROM INFORMATION_SCHEMA.SESSION_VARIABLES 
WHERE VARIABLE_NAME='slave_compressed_protocol';

--echo '#----------------------FN_DYNVARS_147_07------------------------#'
######################################################################### 
#     Check if the value in GLOBAL Table matches value in variable      #
#########################################################################

SELECT IF(@@global.slave_compressed_protocol, "ON", "OFF") = VARIABLE_VALUE 
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES 
WHERE VARIABLE_NAME='slave_compressed_protocol';
SELECT @@global.slave_compressed_protocol;
SELECT VARIABLE_VALUE 
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES 
WHERE VARIABLE_NAME='slave_compressed_protocol';

--echo '#---------------------FN_DYNVARS_147_08-------------------------#'
################################################################### 
#        Check if ON and OFF values can be used on variable       #
################################################################### 

SET @@global.slave_compressed_protocol = OFF;
SELECT @@global.slave_compressed_protocol;
SET @@global.slave_compressed_protocol = ON;
SELECT @@global.slave_compressed_protocol;

--echo '#---------------------FN_DYNVARS_147_09----------------------#'
################################################################### 
#      Check if TRUE and FALSE values can be used on variable     #
################################################################### 

SET @@global.slave_compressed_protocol = TRUE;
SELECT @@global.slave_compressed_protocol;
SET @@global.slave_compressed_protocol = FALSE;
SELECT @@global.slave_compressed_protocol;

##############################  
#   Restore initial value    #
##############################

SET @@global.slave_compressed_protocol = @global_start_value;
SELECT @@global.slave_compressed_protocol;

###############################################################
#                    END OF slave_compressed_protocol TESTS   #
############################################################### 
