19 #include "myisamdef.h"
30 int mi_rsame_with_pos(
MI_INFO *info, uchar *
record,
int inx, my_off_t filepos)
32 DBUG_ENTER(
"mi_rsame_with_pos");
33 DBUG_PRINT(
"enter",(
"index: %d filepos: %ld", inx, (
long) filepos));
36 (inx >= 0 && ! mi_is_key_active(info->s->state.key_map, inx)))
38 DBUG_RETURN(my_errno=HA_ERR_WRONG_INDEX);
41 info->update&= (HA_STATE_CHANGED | HA_STATE_ROW_CHANGED);
42 if ((*info->s->read_rnd)(info,record,filepos,0))
44 if (my_errno == HA_ERR_RECORD_DELETED)
45 my_errno=HA_ERR_KEY_NOT_FOUND;
46 DBUG_RETURN(my_errno);
48 info->lastpos=filepos;
52 info->lastkey_length=_mi_make_key(info,(uint) inx,info->lastkey,record,
54 info->update|=HA_STATE_KEY_CHANGED;