Commit babaa74e authored by unknown's avatar unknown
Browse files

Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-5.0

into  mysql.com:/usr/home/ram/work/mysql-5.0


sql/sql_class.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
parents c9ef4091 f853fbc9
Loading
Loading
Loading
Loading
+24 −0
Original line number Diff line number Diff line
@@ -4046,4 +4046,28 @@ boo
2
drop procedure bug14643_1|
drop procedure bug14643_2|
drop procedure if exists bug14304|
drop table if exists t3, t4|
create table t3(a int primary key auto_increment)|
create table t4(a int primary key auto_increment)|
create procedure bug14304()
begin
insert into t3 set a=null;
insert into t4 set a=null;
insert into t4 set a=null;
insert into t4 set a=null;
insert into t4 set a=null;
insert into t4 set a=null;
insert into t4 select null as a;
insert into t3 set a=null;
insert into t3 set a=null;
select * from t3;
end|
call bug14304()|
a
1
2
3
drop procedure bug14304|
drop table t3, t4|
drop table t1,t2;
+31 −0
Original line number Diff line number Diff line
@@ -4823,6 +4823,37 @@ call bug14643_2()|
drop procedure bug14643_1|
drop procedure bug14643_2|

#
# BUG#14304: auto_increment field incorrect set in SP
#
--disable_warnings
drop procedure if exists bug14304|
drop table if exists t3, t4|
--enable_warnings

create table t3(a int primary key auto_increment)|
create table t4(a int primary key auto_increment)|

create procedure bug14304()
begin
  insert into t3 set a=null;
  insert into t4 set a=null;
  insert into t4 set a=null;
  insert into t4 set a=null;
  insert into t4 set a=null;
  insert into t4 set a=null;
  insert into t4 select null as a;
  
  insert into t3 set a=null;
  insert into t3 set a=null;
  
  select * from t3;
end|

call bug14304()|

drop procedure bug14304|
drop table t3, t4|

#
# BUG#NNNN: New bug synopsis
+1 −1
Original line number Diff line number Diff line
@@ -1069,7 +1069,7 @@ int sp_head::execute(THD *thd)
    }

    /* we should cleanup free_list and memroot, used by instruction */
    thd->free_items();
    thd->cleanup_after_query();
    free_root(&execute_mem_root, MYF(0));    

    /*
+2 −0
Original line number Diff line number Diff line
@@ -1949,6 +1949,7 @@ void THD::reset_sub_statement_state(Sub_statement_state *backup,
  backup->last_insert_id=  last_insert_id;
  backup->next_insert_id=  next_insert_id;
  backup->insert_id_used=  insert_id_used;
  backup->clear_next_insert_id= clear_next_insert_id;
  backup->limit_found_rows= limit_found_rows;
  backup->examined_row_count= examined_row_count;
  backup->sent_row_count=   sent_row_count;
@@ -2000,6 +2001,7 @@ void THD::restore_sub_statement_state(Sub_statement_state *backup)
  last_insert_id=   backup->last_insert_id;
  next_insert_id=   backup->next_insert_id;
  insert_id_used=   backup->insert_id_used;
  clear_next_insert_id= backup->clear_next_insert_id;
  limit_found_rows= backup->limit_found_rows;
  sent_row_count=   backup->sent_row_count;
  client_capabilities= backup->client_capabilities;
+1 −1
Original line number Diff line number Diff line
@@ -1090,7 +1090,7 @@ class Sub_statement_state
  ha_rows    cuted_fields, sent_row_count, examined_row_count;
  ulong client_capabilities;
  uint in_sub_stmt;
  bool enable_slow_log, insert_id_used;
  bool enable_slow_log, insert_id_used, clear_next_insert_id;
  my_bool no_send_ok;
  SAVEPOINT *savepoints;
};