Loading mysql-test/r/strict.result +2 −1 Original line number Diff line number Diff line Loading @@ -1180,7 +1180,8 @@ Note 1305 PROCEDURE t1 does not exist create procedure t1 () begin declare exit handler for sqlexception select'a'; insert into t1 values (200); end;| call t1(); ERROR 22003: Out of range value adjusted for column 'col1' at row 1 a a select * from t1; col1 drop procedure t1; Loading mysql-test/t/strict.test +0 −1 Original line number Diff line number Diff line Loading @@ -1040,7 +1040,6 @@ delimiter |; create procedure t1 () begin declare exit handler for sqlexception select'a'; insert into t1 values (200); end;| delimiter ;| --error 1264 call t1(); select * from t1; drop procedure t1; Loading sql/sp_head.cc +5 −1 Original line number Diff line number Diff line Loading @@ -561,7 +561,10 @@ sp_head::execute(THD *thd) // Check if an exception has occurred and a handler has been found // Note: We havo to check even if ret==0, since warnings (and some // errors don't return a non-zero value. if (!thd->killed && ctx) // We also have to check even if thd->killed != 0, since some // errors return with this even when a handler has been found // (e.g. "bad data"). if (ctx) { uint hf; Loading @@ -579,6 +582,7 @@ sp_head::execute(THD *thd) ctx->clear_handler(); ctx->in_handler= TRUE; thd->clear_error(); thd->killed= THD::NOT_KILLED; continue; } } Loading Loading
mysql-test/r/strict.result +2 −1 Original line number Diff line number Diff line Loading @@ -1180,7 +1180,8 @@ Note 1305 PROCEDURE t1 does not exist create procedure t1 () begin declare exit handler for sqlexception select'a'; insert into t1 values (200); end;| call t1(); ERROR 22003: Out of range value adjusted for column 'col1' at row 1 a a select * from t1; col1 drop procedure t1; Loading
mysql-test/t/strict.test +0 −1 Original line number Diff line number Diff line Loading @@ -1040,7 +1040,6 @@ delimiter |; create procedure t1 () begin declare exit handler for sqlexception select'a'; insert into t1 values (200); end;| delimiter ;| --error 1264 call t1(); select * from t1; drop procedure t1; Loading
sql/sp_head.cc +5 −1 Original line number Diff line number Diff line Loading @@ -561,7 +561,10 @@ sp_head::execute(THD *thd) // Check if an exception has occurred and a handler has been found // Note: We havo to check even if ret==0, since warnings (and some // errors don't return a non-zero value. if (!thd->killed && ctx) // We also have to check even if thd->killed != 0, since some // errors return with this even when a handler has been found // (e.g. "bad data"). if (ctx) { uint hf; Loading @@ -579,6 +582,7 @@ sp_head::execute(THD *thd) ctx->clear_handler(); ctx->in_handler= TRUE; thd->clear_error(); thd->killed= THD::NOT_KILLED; continue; } } Loading