• Marko Mäkelä's avatar
    MDEV-12353: Reduce log volume by an UNDO_INIT record · 86f262f1
    Marko Mäkelä authored
    We introduce an EXTENDED log record for initializing an undo log page.
    The size of the record will be 2 bytes plus the optional page identifier.
    The entire undo page will be initialized, except the space that is
    already reserved for TRX_UNDO_SEG_HDR in trx_undo_seg_create().
    
    mtr_t::undo_create(): Write the UNDO_INIT record.
    
    trx_undo_page_init(): Initialize the undo page corresponding to the
    UNDO_INIT record. Unlike the former MLOG_UNDO_INIT record, we will
    initialize almost the entire page, including initializing the
    TRX_UNDO_PAGE_NODE to an empty list node, so that the subsequent call
    to flst_init() will avoid writing log for the undo page.
    86f262f1
mtr0mtr.h 20.5 KB