• Marko Mäkelä's avatar
    MDEV-21205 Assertion failure in btr_sec_min_rec_mark · bb459416
    Marko Mäkelä authored
    In commit af5947f4
    the function btr_discard_page() is invoking btr_set_min_rec_mark()
    with the wrong buf_block_t* object. node_ptr is on merge_block,
    not block.
    
    btr_discard_page(): Remove the variables merge_page, page, and
    always refer to block->frame or merge_block->frame instead.
    Also, limit the scope of node_ptr and avoid duplicated conditions.
    
    btr_set_min_rec_mark(): Add a template parameter, so that the
    caller can specify whether the page is supposed to have a left sibling.
    Otherwise, the assertion (which was introduced in the same commit)
    would fail in btr_discard_page().
    bb459416
btr0btr.h 29.9 KB