Commit c795511c authored by unknown's avatar unknown
Browse files

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

into mysql.com:/home/pem/work/mysql-5.0

parents 279880c2 83a8ee38
Loading
Loading
Loading
Loading
+31 −0
Original line number Diff line number Diff line
@@ -667,6 +667,8 @@ delete from t1|
drop table if exists t3|
create table t3 ( s char(16), d int)|
call into_test4()|
Warnings:
Warning	1329	No data to FETCH
select * from t3|
s	d
into4	NULL
@@ -1792,7 +1794,12 @@ end if;
insert into t4 values (2, rc, t3);
end|
call bug1863(10)|
Warnings:
Note	1051	Unknown table 'temp_t1'
Warning	1329	No data to FETCH
call bug1863(10)|
Warnings:
Warning	1329	No data to FETCH
select * from t4|
f1	rc	t3
2	0	NULL
@@ -2090,7 +2097,11 @@ begin
end|
call bug4579_1()|
call bug4579_1()|
Warnings:
Warning	1329	No data to FETCH
call bug4579_1()|
Warnings:
Warning	1329	No data to FETCH
drop procedure bug4579_1|
drop procedure bug4579_2|
drop table t3|
@@ -3010,4 +3021,24 @@ select @x|
@x
2005
drop function bug8861|
drop procedure if exists bug9004_1|
drop procedure if exists bug9004_2|
create procedure bug9004_1(x char(16))
begin
insert into t1 values (x, 42);
insert into t1 values (x, 17);
end|
create procedure bug9004_2(x char(16))
call bug9004_1(x)|
call bug9004_1('12345678901234567')|
Warnings:
Warning	1265	Data truncated for column 'id' at row 1
Warning	1265	Data truncated for column 'id' at row 2
call bug9004_2('12345678901234567890')|
Warnings:
Warning	1265	Data truncated for column 'id' at row 1
Warning	1265	Data truncated for column 'id' at row 2
delete from t1|
drop procedure bug9004_1|
drop procedure bug9004_2|
drop table t1,t2;
+24 −0
Original line number Diff line number Diff line
@@ -3700,6 +3700,30 @@ select @x|
drop function bug8861|


#
# BUG#9004: Inconsistent behaviour of SP re. warnings
#
--disable_warnings
drop procedure if exists bug9004_1|
drop procedure if exists bug9004_2|
--enable_warnings
create procedure bug9004_1(x char(16))
begin
  insert into t1 values (x, 42);
  insert into t1 values (x, 17);
end|
create procedure bug9004_2(x char(16))
  call bug9004_1(x)|

# Truncation warnings expected...
call bug9004_1('12345678901234567')|
call bug9004_2('12345678901234567890')|

delete from t1|
drop procedure bug9004_1|
drop procedure bug9004_2|


#
# BUG#NNNN: New bug synopsis
#
+1 −1
Original line number Diff line number Diff line
@@ -113,7 +113,7 @@ MYSQL_ERROR *push_warning(THD *thd, MYSQL_ERROR::enum_warning_level level,
      !(thd->options & OPTION_SQL_NOTES))
    DBUG_RETURN(0);

  if (thd->query_id != thd->warn_id)
  if (thd->query_id != thd->warn_id && !thd->spcont)
    mysql_reset_errors(thd, 0);
  thd->got_warning= 1;

+4 −2
Original line number Diff line number Diff line
@@ -2268,9 +2268,11 @@ mysql_execute_command(THD *thd)
    A better approach would be to reset this for any commands
    that is not a SHOW command or a select that only access local
    variables, but for now this is probably good enough.
    Don't reset warnings when executing a stored routine.
  */
  if (all_tables || &lex->select_lex != lex->all_selects_list ||
      lex->spfuns.records || lex->spprocs.records)
  if ((all_tables || &lex->select_lex != lex->all_selects_list ||
       lex->spfuns.records || lex->spprocs.records) &&
      !thd->spcont)
    mysql_reset_errors(thd, 0);

#ifdef HAVE_REPLICATION