Loading client/mysql.cc +0 −31 Original line number Diff line number Diff line Loading @@ -2101,37 +2101,6 @@ static bool add_line(String &buffer,char *line,char *in_string, continue; } } else if (!*ml_comment && !*in_string && (end_of_line - pos) >= 10 && !my_strnncoll(charset_info, (uchar*) pos, 10, (const uchar*) "delimiter ", 10)) { // Flush previously accepted characters if (out != line) { buffer.append(line, (uint32) (out - line)); out= line; } // Flush possible comments in the buffer if (!buffer.is_empty()) { if (com_go(&buffer, 0) > 0) // < 0 is not fatal DBUG_RETURN(1); buffer.length(0); } /* Delimiter wants the get rest of the given line as argument to allow one to change ';' to ';;' and back */ buffer.append(pos); if (com_delimiter(&buffer, pos) > 0) DBUG_RETURN(1); buffer.length(0); break; } else if (!*ml_comment && !*in_string && is_prefix(pos, delimiter)) { // Found a statement. Continue parsing after the delimiter Loading configure.in +1 −1 Original line number Diff line number Diff line Loading @@ -10,7 +10,7 @@ AC_CANONICAL_SYSTEM # # When changing major version number please also check switch statement # in mysqlbinlog::check_master_version(). AM_INIT_AUTOMAKE(mysql, 5.1.26-rc) AM_INIT_AUTOMAKE(mysql, 5.1.27) AM_CONFIG_HEADER([include/config.h:config.h.in]) PROTOCOL_VERSION=10 Loading mysql-test/r/mysql.result +2 −0 Original line number Diff line number Diff line Loading @@ -38,6 +38,8 @@ t2 t3 Tables_in_test t1 delimiter 1 _ Test delimiter : from command line a Loading mysql-test/suite/bugs/r/rpl_bug33029.result 0 → 100644 +15 −0 Original line number Diff line number Diff line stop slave; drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9; reset master; reset slave; drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9; start slave; create table `t1` (`id` int not null auto_increment primary key); create trigger `trg` before insert on `t1` for each row begin end; set @@global.debug="+d,simulate_bug33029"; stop slave; start slave; insert into `t1` values (); select * from t1; id 1 mysql-test/suite/bugs/t/rpl_bug33029.test 0 → 100644 +25 −0 Original line number Diff line number Diff line # # Bug #36443 Server crashes when executing insert when insert trigger on table # # Emulating the former bug#33029 situation to see that there is no crash anymore. # source include/master-slave.inc; create table `t1` (`id` int not null auto_increment primary key); create trigger `trg` before insert on `t1` for each row begin end; sync_slave_with_master; set @@global.debug="+d,simulate_bug33029"; stop slave; start slave; connection master; insert into `t1` values (); sync_slave_with_master; select * from t1; Loading
client/mysql.cc +0 −31 Original line number Diff line number Diff line Loading @@ -2101,37 +2101,6 @@ static bool add_line(String &buffer,char *line,char *in_string, continue; } } else if (!*ml_comment && !*in_string && (end_of_line - pos) >= 10 && !my_strnncoll(charset_info, (uchar*) pos, 10, (const uchar*) "delimiter ", 10)) { // Flush previously accepted characters if (out != line) { buffer.append(line, (uint32) (out - line)); out= line; } // Flush possible comments in the buffer if (!buffer.is_empty()) { if (com_go(&buffer, 0) > 0) // < 0 is not fatal DBUG_RETURN(1); buffer.length(0); } /* Delimiter wants the get rest of the given line as argument to allow one to change ';' to ';;' and back */ buffer.append(pos); if (com_delimiter(&buffer, pos) > 0) DBUG_RETURN(1); buffer.length(0); break; } else if (!*ml_comment && !*in_string && is_prefix(pos, delimiter)) { // Found a statement. Continue parsing after the delimiter Loading
configure.in +1 −1 Original line number Diff line number Diff line Loading @@ -10,7 +10,7 @@ AC_CANONICAL_SYSTEM # # When changing major version number please also check switch statement # in mysqlbinlog::check_master_version(). AM_INIT_AUTOMAKE(mysql, 5.1.26-rc) AM_INIT_AUTOMAKE(mysql, 5.1.27) AM_CONFIG_HEADER([include/config.h:config.h.in]) PROTOCOL_VERSION=10 Loading
mysql-test/r/mysql.result +2 −0 Original line number Diff line number Diff line Loading @@ -38,6 +38,8 @@ t2 t3 Tables_in_test t1 delimiter 1 _ Test delimiter : from command line a Loading
mysql-test/suite/bugs/r/rpl_bug33029.result 0 → 100644 +15 −0 Original line number Diff line number Diff line stop slave; drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9; reset master; reset slave; drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9; start slave; create table `t1` (`id` int not null auto_increment primary key); create trigger `trg` before insert on `t1` for each row begin end; set @@global.debug="+d,simulate_bug33029"; stop slave; start slave; insert into `t1` values (); select * from t1; id 1
mysql-test/suite/bugs/t/rpl_bug33029.test 0 → 100644 +25 −0 Original line number Diff line number Diff line # # Bug #36443 Server crashes when executing insert when insert trigger on table # # Emulating the former bug#33029 situation to see that there is no crash anymore. # source include/master-slave.inc; create table `t1` (`id` int not null auto_increment primary key); create trigger `trg` before insert on `t1` for each row begin end; sync_slave_with_master; set @@global.debug="+d,simulate_bug33029"; stop slave; start slave; connection master; insert into `t1` values (); sync_slave_with_master; select * from t1;