Commit ce55046f authored by svoj@mysql.com/april.(none)'s avatar svoj@mysql.com/april.(none)
Browse files

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

into  mysql.com:/home/svoj/devel/mysql/merge/mysql-5.0-engines
parents 03f4492b 4653cc49
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -57,9 +57,9 @@ int mi_status(MI_INFO *info, register MI_ISAMINFO *x, uint flag)

    x->keys	 	= share->state.header.keys;
    x->check_time	= share->state.check_time;
    x->mean_reclength	= info->state->records ?
      (ulong) ((info->state->data_file_length-info->state->empty)/
	       info->state->records) : (ulong) share->min_pack_length;
    x->mean_reclength= x->records ?
      (ulong) ((x->data_file_length - x->delete_length) / x->records) :
      (ulong) share->min_pack_length;
  }
  if (flag & HA_STATUS_ERRKEY)
  {
+3 −1
Original line number Diff line number Diff line
@@ -49,7 +49,7 @@ int mi_rkey(MI_INFO *info, byte *buf, int inx, const byte *key, uint key_len,
    key_buff=info->lastkey+info->s->base.max_key_length;
    pack_key_length= key_len;
    bmove(key_buff,key,key_len);
    last_used_keyseg= 0;
    last_used_keyseg= info->s->keyinfo[inx].seg + info->last_used_keyseg;
  }
  else
  {
@@ -61,6 +61,8 @@ int mi_rkey(MI_INFO *info, byte *buf, int inx, const byte *key, uint key_len,
				 key_len, &last_used_keyseg);
    /* Save packed_key_length for use by the MERGE engine. */
    info->pack_key_length= pack_key_length;
    info->last_used_keyseg= (uint16) (last_used_keyseg -
                                      info->s->keyinfo[inx].seg);
    DBUG_EXECUTE("key",_mi_print_key(DBUG_FILE, keyinfo->seg,
				     key_buff, pack_key_length););
  }
+1 −0
Original line number Diff line number Diff line
@@ -263,6 +263,7 @@ struct st_myisam_info {
  enum ha_rkey_function last_key_func;  /* CONTAIN, OVERLAP, etc */
  uint  save_lastkey_length;
  uint  pack_key_length;                /* For MYISAMMRG */
  uint16 last_used_keyseg;              /* For MyISAMMRG */
  int	errkey;				/* Got last error on this key */
  int   lock_type;			/* How database was locked */
  int   tmp_lock_type;			/* When locked by readinfo */
+4 −0
Original line number Diff line number Diff line
@@ -40,12 +40,14 @@ int myrg_rkey(MYRG_INFO *info,byte *buf,int inx, const byte *key,
{
  byte *key_buff;
  uint pack_key_length;
  uint16 last_used_keyseg;
  MYRG_TABLE *table;
  MI_INFO *mi;
  int err;
  DBUG_ENTER("myrg_rkey");
  LINT_INIT(key_buff);
  LINT_INIT(pack_key_length);
  LINT_INIT(last_used_keyseg);

  if (_myrg_init_queue(info,inx,search_flag))
    DBUG_RETURN(my_errno);
@@ -60,10 +62,12 @@ int myrg_rkey(MYRG_INFO *info,byte *buf,int inx, const byte *key,
      /* Get the saved packed key and packed key length. */
      key_buff=(byte*) mi->lastkey+mi->s->base.max_key_length;
      pack_key_length=mi->pack_key_length;
      last_used_keyseg= mi->last_used_keyseg;
    }
    else
    {
      mi->once_flags|= USE_PACKED_KEYS;
      mi->last_used_keyseg= last_used_keyseg;
      err=mi_rkey(mi,0,inx,key_buff,pack_key_length,search_flag);
    }
    info->last_used_table=table+1;
+7 −0
Original line number Diff line number Diff line
@@ -456,3 +456,10 @@ a FORMAT(MATCH(a) AGAINST('test1 test'),6)
test1	0.685267
DEALLOCATE PREPARE stmt;
DROP TABLE t1;
CREATE TABLE t1 (a VARCHAR(255), FULLTEXT(a));
SELECT * FROM t1 IGNORE INDEX(a) WHERE MATCH(a) AGAINST('test');
a
ALTER TABLE t1 DISABLE KEYS;
SELECT * FROM t1 WHERE MATCH(a) AGAINST('test');
ERROR HY000: Can't find FULLTEXT index matching the column list
DROP TABLE t1;
Loading