• Marko Mäkelä's avatar
    MDEV-22206 Assertion "heap_no == ULINT_UNDEFINED" in trx0i_s.cc · 5bf9e0f8
    Marko Mäkelä authored
    commit d09aec7a (MDEV-19940)
    caused a regression. We made wait_lock_get_heap_no() return
    uint16_t instead of ulint, and we mostly replaced the previous
    magic value ULINT_UNDEFINED with 0. But, we failed to adjust
    some assertions. Furthermore, 0 is a valid although rare value
    for record locks. (Record locks can be temporarily stored on
    page infimum in some operations that involve multiple leaf pages.)
    
    Let us use 0xFFFF as the magic value. Valid heap numbers
    are limited to less than 9362 = innodb_page_size/(5+1+1)
    when using a minimal 1-byte PRIMARY KEY and a
    secondary index on a NULL or '' column.
    5bf9e0f8
trx0i_s.cc 39.6 KB