Loading mysql-test/r/innodb_mysql.result +6 −0 Original line number Diff line number Diff line Loading @@ -1677,3 +1677,9 @@ select @@session.sql_log_bin, @@session.binlog_format, @@session.tx_isolation; CREATE TABLE t1 ( a INT ) ENGINE=InnoDB; INSERT INTO t1 VALUES(1); DROP TABLE t1; DROP TABLE IF EXISTS t1; CREATE TABLE t1 (a char(50)) ENGINE=InnoDB; CREATE INDEX i1 on t1 (a(3)); SELECT * FROM t1 WHERE a = 'abcde'; a DROP TABLE t1; mysql-test/r/log_output_func.result +22 −16 Original line number Diff line number Diff line SET @start_value= @@global.log_output; SET @start_general_log= @@global.general_log; SET @start_general_log_file= @@global.general_log_file; '#--------------------FN_DYNVARS_065_01-------------------------#' SET @@global.log_output = 'NONE'; 'connect (con1,localhost,root,,,,)' 'connection con1' SELECT @@global.log_output; @@global.log_output NONE SET @@global.log_output = 'TABLE,FILE'; 'connect (con2,localhost,root,,,,)' 'connection con2' SELECT @@global.log_output; @@global.log_output FILE,TABLE Loading @@ -18,7 +16,7 @@ SET @@global.log_output = 'NONE'; TRUNCATE TABLE mysql.general_log; DROP TABLE IF EXISTS t1; CREATE TABLE t1(a INT); INSERT INTO t1 value(1); INSERT INTO t1 VALUE(1); SELECT 'abc'; abc abc Loading @@ -29,25 +27,33 @@ count(*) SET @@global.log_output = 'TABLE'; TRUNCATE TABLE mysql.general_log; DROP TABLE IF EXISTS t1; create table t1(a int); INSERT INTO t1 value(1); CREATE TABLE t1(a int); INSERT INTO t1 VALUE(1); SELECT 'abc'; abc abc SELECT count(*) from mysql.general_log; count(*) 5 'Bug#35371: Changing general_log file is crashing server' 'SET @@global.general_log_file = @log_file;' SELECT count(*)>4 FROM mysql.general_log; count(*)>4 1 SET @@global.general_log = 'OFF'; FLUSH LOGS; 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; DROP TABLE IF EXISTS t1; create table t1(a int); INSERT INTO t1 value(1); CREATE TABLE t1(a INT); INSERT INTO t1 VALUE(1); SELECT 'abc'; abc abc SELECT count(*) from mysql.general_log; SELECT count(*) FROM mysql.general_log; count(*) 0 DROP TABLE t1; 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'; mysql-test/r/subselect.result +30 −0 Original line number Diff line number Diff line Loading @@ -4448,4 +4448,34 @@ SELECT t1.a, (SELECT 1 FROM t2 WHERE t2.b=t3.c AND t2.c=t1.a ORDER BY t2.d LIMIT a incorrect 1 1 DROP TABLE t1,t2,t3; CREATE TABLE t1 (id int); CREATE TABLE t2 (id int, c int); INSERT INTO t1 (id) VALUES (1); INSERT INTO t2 (id) VALUES (1); INSERT INTO t1 (id) VALUES (1); INSERT INTO t2 (id) VALUES (1); CREATE VIEW v1 AS SELECT t2.c AS c FROM t1, t2 WHERE t1.id=t2.id AND 1 IN (SELECT id FROM t1) WITH CHECK OPTION; UPDATE v1 SET c=1; CREATE VIEW v2 (a,b) AS SELECT t2.id, t2.c AS c FROM t1, t2 WHERE t1.id=t2.id AND 1 IN (SELECT id FROM t1) WITH CHECK OPTION; INSERT INTO v2(a,b) VALUES (2,2); ERROR HY000: CHECK OPTION failed 'test.v2' INSERT INTO v2(a,b) VALUES (1,2); SELECT * FROM v1; c 1 1 1 1 2 2 CREATE VIEW v3 AS SELECT t2.c AS c FROM t2 WHERE 1 IN (SELECT id FROM t1) WITH CHECK OPTION; DELETE FROM v3; DROP VIEW v1,v2,v3; DROP TABLE t1,t2; End of 5.1 tests. mysql-test/t/innodb_mysql.test +10 −0 Original line number Diff line number Diff line Loading @@ -43,3 +43,13 @@ CREATE TABLE t1 ( a INT ) ENGINE=InnoDB; INSERT INTO t1 VALUES(1); DROP TABLE t1; # # Bug#37284 Crash in Field_string::type() # --disable_warnings DROP TABLE IF EXISTS t1; --enable_warnings CREATE TABLE t1 (a char(50)) ENGINE=InnoDB; CREATE INDEX i1 on t1 (a(3)); SELECT * FROM t1 WHERE a = 'abcde'; DROP TABLE t1; mysql-test/t/log_output_func.test +44 −31 Original line number Diff line number Diff line Loading @@ -10,12 +10,13 @@ # # # 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 # # Reference: # # http://dev.mysql.com/doc/refman/5.1/en/server-system-variables.html # # # ############################################################################### Loading @@ -23,6 +24,10 @@ # 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 # Loading @@ -32,17 +37,12 @@ SET @@global.log_output = 'NONE'; # con1 will be default connection from now on --echo 'connect (con1,localhost,root,,,,)' connect (con1,localhost,root,,,,); --echo 'connection con1' connection con1; SELECT @@global.log_output; SET @@global.log_output = 'TABLE,FILE'; # Test that the effect is global --echo 'connect (con2,localhost,root,,,,)' connect (con2,localhost,root,,,,); --echo 'connection con2' connection con2; SELECT @@global.log_output; disconnect con2; --echo '#--------------------FN_DYNVARS_065_02-------------------------#' #################################################### Loading @@ -52,10 +52,9 @@ disconnect con2; --echo 'connection con1' connection con1; #======================================================================= #=============================================================== --echo '---Checking general_log when log_output is NONE---' #======================================================================= #=============================================================== SET @@global.log_output = 'NONE'; TRUNCATE TABLE mysql.general_log; Loading @@ -64,13 +63,13 @@ TRUNCATE TABLE mysql.general_log; DROP TABLE IF EXISTS t1; --enable_warnings CREATE TABLE t1(a INT); INSERT INTO t1 value(1); 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; Loading @@ -78,35 +77,49 @@ TRUNCATE TABLE mysql.general_log; --disable_warnings DROP TABLE IF EXISTS t1; --enable_warnings create table t1(a int); INSERT INTO t1 value(1); CREATE TABLE t1(a int); INSERT INTO t1 VALUE(1); SELECT 'abc'; SELECT count(*) from mysql.general_log; # 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 @log_file = "mytest.log"; #SET @@global.general_log = 0; #FLUSH LOGS; #SET @@global.general_log_file = @log_file; --echo 'Bug#35371: Changing general_log file is crashing server' --echo 'SET @@global.general_log_file = @log_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); CREATE TABLE t1(a INT); INSERT INTO t1 VALUE(1); SELECT 'abc'; SELECT count(*) from mysql.general_log; 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 #################################################### # Endo of functionality Testing for log_output # # End of functionality Testing for log_output # #################################################### Loading
mysql-test/r/innodb_mysql.result +6 −0 Original line number Diff line number Diff line Loading @@ -1677,3 +1677,9 @@ select @@session.sql_log_bin, @@session.binlog_format, @@session.tx_isolation; CREATE TABLE t1 ( a INT ) ENGINE=InnoDB; INSERT INTO t1 VALUES(1); DROP TABLE t1; DROP TABLE IF EXISTS t1; CREATE TABLE t1 (a char(50)) ENGINE=InnoDB; CREATE INDEX i1 on t1 (a(3)); SELECT * FROM t1 WHERE a = 'abcde'; a DROP TABLE t1;
mysql-test/r/log_output_func.result +22 −16 Original line number Diff line number Diff line SET @start_value= @@global.log_output; SET @start_general_log= @@global.general_log; SET @start_general_log_file= @@global.general_log_file; '#--------------------FN_DYNVARS_065_01-------------------------#' SET @@global.log_output = 'NONE'; 'connect (con1,localhost,root,,,,)' 'connection con1' SELECT @@global.log_output; @@global.log_output NONE SET @@global.log_output = 'TABLE,FILE'; 'connect (con2,localhost,root,,,,)' 'connection con2' SELECT @@global.log_output; @@global.log_output FILE,TABLE Loading @@ -18,7 +16,7 @@ SET @@global.log_output = 'NONE'; TRUNCATE TABLE mysql.general_log; DROP TABLE IF EXISTS t1; CREATE TABLE t1(a INT); INSERT INTO t1 value(1); INSERT INTO t1 VALUE(1); SELECT 'abc'; abc abc Loading @@ -29,25 +27,33 @@ count(*) SET @@global.log_output = 'TABLE'; TRUNCATE TABLE mysql.general_log; DROP TABLE IF EXISTS t1; create table t1(a int); INSERT INTO t1 value(1); CREATE TABLE t1(a int); INSERT INTO t1 VALUE(1); SELECT 'abc'; abc abc SELECT count(*) from mysql.general_log; count(*) 5 'Bug#35371: Changing general_log file is crashing server' 'SET @@global.general_log_file = @log_file;' SELECT count(*)>4 FROM mysql.general_log; count(*)>4 1 SET @@global.general_log = 'OFF'; FLUSH LOGS; 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; DROP TABLE IF EXISTS t1; create table t1(a int); INSERT INTO t1 value(1); CREATE TABLE t1(a INT); INSERT INTO t1 VALUE(1); SELECT 'abc'; abc abc SELECT count(*) from mysql.general_log; SELECT count(*) FROM mysql.general_log; count(*) 0 DROP TABLE t1; 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';
mysql-test/r/subselect.result +30 −0 Original line number Diff line number Diff line Loading @@ -4448,4 +4448,34 @@ SELECT t1.a, (SELECT 1 FROM t2 WHERE t2.b=t3.c AND t2.c=t1.a ORDER BY t2.d LIMIT a incorrect 1 1 DROP TABLE t1,t2,t3; CREATE TABLE t1 (id int); CREATE TABLE t2 (id int, c int); INSERT INTO t1 (id) VALUES (1); INSERT INTO t2 (id) VALUES (1); INSERT INTO t1 (id) VALUES (1); INSERT INTO t2 (id) VALUES (1); CREATE VIEW v1 AS SELECT t2.c AS c FROM t1, t2 WHERE t1.id=t2.id AND 1 IN (SELECT id FROM t1) WITH CHECK OPTION; UPDATE v1 SET c=1; CREATE VIEW v2 (a,b) AS SELECT t2.id, t2.c AS c FROM t1, t2 WHERE t1.id=t2.id AND 1 IN (SELECT id FROM t1) WITH CHECK OPTION; INSERT INTO v2(a,b) VALUES (2,2); ERROR HY000: CHECK OPTION failed 'test.v2' INSERT INTO v2(a,b) VALUES (1,2); SELECT * FROM v1; c 1 1 1 1 2 2 CREATE VIEW v3 AS SELECT t2.c AS c FROM t2 WHERE 1 IN (SELECT id FROM t1) WITH CHECK OPTION; DELETE FROM v3; DROP VIEW v1,v2,v3; DROP TABLE t1,t2; End of 5.1 tests.
mysql-test/t/innodb_mysql.test +10 −0 Original line number Diff line number Diff line Loading @@ -43,3 +43,13 @@ CREATE TABLE t1 ( a INT ) ENGINE=InnoDB; INSERT INTO t1 VALUES(1); DROP TABLE t1; # # Bug#37284 Crash in Field_string::type() # --disable_warnings DROP TABLE IF EXISTS t1; --enable_warnings CREATE TABLE t1 (a char(50)) ENGINE=InnoDB; CREATE INDEX i1 on t1 (a(3)); SELECT * FROM t1 WHERE a = 'abcde'; DROP TABLE t1;
mysql-test/t/log_output_func.test +44 −31 Original line number Diff line number Diff line Loading @@ -10,12 +10,13 @@ # # # 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 # # Reference: # # http://dev.mysql.com/doc/refman/5.1/en/server-system-variables.html # # # ############################################################################### Loading @@ -23,6 +24,10 @@ # 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 # Loading @@ -32,17 +37,12 @@ SET @@global.log_output = 'NONE'; # con1 will be default connection from now on --echo 'connect (con1,localhost,root,,,,)' connect (con1,localhost,root,,,,); --echo 'connection con1' connection con1; SELECT @@global.log_output; SET @@global.log_output = 'TABLE,FILE'; # Test that the effect is global --echo 'connect (con2,localhost,root,,,,)' connect (con2,localhost,root,,,,); --echo 'connection con2' connection con2; SELECT @@global.log_output; disconnect con2; --echo '#--------------------FN_DYNVARS_065_02-------------------------#' #################################################### Loading @@ -52,10 +52,9 @@ disconnect con2; --echo 'connection con1' connection con1; #======================================================================= #=============================================================== --echo '---Checking general_log when log_output is NONE---' #======================================================================= #=============================================================== SET @@global.log_output = 'NONE'; TRUNCATE TABLE mysql.general_log; Loading @@ -64,13 +63,13 @@ TRUNCATE TABLE mysql.general_log; DROP TABLE IF EXISTS t1; --enable_warnings CREATE TABLE t1(a INT); INSERT INTO t1 value(1); 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; Loading @@ -78,35 +77,49 @@ TRUNCATE TABLE mysql.general_log; --disable_warnings DROP TABLE IF EXISTS t1; --enable_warnings create table t1(a int); INSERT INTO t1 value(1); CREATE TABLE t1(a int); INSERT INTO t1 VALUE(1); SELECT 'abc'; SELECT count(*) from mysql.general_log; # 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 @log_file = "mytest.log"; #SET @@global.general_log = 0; #FLUSH LOGS; #SET @@global.general_log_file = @log_file; --echo 'Bug#35371: Changing general_log file is crashing server' --echo 'SET @@global.general_log_file = @log_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); CREATE TABLE t1(a INT); INSERT INTO t1 VALUE(1); SELECT 'abc'; SELECT count(*) from mysql.general_log; 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 #################################################### # Endo of functionality Testing for log_output # # End of functionality Testing for log_output # ####################################################