• Mattias Jonsson's avatar
    Bug#14621190: HA_INNOBASE::INDEX_NEXT SKIPS A RECORD IF PREVIOUS · 6ca4be9c
    Mattias Jonsson authored
    INDEX_READ_MAP HAD NO MATCH
    
    If index_read_map is called for exact search and no matching records
    exists it will position the cursor on the next record, but still having the
    relative position to BTR_PCUR_ON.
    This will make a call for index_next to read yet another next record,
    instead of returning the record the cursor points to.
    
    Fixed by setting pcur->rel_pos = BTR_PCUR_BEFORE if an exact
    [prefix] search is done, but failed.
    
    Also avoids optimistic restoration if rel_pos != BTR_PCUR_ON,
    since btr_cur may be different than old_rec.
    
    rb#3324, approved by Marko and Jimmy
    6ca4be9c
btr0pcur.c 17 KB