MDEV-22206 Assertion "heap_no == ULINT_UNDEFINED" in trx0i_s.cc
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.
Showing
Please register or sign in to comment