Loading include/my_base.h +1 −1 Original line number Diff line number Diff line Loading @@ -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, Loading myisam/mi_delete.c +2 −0 Original line number Diff line number Diff line Loading @@ -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; } } Loading myisam/mi_key.c +4 −0 Original line number Diff line number Diff line Loading @@ -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; Loading myisam/mi_rnext_same.c +2 −2 Original line number Diff line number Diff line Loading @@ -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 */ myisam/mi_unique.c +3 −0 Original line number Diff line number Diff line Loading @@ -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 Loading
include/my_base.h +1 −1 Original line number Diff line number Diff line Loading @@ -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, Loading
myisam/mi_delete.c +2 −0 Original line number Diff line number Diff line Loading @@ -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; } } Loading
myisam/mi_key.c +4 −0 Original line number Diff line number Diff line Loading @@ -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; Loading
myisam/mi_rnext_same.c +2 −2 Original line number Diff line number Diff line Loading @@ -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 */
myisam/mi_unique.c +3 −0 Original line number Diff line number Diff line Loading @@ -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