1
0
mirror of https://github.com/MariaDB/server.git synced 2025-08-08 11:22:35 +03:00

Merge mysql.com:/usr/local/bk/mysql-5.0

into mysql.com:/home/pem/work/mysql-5.0
This commit is contained in:
unknown
2005-04-05 16:01:29 +02:00
3 changed files with 7 additions and 3 deletions

View File

@@ -1180,7 +1180,8 @@ Note 1305 PROCEDURE t1 does not exist
create procedure t1 () begin declare exit handler for sqlexception create procedure t1 () begin declare exit handler for sqlexception
select'a'; insert into t1 values (200); end;| select'a'; insert into t1 values (200); end;|
call t1(); call t1();
ERROR 22003: Out of range value adjusted for column 'col1' at row 1 a
a
select * from t1; select * from t1;
col1 col1
drop procedure t1; drop procedure t1;

View File

@@ -1040,7 +1040,6 @@ delimiter |;
create procedure t1 () begin declare exit handler for sqlexception create procedure t1 () begin declare exit handler for sqlexception
select'a'; insert into t1 values (200); end;| select'a'; insert into t1 values (200); end;|
delimiter ;| delimiter ;|
--error 1264
call t1(); call t1();
select * from t1; select * from t1;
drop procedure t1; drop procedure t1;

View File

@@ -561,7 +561,10 @@ sp_head::execute(THD *thd)
// Check if an exception has occurred and a handler has been found // 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 // Note: We havo to check even if ret==0, since warnings (and some
// errors don't return a non-zero value. // 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; uint hf;
@@ -579,6 +582,7 @@ sp_head::execute(THD *thd)
ctx->clear_handler(); ctx->clear_handler();
ctx->in_handler= TRUE; ctx->in_handler= TRUE;
thd->clear_error(); thd->clear_error();
thd->killed= THD::NOT_KILLED;
continue; continue;
} }
} }