mirror of
https://github.com/MariaDB/server.git
synced 2025-01-17 20:42:30 +01:00
7ce32c91ba
the local tree contains a fix for Bug#32748 "Inconsistent handling of assignments to general_log_file/slow_query_log_file", which changes output of a number of tests. mysql-test/r/general_log_file_basic.result: Update results (Bug#32748) mysql-test/r/log_output_basic.result: Update the test with results of the fix for Bug#32748 mysql-test/r/slow_query_log_file_basic.result: Update the test with results of the fix for Bug#32748 mysql-test/t/general_log_file_basic.test: Adjust to take into account the fix for Bug#32748 (a port from 6.0-bugteam) mysql-test/t/log_output_basic.test: Adjust to take into account the fix for Bug#32748 (a port from 6.0-bugteam) mysql-test/t/slow_query_log_file_basic.test: Adjust to take into account the fix for Bug#32748 (a port from 6.0-bugteam) tests/mysql_client_test.c: Fix a compilation warning.
234 lines
8.6 KiB
Text
234 lines
8.6 KiB
Text
################# mysql-test\t\log_output_basic.test ##########################
|
|
# #
|
|
# Variable Name: log_output #
|
|
# Scope: GLOBAL #
|
|
# Access Type: Dynamic #
|
|
# Data Type: enumeration #
|
|
# Default Value: TABLE #
|
|
# Range: TABLE, FILE, NONE #
|
|
# #
|
|
# #
|
|
# Creation Date: 2008-02-07 #
|
|
# Author: Rizwan #
|
|
# #
|
|
# Description: Test Cases of Dynamic System Variable log_output #
|
|
# 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/load_sysvars.inc
|
|
|
|
########################################################################
|
|
# START OF log_output TESTS #
|
|
########################################################################
|
|
|
|
|
|
########################################################################
|
|
# Saving initial value of log_output in a temporary variable #
|
|
########################################################################
|
|
|
|
SET @start_value = @@global.log_output;
|
|
SELECT @start_value;
|
|
|
|
|
|
--echo '#--------------------FN_DYNVARS_065_01------------------------#'
|
|
########################################################################
|
|
# Display the DEFAULT value of log_output #
|
|
########################################################################
|
|
|
|
SET @@global.log_output = FILE;
|
|
SET @@global.log_output = DEFAULT;
|
|
SELECT @@global.log_output;
|
|
--echo 'Bug# 34876: Documentation specifies a DEFAULT value of TABLE whereas';
|
|
--echo 'DEFAULT value is FILE. Also note that initial value is different';
|
|
--echo 'from DEFAULT';
|
|
|
|
|
|
--echo '#---------------------FN_DYNVARS_065_02-------------------------#'
|
|
##################################################
|
|
# Check if NULL or empty value is accepeted #
|
|
##################################################
|
|
|
|
--Error ER_WRONG_VALUE_FOR_VAR
|
|
SET @@global.log_output = NULL;
|
|
|
|
--Error ER_WRONG_VALUE_FOR_VAR
|
|
SET @@global.log_output = "";
|
|
SELECT @@global.log_output;
|
|
--echo 'Bug# 34838: Empty value is allowed where as it is not specified in';
|
|
--echo 'documentation';
|
|
|
|
--echo '#--------------------FN_DYNVARS_065_03------------------------#'
|
|
########################################################################
|
|
# Change the value of log_output to a valid value #
|
|
########################################################################
|
|
|
|
SET @@global.log_output = 'TABLE';
|
|
SELECT @@global.log_output;
|
|
|
|
SET @@global.log_output = 'FILE';
|
|
SELECT @@global.log_output;
|
|
|
|
SET @@global.log_output = 'NONE';
|
|
SELECT @@global.log_output;
|
|
|
|
SET @@global.log_output = 'FILE,TABLE';
|
|
SELECT @@global.log_output;
|
|
|
|
SET @@global.log_output = 'TABLE,FILE';
|
|
SELECT @@global.log_output;
|
|
|
|
SET @@global.log_output = 'NONE,TABLE';
|
|
SELECT @@global.log_output;
|
|
|
|
SET @@global.log_output = 'NONE,FILE';
|
|
SELECT @@global.log_output;
|
|
|
|
SET @@global.log_output = 'FILE,TABLE,NONE';
|
|
SELECT @@global.log_output;
|
|
|
|
SET @@global.log_output = 'TABLE,NONE';
|
|
SELECT @@global.log_output;
|
|
|
|
SET @@global.log_output = 'TABLE,TABLE';
|
|
SELECT @@global.log_output;
|
|
|
|
SET @@global.log_output = ',TABLE';
|
|
SELECT @@global.log_output;
|
|
|
|
SET @@global.log_output = ',';
|
|
SELECT @@global.log_output;
|
|
|
|
SET @@global.log_output = 'TABLE,,FILE,,,';
|
|
SELECT @@global.log_output;
|
|
|
|
|
|
--echo '#--------------------FN_DYNVARS_065_04-------------------------#'
|
|
###########################################################################
|
|
# Change the value of log_output to invalid value #
|
|
###########################################################################
|
|
|
|
--Error ER_WRONG_VALUE_FOR_VAR
|
|
SET @@global.log_output = -1;
|
|
--Error ER_WRONG_VALUE_FOR_VAR
|
|
SET @@global.log_output = TAB;
|
|
--Error ER_WRONG_VALUE_FOR_VAR
|
|
SET @@global.log_output = NIL;
|
|
--Error ER_WRONG_VALUE_FOR_VAR
|
|
SET @@global.log_output = 'FIL';
|
|
--Error ER_WRONG_VALUE_FOR_VAR
|
|
SET @@global.log_output = 'T';
|
|
|
|
# use of space in value
|
|
--Error ER_WRONG_VALUE_FOR_VAR
|
|
SET @@global.log_output = 'TABLE, FILE';
|
|
--Error ER_WRONG_VALUE_FOR_VAR
|
|
SET @@global.log_output = ' TABLE,FILE';
|
|
|
|
SET @@global.log_output = ', ';
|
|
SELECT @@global.log_output;
|
|
SET @@global.log_output = ' ';
|
|
SELECT @@global.log_output;
|
|
SET @@global.log_output = ' ';
|
|
SELECT @@global.log_output;
|
|
|
|
--echo 'Bug: The behavior of space in value is not consistent.';
|
|
--echo 'Some times it is trimmed and some times not.';
|
|
--echo 'The space before and after value is not accepted where as space';
|
|
--echo 'between comma is accepted.';
|
|
|
|
|
|
--echo '#-------------------FN_DYNVARS_065_05----------------------------#'
|
|
######################################################################
|
|
# Test if accessing session log_output gives error #
|
|
######################################################################
|
|
|
|
--Error ER_GLOBAL_VARIABLE
|
|
SET @@log_output = 0;
|
|
--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
|
|
SELECT @@session.log_output;
|
|
|
|
|
|
--echo '#----------------------FN_DYNVARS_065_06------------------------#'
|
|
########################################################################
|
|
# Check if the value in GLOBAL Table matches value in variable #
|
|
########################################################################
|
|
|
|
SELECT @@log_output = VARIABLE_VALUE
|
|
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
|
|
WHERE VARIABLE_NAME='log_output';
|
|
|
|
|
|
--echo '#---------------------FN_DYNVARS_065_07-------------------------#'
|
|
###################################################################
|
|
# Check if numbers can be used on variable #
|
|
###################################################################
|
|
|
|
# test if variable accepts 0,1,2
|
|
--Error ER_WRONG_VALUE_FOR_VAR
|
|
SET @@global.log_output = 0;
|
|
SELECT @@global.log_output;
|
|
|
|
SET @@global.log_output = 1;
|
|
SELECT @@global.log_output;
|
|
|
|
SET @@global.log_output = 2;
|
|
SELECT @@global.log_output;
|
|
|
|
SET @@global.log_output = 3;
|
|
SELECT @@global.log_output;
|
|
|
|
SET @@global.log_output = 4;
|
|
SELECT @@global.log_output;
|
|
|
|
SET @@global.log_output = 5;
|
|
SELECT @@global.log_output;
|
|
|
|
SET @@global.log_output = 6;
|
|
SELECT @@global.log_output;
|
|
|
|
SET @@global.log_output = 7;
|
|
SELECT @@global.log_output;
|
|
|
|
--Error ER_WRONG_VALUE_FOR_VAR
|
|
SET @@global.log_output = 8;
|
|
|
|
|
|
--echo '#---------------------FN_DYNVARS_065_08----------------------#'
|
|
###################################################################
|
|
# Check if TRUE and FALSE values can be used on variable #
|
|
###################################################################
|
|
|
|
SET @@global.log_output = TRUE;
|
|
SELECT @@global.log_output;
|
|
--Error ER_WRONG_VALUE_FOR_VAR
|
|
SET @@global.log_output = FALSE;
|
|
SELECT @@global.log_output;
|
|
|
|
--echo '#---------------------FN_DYNVARS_065_09----------------------#'
|
|
################################################################
|
|
# Check if log_output can be accessed with and without @@ sign #
|
|
################################################################
|
|
--Error ER_GLOBAL_VARIABLE
|
|
SET log_output = ON;
|
|
|
|
SET global log_output = 'TABLE';
|
|
SELECT @@global.log_output;
|
|
|
|
##############################
|
|
# Restore initial value #
|
|
##############################
|
|
|
|
SET @@global.log_output = @start_value;
|
|
SELECT @@global.log_output;
|
|
|
|
###################################################################
|
|
# END OF log_output TESTS #
|
|
###################################################################
|