Commit 30beae25 authored by unknown's avatar unknown
Browse files

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

into mysql.com:/Users/kent/mysql/bk/mysql-5.0


mysql-test/r/sp.result:
  Auto merged
mysql-test/t/sp.test:
  Auto merged
sql/sp_head.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
parents ed8a8acd 2883e932
Loading
Loading
Loading
Loading
+6 −5
Original line number Diff line number Diff line
@@ -2152,6 +2152,8 @@ static void dump_table(char *table, char *db)
      for (i = 0; i < mysql_num_fields(res); i++)
      {
        int is_blob;
        ulong length= lengths[i];

	if (!(field = mysql_fetch_field(res)))
	{
	  my_snprintf(query, QUERY_LENGTH,
@@ -2178,7 +2180,6 @@ static void dump_table(char *table, char *db)
                   field->type == MYSQL_TYPE_TINY_BLOB)) ? 1 : 0;
	if (extended_insert)
	{
	  ulong length = lengths[i];
	  if (i == 0)
	    dynstr_set(&extended_row,"(");
	  else
@@ -2268,19 +2269,19 @@ static void dump_table(char *table, char *db)
	      {
	        print_xml_tag1(md_result_file, "\t\t", "field name=",
			      field->name, "");
		print_quoted_xml(md_result_file, row[i], lengths[i]);
		print_quoted_xml(md_result_file, row[i], length);
		fputs("</field>\n", md_result_file);
	      }
	      else if (opt_hex_blob && is_blob)
	      else if (opt_hex_blob && is_blob && length)
              {
                /* sakaik got the idea to to provide blob's in hex notation. */
                char *ptr= row[i], *end= ptr+ lengths[i];
                char *ptr= row[i], *end= ptr + length;
                fputs("0x", md_result_file);
                for (; ptr < end ; ptr++)
		  fprintf(md_result_file, "%02X", *((uchar *)ptr));
              }
              else
                unescape(md_result_file, row[i], lengths[i]);
                unescape(md_result_file, row[i], length);
	    }
	    else
	    {
+2 −1
Original line number Diff line number Diff line
@@ -402,7 +402,7 @@ int chk_key(MI_CHECK *param, register MI_INFO *info)
      full_text_keys++;
    if (share->state.key_root[key] == HA_OFFSET_ERROR &&
	(info->state->records == 0 || keyinfo->flag & HA_FULLTEXT))
      continue;
      goto do_stat;
    if (!_mi_fetch_keypage(info,keyinfo,share->state.key_root[key],
                           DFLT_INIT_HITS,info->buff,0))
    {
@@ -498,6 +498,7 @@ int chk_key(MI_CHECK *param, register MI_INFO *info)
	     param->max_level);
    all_keydata+=param->keydata; all_totaldata+=param->totaldata; key_totlength+=length;

do_stat:
    if (param->testflag & T_STATISTICS)
      update_key_parts(keyinfo, rec_per_key_part, param->unique_count,
                       param->stats_method == MI_STATS_METHOD_IGNORE_NULLS?
+9 −0
Original line number Diff line number Diff line
@@ -30,6 +30,15 @@ check table t1;
Table	Op	Msg_type	Msg_text
test.t1	check	status	OK
drop table t1;
create table t1 (a mediumtext, fulltext key key1(a)) charset utf8 collate utf8_general_ci engine myisam;
insert into t1 values ('hello');
analyze table t1;
Table	Op	Msg_type	Msg_text
test.t1	analyze	status	OK
analyze table t1;
Table	Op	Msg_type	Msg_text
test.t1	analyze	status	Table is already up to date
drop table t1;
CREATE TABLE t1 (a int);
prepare stmt1 from "SELECT * FROM t1 PROCEDURE ANALYSE()";
execute stmt1;
+14 −0
Original line number Diff line number Diff line
@@ -1891,3 +1891,17 @@ t1 CREATE TABLE `t1` (
) ENGINE=BerkeleyDB DEFAULT CHARSET=latin1
drop table t1;
set storage_engine=MyISAM;
create table t1 (a varchar(255) character set utf8,
b varchar(255) character set utf8,
c varchar(255) character set utf8,
d varchar(255) character set utf8,
key (a,b,c,d)) engine=bdb;
drop table t1;
create table t1 (a varchar(255) character set utf8,
b varchar(255) character set utf8,
c varchar(255) character set utf8,
d varchar(255) character set utf8,
e varchar(255) character set utf8,
key (a,b,c,d,e)) engine=bdb;
ERROR 42000: Specified key was too long; max key length is 3072 bytes
End of 5.0 tests
+9 −0
Original line number Diff line number Diff line
@@ -33,3 +33,12 @@ id value
select * from t1 where id <=> value or value<=>id;
id	value
drop table t1,t2;
create table t1 (a bigint unsigned);
insert into t1 values (4828532208463511553);
select * from t1 where a = '4828532208463511553';
a
4828532208463511553
select * from t1 where a in ('4828532208463511553');
a
4828532208463511553
drop table t1;
Loading