Commit e2edf024 authored by unknown's avatar unknown
Browse files

Merge with 4.1


BitKeeper/etc/logging_ok:
  auto-union
BitKeeper/triggers/post-commit:
  Auto merged
innobase/row/row0mysql.c:
  Auto merged
myisam/ft_boolean_search.c:
  Auto merged
mysql-test/r/ctype_ucs.result:
  Auto merged
mysql-test/r/distinct.result:
  Auto merged
mysql-test/r/fulltext.result:
  Auto merged
mysql-test/r/select.result:
  Auto merged
mysql-test/r/subselect.result:
  Auto merged
mysql-test/r/union.result:
  Auto merged
mysql-test/t/ctype_ucs.test:
  Auto merged
mysql-test/t/subselect.test:
  Auto merged
mysql-test/t/union.test:
  Auto merged
sql/item_strfunc.cc:
  Auto merged
sql/sql_cache.cc:
  Auto merged
sql/sql_class.cc:
  Auto merged
sql/sql_list.h:
  Auto merged
sql/examples/ha_archive.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_string.h:
  Auto merged
vio/viosocket.c:
  Auto merged
scripts/mysql_create_system_tables.sh:
  simple merge
sql/field.cc:
  simple merge
sql/item.h:
  simple merge
sql/sql_lex.h:
  simple merge
sql/sql_yacc.yy:
  Merge
  (join_table_list was not comptely merged. Need to run test to know how things works...)
sql/table.cc:
  Keep code from 5.0, except delted one not needed line
strings/ctype-ucs2.c:
  Auto merge
parents 67b16d20 e1099fac
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -222,6 +222,7 @@ serg@sergbook.mysql.com
sergefp@mysql.com
sinisa@rhols221.adsl.netsonic.fi
stewart@mysql.com
svoj@mysql.com
tfr@beta.frontier86.ee
tfr@indrek.tfr.cafe.ee
tfr@sarvik.tfr.cafe.ee
+0 −1
Original line number Diff line number Diff line
@@ -62,7 +62,6 @@ From: $FROM
To: $INTERNALS
Subject: bk commit into $VERSION tree ($CHANGESET)$BS
$BH

Below is the list of changes that have just been committed into a local
$VERSION repository of $USER. When $USER does a push these changes will
be propagated to the main repository and, within 24 hours after the
+11 −7
Original line number Diff line number Diff line
@@ -71,9 +71,11 @@ void Querycache_stream::store_int(uint i)
    cur_data+= 4;
    return;
  }
  memcpy(cur_data, &i, rest_len);
  char buf[4];
  int4store(buf, i);
  memcpy(cur_data, buf, rest_len);
  use_next_block();
  memcpy(cur_data, ((byte*)&i)+rest_len, 4-rest_len);
  memcpy(cur_data, buf+rest_len, 4-rest_len);
  cur_data+= 4-rest_len;
}

@@ -186,10 +188,12 @@ uint Querycache_stream::load_int()
    cur_data+= 4;
    return result;
  }
  memcpy(&result, cur_data, rest_len);
  char buf[4];
  memcpy(buf, cur_data, rest_len);
  use_next_block();
  memcpy(((byte*)&result)+rest_len, cur_data, 4-rest_len);
  memcpy(buf+rest_len, cur_data, 4-rest_len);
  cur_data+= 4-rest_len;
  result= uint4korr(buf);
  return result;
}

@@ -270,10 +274,10 @@ int Querycache_stream::load_column(MEM_ROOT *alloc, char** column)
    return 0;
  }
  len--;
  if (!(*column= (char *)alloc_root(alloc, len + 4 + 1)))
  if (!(*column= (char *)alloc_root(alloc, len + sizeof(uint) + 1)))
    return 1;
  int4store(*column, len);
  (*column)+= 4;
  *((uint*)*column)= len;
  (*column)+= sizeof(uint);
  load_str_only(*column, len);
  return 1;
}
+14 −22
Original line number Diff line number Diff line
@@ -436,32 +436,24 @@ static int _ftb_strstr(const byte *s0, const byte *e0,
                const byte *s1, const byte *e1,
                CHARSET_INFO *cs)
{
  const byte *p0, *p1;
  my_bool s_after, e_before;

  s_after=true_word_char(cs, s1[0]);
  e_before=true_word_char(cs, e1[-1]);
  p0=s0;
  const byte *p0= s0;
  my_bool s_after= true_word_char(cs, s1[0]);
  my_bool e_before= true_word_char(cs, e1[-1]);
  uint p0_len;
  my_match_t m[2];

  while (p0 < e0)
  {
    while (p0 < e0 && cs->to_upper[(uint) (uchar) *p0++] !=
           cs->to_upper[(uint) (uchar) *s1])
      /* no-op */;
    if (p0 >= e0)
      return 0;

    if (s_after && p0-1 > s0 && true_word_char(cs, p0[-2]))
      continue;

    p1=s1+1;
    while (p0 < e0 && p1 < e1 && cs->to_upper[(uint) (uchar) *p0] ==
           cs->to_upper[(uint) (uchar) *p1])
      p0++, p1++;
    if (p1 == e1 && (!e_before || p0 == e0 || !true_word_char(cs, p0[0])))
      return 1;
    if (cs->coll->instr(cs, p0, e0 - p0, s1, e1 - s1, m, 2) != 2)
      return(0);
    if ((!s_after || p0 + m[1].beg == s0 || !true_word_char(cs, p0[m[1].beg-1])) &&
        (!e_before || p0 + m[1].end == e0 || !true_word_char(cs, p0[m[1].end])))
      return(1);
    p0+= m[1].beg;
    p0+= (p0_len= my_mbcharlen(cs, *(uchar *)p0)) ? p0_len : 1;
  }
  return 0;

  return(0);
}


+4 −4
Original line number Diff line number Diff line
@@ -77,7 +77,7 @@ int mi_preload(MI_INFO *info, ulonglong key_map, my_bool ignore_leaves)
    /* Read the next block of index file into the preload buffer */
    if ((my_off_t) length > (key_file_length-pos))
      length= (ulong) (key_file_length-pos);
    if (my_pread(share->kfile, (byte*) buff, length, pos, MYF(MY_FAE)))
    if (my_pread(share->kfile, (byte*) buff, length, pos, MYF(MY_FAE|MY_FNABP)))
      goto err;

    if (ignore_leaves)
Loading