-
Mauritz Sundell authored
Problem ======= After adding support of 30'000 byte rows one assert was not updated. The faulty assert was inn Dbtup::shrink_tuple(): ndbassert((char*)dst_ptr <= ((char*)ptr) + 14140) The assert was actually also wrong with the old 14'000 byte rows. The size asserted should be not be greater than the maximal internal representation of row in Dbtup as an expanded tuple. Another faulty assert was found in Dbtup::calculate_free_list_for_alloc(): ndbassert(alloc_size <= MAX_TUPLE_SIZE_IN_WORDS); Which also should check against the biggest expanded tuple size. And that size should also be the guaranteed minimum size in the last free list of varpages. Solution ======== The asserts were corrected and the minimal size of last free list was set to the new constant MAX_EXPANDED_TUPLE_SIZE_IN_WORDS. Reviewed-by:
Mikael Ronström <mikael.ronstrom@oracle.com>
Mauritz Sundell authoredProblem ======= After adding support of 30'000 byte rows one assert was not updated. The faulty assert was inn Dbtup::shrink_tuple(): ndbassert((char*)dst_ptr <= ((char*)ptr) + 14140) The assert was actually also wrong with the old 14'000 byte rows. The size asserted should be not be greater than the maximal internal representation of row in Dbtup as an expanded tuple. Another faulty assert was found in Dbtup::calculate_free_list_for_alloc(): ndbassert(alloc_size <= MAX_TUPLE_SIZE_IN_WORDS); Which also should check against the biggest expanded tuple size. And that size should also be the guaranteed minimum size in the last free list of varpages. Solution ======== The asserts were corrected and the minimal size of last free list was set to the new constant MAX_EXPANDED_TUPLE_SIZE_IN_WORDS. Reviewed-by:
Mikael Ronström <mikael.ronstrom@oracle.com>
Loading