Loading BitKeeper/etc/collapsed +2 −0 Original line number Diff line number Diff line Loading @@ -7,3 +7,5 @@ 4513d8e4Af4dQWuk13sArwofRgFDQw 4519a6c5BVUxEHTf5iJnjZkixMBs8g 451ab499rgdjXyOnUDqHu-wBDoS-OQ 45214442pBGT9KuZEGixBH71jTzbOA 45214a07hVsIGwvwa-WrO-jpeaSwVw client/mysqldump.c +3 −5 Original line number Diff line number Diff line Loading @@ -3104,7 +3104,7 @@ static int do_reset_master(MYSQL *mysql_con) } static int start_transaction(MYSQL *mysql_con, my_bool consistent_read_now) static int start_transaction(MYSQL *mysql_con) { /* We use BEGIN for old servers. --single-transaction --master-data will fail Loading @@ -3119,10 +3119,8 @@ static int start_transaction(MYSQL *mysql_con, my_bool consistent_read_now) "SET SESSION TRANSACTION ISOLATION " "LEVEL REPEATABLE READ") || mysql_query_with_error_report(mysql_con, 0, consistent_read_now ? "START TRANSACTION " "WITH CONSISTENT SNAPSHOT" : "BEGIN")); "/*!40100 WITH CONSISTENT SNAPSHOT */")); } Loading Loading @@ -3612,7 +3610,7 @@ int main(int argc, char **argv) if ((opt_lock_all_tables || opt_master_data) && do_flush_tables_read_lock(mysql)) goto err; if (opt_single_transaction && start_transaction(mysql, test(opt_master_data))) if (opt_single_transaction && start_transaction(mysql)) goto err; if (opt_delete_master_logs && do_reset_master(mysql)) goto err; Loading mysql-test/r/ps_11bugs.result +33 −0 Original line number Diff line number Diff line Loading @@ -130,3 +130,36 @@ prepare st_18492 from 'select * from t1 where 3 in (select (1+1) union select 1) execute st_18492; a drop table t1; create table t1 (a int, b varchar(4)); create table t2 (a int, b varchar(4), primary key(a)); prepare stmt1 from 'insert into t1 (a, b) values (?, ?)'; prepare stmt2 from 'insert into t2 (a, b) values (?, ?)'; set @intarg= 11; set @varchararg= '2222'; execute stmt1 using @intarg, @varchararg; execute stmt2 using @intarg, @varchararg; set @intarg= 12; execute stmt1 using @intarg, @UNDEFINED; execute stmt2 using @intarg, @UNDEFINED; set @intarg= 13; execute stmt1 using @UNDEFINED, @varchararg; execute stmt2 using @UNDEFINED, @varchararg; ERROR 23000: Column 'a' cannot be null set @intarg= 14; set @nullarg= Null; execute stmt1 using @UNDEFINED, @nullarg; execute stmt2 using @nullarg, @varchararg; ERROR 23000: Column 'a' cannot be null select * from t1; a b 11 2222 12 NULL NULL 2222 NULL NULL select * from t2; a b 11 2222 12 NULL drop table t1; drop table t2; End of 5.0 tests. mysql-test/r/user_var.result +9 −0 Original line number Diff line number Diff line Loading @@ -215,6 +215,7 @@ select @@version; select @@global.version; @@global.version # End of 4.1 tests set @first_var= NULL; create table t1 select @first_var; show create table t1; Loading Loading @@ -301,3 +302,11 @@ select @var; @var 3 drop table t1; insert into city 'blah'; ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''blah'' at line 1 SHOW COUNT(*) WARNINGS; @@session.warning_count 1 SHOW COUNT(*) ERRORS; @@session.error_count 1 mysql-test/t/ps_11bugs.test +34 −0 Original line number Diff line number Diff line Loading @@ -144,3 +144,37 @@ prepare st_18492 from 'select * from t1 where 3 in (select (1+1) union select 1) execute st_18492; drop table t1; # # Bug#19356: Assertion failure with undefined @uservar in prepared statement execution # create table t1 (a int, b varchar(4)); create table t2 (a int, b varchar(4), primary key(a)); prepare stmt1 from 'insert into t1 (a, b) values (?, ?)'; prepare stmt2 from 'insert into t2 (a, b) values (?, ?)'; set @intarg= 11; set @varchararg= '2222'; execute stmt1 using @intarg, @varchararg; execute stmt2 using @intarg, @varchararg; set @intarg= 12; execute stmt1 using @intarg, @UNDEFINED; execute stmt2 using @intarg, @UNDEFINED; set @intarg= 13; execute stmt1 using @UNDEFINED, @varchararg; --error 1048 execute stmt2 using @UNDEFINED, @varchararg; set @intarg= 14; set @nullarg= Null; execute stmt1 using @UNDEFINED, @nullarg; --error 1048 execute stmt2 using @nullarg, @varchararg; select * from t1; select * from t2; drop table t1; drop table t2; --echo End of 5.0 tests. Loading
BitKeeper/etc/collapsed +2 −0 Original line number Diff line number Diff line Loading @@ -7,3 +7,5 @@ 4513d8e4Af4dQWuk13sArwofRgFDQw 4519a6c5BVUxEHTf5iJnjZkixMBs8g 451ab499rgdjXyOnUDqHu-wBDoS-OQ 45214442pBGT9KuZEGixBH71jTzbOA 45214a07hVsIGwvwa-WrO-jpeaSwVw
client/mysqldump.c +3 −5 Original line number Diff line number Diff line Loading @@ -3104,7 +3104,7 @@ static int do_reset_master(MYSQL *mysql_con) } static int start_transaction(MYSQL *mysql_con, my_bool consistent_read_now) static int start_transaction(MYSQL *mysql_con) { /* We use BEGIN for old servers. --single-transaction --master-data will fail Loading @@ -3119,10 +3119,8 @@ static int start_transaction(MYSQL *mysql_con, my_bool consistent_read_now) "SET SESSION TRANSACTION ISOLATION " "LEVEL REPEATABLE READ") || mysql_query_with_error_report(mysql_con, 0, consistent_read_now ? "START TRANSACTION " "WITH CONSISTENT SNAPSHOT" : "BEGIN")); "/*!40100 WITH CONSISTENT SNAPSHOT */")); } Loading Loading @@ -3612,7 +3610,7 @@ int main(int argc, char **argv) if ((opt_lock_all_tables || opt_master_data) && do_flush_tables_read_lock(mysql)) goto err; if (opt_single_transaction && start_transaction(mysql, test(opt_master_data))) if (opt_single_transaction && start_transaction(mysql)) goto err; if (opt_delete_master_logs && do_reset_master(mysql)) goto err; Loading
mysql-test/r/ps_11bugs.result +33 −0 Original line number Diff line number Diff line Loading @@ -130,3 +130,36 @@ prepare st_18492 from 'select * from t1 where 3 in (select (1+1) union select 1) execute st_18492; a drop table t1; create table t1 (a int, b varchar(4)); create table t2 (a int, b varchar(4), primary key(a)); prepare stmt1 from 'insert into t1 (a, b) values (?, ?)'; prepare stmt2 from 'insert into t2 (a, b) values (?, ?)'; set @intarg= 11; set @varchararg= '2222'; execute stmt1 using @intarg, @varchararg; execute stmt2 using @intarg, @varchararg; set @intarg= 12; execute stmt1 using @intarg, @UNDEFINED; execute stmt2 using @intarg, @UNDEFINED; set @intarg= 13; execute stmt1 using @UNDEFINED, @varchararg; execute stmt2 using @UNDEFINED, @varchararg; ERROR 23000: Column 'a' cannot be null set @intarg= 14; set @nullarg= Null; execute stmt1 using @UNDEFINED, @nullarg; execute stmt2 using @nullarg, @varchararg; ERROR 23000: Column 'a' cannot be null select * from t1; a b 11 2222 12 NULL NULL 2222 NULL NULL select * from t2; a b 11 2222 12 NULL drop table t1; drop table t2; End of 5.0 tests.
mysql-test/r/user_var.result +9 −0 Original line number Diff line number Diff line Loading @@ -215,6 +215,7 @@ select @@version; select @@global.version; @@global.version # End of 4.1 tests set @first_var= NULL; create table t1 select @first_var; show create table t1; Loading Loading @@ -301,3 +302,11 @@ select @var; @var 3 drop table t1; insert into city 'blah'; ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''blah'' at line 1 SHOW COUNT(*) WARNINGS; @@session.warning_count 1 SHOW COUNT(*) ERRORS; @@session.error_count 1
mysql-test/t/ps_11bugs.test +34 −0 Original line number Diff line number Diff line Loading @@ -144,3 +144,37 @@ prepare st_18492 from 'select * from t1 where 3 in (select (1+1) union select 1) execute st_18492; drop table t1; # # Bug#19356: Assertion failure with undefined @uservar in prepared statement execution # create table t1 (a int, b varchar(4)); create table t2 (a int, b varchar(4), primary key(a)); prepare stmt1 from 'insert into t1 (a, b) values (?, ?)'; prepare stmt2 from 'insert into t2 (a, b) values (?, ?)'; set @intarg= 11; set @varchararg= '2222'; execute stmt1 using @intarg, @varchararg; execute stmt2 using @intarg, @varchararg; set @intarg= 12; execute stmt1 using @intarg, @UNDEFINED; execute stmt2 using @intarg, @UNDEFINED; set @intarg= 13; execute stmt1 using @UNDEFINED, @varchararg; --error 1048 execute stmt2 using @UNDEFINED, @varchararg; set @intarg= 14; set @nullarg= Null; execute stmt1 using @UNDEFINED, @nullarg; --error 1048 execute stmt2 using @nullarg, @varchararg; select * from t1; select * from t2; drop table t1; drop table t2; --echo End of 5.0 tests.