• unknown's avatar
    Added maria_zerofill() · 6cad0204
    unknown authored
    This is used to bzero all not used parts of the index pages and compact and bzero the not used parts of the data pages of block-record type
    Added --zerofill (-z) option to maria_chk (Mostly code from Jani)
    Added now table states ZEROFILLED and MOVEABLE
    Set state.changed with new states when things changes
    
    
    include/maria.h:
      Added maria_zerofill
    include/myisamchk.h:
      Added option for zerofill
      Extend testflag to be 64 to allow for more flags
    mysql-test/r/create.result:
      Updated results after merge
    mysql-test/r/maria.result:
      Updated results after merge
    mysys/my_getopt.c:
      Removed not used variable
    sql/sql_show.cc:
      Fixed wrong page type
    storage/maria/ma_blockrec.c:
      Renamed compact_page() to ma_compact_block_page() and made it global
      Always zerofill half filled blob pages
      Set share.state.changed on REDO
    storage/maria/ma_blockrec.h:
      Added _ma_compact_block_page()
    storage/maria/ma_check.c:
      Added maria_zerofill()
      This is used to bzero all not used parts of the index pages and compact and bzero the not used parts of the data pages of block-record type
      This gives the following benefits:
      - Table is smaller if compressed
      - All LSN are removed for transactinal tables and this makes them movable between systems
      Dont set table states of we are using --quick
      Changed log entry for repair to use 8 bytes for flag
    storage/maria/ma_delete.c:
      Simplify code
      Update state.changed
    storage/maria/ma_key_recover.c:
      Update state.changed
    storage/maria/ma_locking.c:
      Set uuid for file on first change if it's not set (table was cleared with zerofill)
    storage/maria/ma_loghandler.c:
      Updated log entry for REDO_REPAIR_TABLE
    storage/maria/ma_recovery.c:
      Updated log entry for REDO_REPAIR_TABLE (flag is now 8 bytes)
      Set new bits in state.changed
    storage/maria/ma_test_all.sh:
      Nicer output
    storage/maria/ma_test_recovery.expected:
      Updated results (now states flags are visible)
    storage/maria/ma_update.c:
      Update state.changed
    storage/maria/ma_write.c:
      Simplify code
      Set state.changed
    storage/maria/maria_chk.c:
      Added option --zerofill
      Added printing of states for MOVABLE and ZEROFILLED
      MYD -> MAD
      MYI -> MAI
    storage/maria/maria_def.h:
      Added states STATE_NOT_MOVABLE and STATE_NOT_ZEROFILLED
      Added prototype for new functions
    storage/maria/unittest/ma_test_all-t:
      More tests, including tests for zerofill
      Removed some not needed 'print' statements
    storage/maria/unittest/ma_test_loghandler_multithread-t.c:
      Smaller buffer to not trash devlopment machines totally
    6cad0204
maria_chk.c 64 KB