summaryrefslogtreecommitdiff
path: root/mysql-test/suite/sys_vars/t/log_output_func.test
diff options
context:
space:
mode:
Diffstat (limited to 'mysql-test/suite/sys_vars/t/log_output_func.test')
-rw-r--r--mysql-test/suite/sys_vars/t/log_output_func.test125
1 files changed, 125 insertions, 0 deletions
diff --git a/mysql-test/suite/sys_vars/t/log_output_func.test b/mysql-test/suite/sys_vars/t/log_output_func.test
new file mode 100644
index 00000000000..007c4f38659
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/log_output_func.test
@@ -0,0 +1,125 @@
+################# mysql-test\t\log_output_func.test ##########################
+# #
+# Variable Name: log_output #
+# Scope: GLOBAL #
+# Access Type: Dynamic #
+# Data Type: enumeration #
+# Default Value: TABLE #
+# Range: TABLE, FILE, NONE #
+# #
+# #
+# Creation Date: 2008-03-08 #
+# Author: Rizwan #
+# Modified: HHunger 2008-08-29
+# #
+# Description: Test Cases of Dynamic System Variable log_output #
+# that checks the behavior of this variable #
+# #
+# Reference: #
+# http://dev.mysql.com/doc/refman/5.1/en/server-system-variables.html #
+# #
+###############################################################################
+
+# The access to mysql.general_log delivers different result depending on
+# ps-protocol. So, it is switched off.
+--disable_ps_protocol
+
+SET @start_value= @@global.log_output;
+SET @start_general_log= @@global.general_log;
+SET @start_general_log_file= @@global.general_log_file;
+
+--echo '#--------------------FN_DYNVARS_065_01-------------------------#'
+##################################################################
+# Check if setting log_output is changed in every new connection #
+##################################################################
+
+SET @@global.log_output = 'NONE';
+# con1 will be default connection from now on
+--echo 'connect (con1,localhost,root,,,,)'
+connect (con1,localhost,root,,,,);
+SET @@global.log_output = 'TABLE,FILE';
+
+# Test that the effect is global
+--echo 'connect (con2,localhost,root,,,,)'
+connect (con2,localhost,root,,,,);
+SELECT @@global.log_output;
+
+--echo '#--------------------FN_DYNVARS_065_02-------------------------#'
+####################################################
+# Begin the functionality Testing of log_output #
+####################################################
+
+--echo 'connection con1'
+connection con1;
+
+#===============================================================
+--echo '---Checking general_log when log_output is NONE---'
+#===============================================================
+
+SET @@global.log_output = 'NONE';
+TRUNCATE TABLE mysql.general_log;
+
+--disable_warnings
+DROP TABLE IF EXISTS t1;
+--enable_warnings
+CREATE TABLE t1(a INT);
+INSERT INTO t1 VALUE(1);
+SELECT 'abc';
+SELECT count(*) FROM mysql.general_log;
+
+#===============================================================
+--echo '---Checking general_log when log_output is TABLE---'
+#===============================================================
+
+SET @@global.log_output = 'TABLE';
+TRUNCATE TABLE mysql.general_log;
+
+--disable_warnings
+DROP TABLE IF EXISTS t1;
+--enable_warnings
+CREATE TABLE t1(a int);
+INSERT INTO t1 VALUE(1);
+SELECT 'abc';
+# At least the last 4 statement should be logged.
+SELECT count(*)>4 FROM mysql.general_log;
+
+#===============================================================
+# Checking general_log when log_output is FILE
+#===============================================================
+
+SET @@global.general_log = 'OFF';
+FLUSH LOGS;
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+eval SET @@global.general_log_file = '$MYSQLTEST_VARDIR/run/mytest.log';
+SET @@global.general_log = 'ON';
+SET @@global.log_output = 'FILE';
+TRUNCATE TABLE mysql.general_log;
+--disable_warnings
+DROP TABLE IF EXISTS t1;
+--enable_warnings
+CREATE TABLE t1(a INT);
+INSERT INTO t1 VALUE(1);
+SELECT 'abc';
+SELECT count(*) FROM mysql.general_log;
+
+DROP TABLE t1;
+
+file_exists $MYSQLTEST_VARDIR/run/mytest.log ;
+
+#==============================================================
+# Clean up
+#==============================================================
+
+--echo connection default;
+connection default;
+SET @@global.general_log= 'OFF';
+SET @@global.general_log_file= @start_general_log_file;
+SET @@global.log_output= @start_value;
+SET @@global.general_log= @start_general_log;
+SET @@global.general_log= 'ON';
+
+--enable_ps_protocol
+####################################################
+# End of functionality Testing for log_output #
+####################################################
+