• unknown's avatar
    WL#3072 Maria Recovery · b01c9528
    unknown authored
    fixes for ma_test_recovery.pl to work in release builds too:
    - bugfix in maria_zerofill_index()
    - applying of LOGREC_INSERT_ROW_BLOBS now zeroes unused end of non-full
    blob page (a mutation of tail page when it takes >75% of maria_block_size)
    like write_full_pages() does.
    
    
    storage/maria/ma_blockrec.c:
      When we write a non-full blob page at run-time, we zero the rest of
      it (see write_full_pages()). We now do the same in
      _ma_apply_redo_insert_row_blobs(): this is consistent and helps
      having log-applying produce the same page as run-time.
    storage/maria/ma_check.c:
      maria_zerofill_index() was wrong: it didn't zero certain bytes
      because it believed that the count of relevant bytes is
      _ma_get_page_used(share, buff) + share->keypage_header,
      whereas it's only the first term.
    storage/maria/ma_pagecache.c:
      typo
    storage/maria/ma_pagecache.h:
      typo
    storage/maria/maria_chk.c:
      enable --zerofill-keep-lsn in all builds
    storage/maria/unittest/ma_test_recovery.pl:
      now even release builds can run ma_test_recovery.pl, because zerofill
      makes tables of this test (made by run-time and by log-applying)
      identical.
    b01c9528
maria_chk.c 66.7 KB