Commit a7ce02bc authored by unknown's avatar unknown
Browse files

Merge rurik.mysql.com:/home/igor/mysql-5.0

into rurik.mysql.com:/home/igor/dev/mysql-5.0-0

parents 87962d5e 7b20c33b
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -7,7 +7,7 @@ AC_INIT(sql/mysqld.cc)
AC_CANONICAL_SYSTEM
# The Docs Makefile.am parses this line!
# remember to also change ndb version below and update version.c in ndb
AM_INIT_AUTOMAKE(mysql, 5.0.12-beta)
AM_INIT_AUTOMAKE(mysql, 5.0.13-beta)
AM_CONFIG_HEADER(config.h)

PROTOCOL_VERSION=10
@@ -18,7 +18,7 @@ SHARED_LIB_VERSION=15:0:0
# ndb version
NDB_VERSION_MAJOR=5
NDB_VERSION_MINOR=0
NDB_VERSION_BUILD=12
NDB_VERSION_BUILD=13
NDB_VERSION_STATUS="beta"

# Set all version vars based on $VERSION. How do we do this more elegant ?
+17 −16
Original line number Diff line number Diff line
@@ -3101,16 +3101,16 @@ call p_bug11247(10)|
drop function f_bug11247|
drop procedure p_bug11247|
drop procedure if exists bug12168|
drop table if exists t1, t2|
create table t1 (a int)|
insert into t1 values (1),(2),(3),(4)|
create table t2 (a int)|
drop table if exists t3, t4|
create table t3 (a int)|
insert into t3 values (1),(2),(3),(4)|
create table t4 (a int)|
create procedure bug12168(arg1 char(1))
begin
declare b, c integer;
if arg1 = 'a' then
begin
declare c1 cursor for select a from t1 where a % 2;
declare c1 cursor for select a from t3 where a % 2;
declare continue handler for not found set b = 1;
set b = 0;
open c1;
@@ -3119,14 +3119,14 @@ fetch c1 into c;
if (b = 1) then
leave c1_repeat;
end if;
insert into t2 values (c);
insert into t4 values (c);
until b = 1
end repeat;
end;
end if;
if arg1 = 'b' then
begin
declare c2 cursor for select a from t1 where not a % 2;
declare c2 cursor for select a from t3 where not a % 2;
declare continue handler for not found set b = 1;
set b = 0;
open c2;
@@ -3135,35 +3135,36 @@ fetch c2 into c;
if (b = 1) then
leave c2_repeat;
end if;
insert into t2 values (c);
insert into t4 values (c);
until b = 1
end repeat;
end;
end if;
end|
call bug12168('a')|
select * from t2|
select * from t4|
a
1
3
truncate t2|
truncate t4|
call bug12168('b')|
select * from t2|
select * from t4|
a
2
4
truncate t2|
truncate t4|
call bug12168('a')|
select * from t2|
select * from t4|
a
1
3
truncate t2|
truncate t4|
call bug12168('b')|
select * from t2|
select * from t4|
a
2
4
truncate t2|
truncate t4|
drop table t3, t4|
drop procedure if exists bug12168|
drop table t1,t2;
+17 −16
Original line number Diff line number Diff line
@@ -3934,20 +3934,20 @@ drop procedure p_bug11247|
#
--disable_warnings
drop procedure if exists bug12168|
drop table if exists t1, t2|
drop table if exists t3, t4|
--enable_warnings

create table t1 (a int)|
insert into t1 values (1),(2),(3),(4)|
create table t3 (a int)|
insert into t3 values (1),(2),(3),(4)|

create table t2 (a int)|
create table t4 (a int)|

create procedure bug12168(arg1 char(1))
begin
  declare b, c integer;
  if arg1 = 'a' then
    begin
      declare c1 cursor for select a from t1 where a % 2;
      declare c1 cursor for select a from t3 where a % 2;
      declare continue handler for not found set b = 1;
      set b = 0;
      open c1;
@@ -3957,14 +3957,14 @@ begin
          leave c1_repeat;
        end if;

        insert into t2 values (c);
        insert into t4 values (c);
        until b = 1
      end repeat;
    end;
  end if;
  if arg1 = 'b' then
    begin
      declare c2 cursor for select a from t1 where not a % 2;
      declare c2 cursor for select a from t3 where not a % 2;
      declare continue handler for not found set b = 1;
      set b = 0;
      open c2;
@@ -3974,7 +3974,7 @@ begin
          leave c2_repeat;
        end if;

        insert into t2 values (c);
        insert into t4 values (c);
        until b = 1
      end repeat;
    end;
@@ -3982,17 +3982,18 @@ begin
end|

call bug12168('a')|
select * from t2|
truncate t2|
select * from t4|
truncate t4|
call bug12168('b')|
select * from t2|
truncate t2|
select * from t4|
truncate t4|
call bug12168('a')|
select * from t2|
truncate t2|
select * from t4|
truncate t4|
call bug12168('b')|
select * from t2|
truncate t2|
select * from t4|
truncate t4|
drop table t3, t4|
drop procedure if exists bug12168|

#
+10 −5
Original line number Diff line number Diff line
@@ -1328,14 +1328,19 @@ Query_log_event::Query_log_event(const char* buf, uint event_len,
    }
  }
  
#if !defined(MYSQL_CLIENT) && defined(HAVE_QUERY_CACHE)
  if (!(start= data_buf = (char*) my_malloc(catalog_len + 1 +
                                            time_zone_len + 1 +
                                            data_len + 1
#if !defined(MYSQL_CLIENT) && defined(HAVE_QUERY_CACHE)
					    + QUERY_CACHE_FLAGS_SIZE +
					    db_len + 1
                                            data_len + 1 +
					    QUERY_CACHE_FLAGS_SIZE +
					    db_len + 1,
					    MYF(MY_WME))))
#else
  if (!(start= data_buf = (char*) my_malloc(catalog_len + 1 +
                                            time_zone_len + 1 +
                                            data_len + 1,
					    MYF(MY_WME))))
#endif
					    , MYF(MY_WME))))
      DBUG_VOID_RETURN;
  if (catalog_len)                                  // If catalog is given
  {
+14 −4
Original line number Diff line number Diff line
@@ -3763,8 +3763,13 @@ store_top_level_join_columns(THD *thd, TABLE_LIST *table_ref,
                             TABLE_LIST *left_neighbor,
                             TABLE_LIST *right_neighbor)
{
  Query_arena *arena, backup;
  bool result= TRUE;

  DBUG_ENTER("store_top_level_join_columns");

  arena= thd->change_arena_if_needed(&backup);

  /* Call the procedure recursively for each nested table reference. */
  if (table_ref->nested_join)
  {
@@ -3797,7 +3802,7 @@ store_top_level_join_columns(THD *thd, TABLE_LIST *table_ref,
      if (cur_table_ref->nested_join &&
          store_top_level_join_columns(thd, cur_table_ref,
                                       cur_left_neighbor, cur_right_neighbor))
        DBUG_RETURN(TRUE);
        goto err;
      cur_right_neighbor= cur_table_ref;
    }
  }
@@ -3829,7 +3834,7 @@ store_top_level_join_columns(THD *thd, TABLE_LIST *table_ref,
      swap_variables(TABLE_LIST*, table_ref_1, table_ref_2);
    if (mark_common_columns(thd, table_ref_1, table_ref_2,
                            using_fields, &found_using_fields))
      DBUG_RETURN(TRUE);
      goto err;

    /*
      Swap the join operands back, so that we pick the columns of the second
@@ -3841,7 +3846,7 @@ store_top_level_join_columns(THD *thd, TABLE_LIST *table_ref,
    if (store_natural_using_join_columns(thd, table_ref, table_ref_1,
                                         table_ref_2, using_fields,
                                         found_using_fields))
      DBUG_RETURN(TRUE);
      goto err;

    /*
      Change NATURAL JOIN to JOIN ... ON. We do this for both operands
@@ -3872,7 +3877,12 @@ store_top_level_join_columns(THD *thd, TABLE_LIST *table_ref,
    else
      table_ref->next_name_resolution_table= NULL;
  }
  DBUG_RETURN(FALSE);
  result= FALSE; /* All is OK. */

err:
  if (arena)
    thd->restore_backup_item_arena(arena, &backup);
  DBUG_RETURN(result);
}