Commit 00852307 authored by unknown's avatar unknown
Browse files

Merge mysql.com:/home/mydev/mysql-4.1

into  mysql.com:/home/mydev/mysql-4.1-bug14980

parents bf8fdd38 fbe17c2a
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -340,7 +340,7 @@ enum ha_base_keytype {
#define HA_STATE_BUFF_SAVED	512	/* If current keybuff is info->buff */
#define HA_STATE_ROW_CHANGED	1024	/* To invalide ROW cache */
#define HA_STATE_EXTEND_BLOCK	2048
#define HA_STATE_RNEXT_SAME	4096	/* rnext_same was called */
#define HA_STATE_RNEXT_SAME	4096	/* rnext_same occupied lastkey2 */

enum en_fieldtype {
  FIELD_LAST=-1,FIELD_NORMAL,FIELD_SKIP_ENDSPACE,FIELD_SKIP_PRESPACE,
+2 −0
Original line number Diff line number Diff line
@@ -82,6 +82,8 @@ int mi_delete(MI_INFO *info,const byte *record)
                _mi_make_key(info,i,old_key,record,info->lastpos)))
          goto err;
      }
      /* The above changed info->lastkey2. Inform mi_rnext_same(). */
      info->update&= ~HA_STATE_RNEXT_SAME;
    }
  }

+4 −0
Original line number Diff line number Diff line
@@ -393,6 +393,10 @@ static int _mi_put_key_in_record(register MI_INFO *info, uint keynr,
	     (char*) &blob_ptr,sizeof(char*));
      memcpy(blob_ptr,key,length);
      blob_ptr+=length;

      /* The above changed info->lastkey2. Inform mi_rnext_same(). */
      info->update&= ~HA_STATE_RNEXT_SAME;

      _my_store_blob_length(record+keyseg->start,
			    (uint) keyseg->bit_start,length);
      key+=length;
+2 −2
Original line number Diff line number Diff line
@@ -102,4 +102,4 @@ int mi_rnext_same(MI_INFO *info, byte *buf)
    DBUG_RETURN(0);
  }
  DBUG_RETURN(my_errno);
} /* mi_rnext */
} /* mi_rnext_same */
+3 −0
Original line number Diff line number Diff line
@@ -30,6 +30,9 @@ my_bool mi_check_unique(MI_INFO *info, MI_UNIQUEDEF *def, byte *record,
  mi_unique_store(record+key->seg->start, unique_hash);
  _mi_make_key(info,def->key,key_buff,record,0);

  /* The above changed info->lastkey2. Inform mi_rnext_same(). */
  info->update&= ~HA_STATE_RNEXT_SAME;

  if (_mi_search(info,info->s->keyinfo+def->key,key_buff,MI_UNIQUE_HASH_LENGTH,
		 SEARCH_FIND,info->s->state.key_root[def->key]))
  {
Loading