• Marko Mäkelä's avatar
    Bug#12547647 UPDATE LOGGING COULD EXCEED LOG PAGE SIZE - take 2 · 380e7bab
    Marko Mäkelä authored
    The original fix was accidentally pushed to mysql-5.1 after the 5.1.59
    clone-off in bzr revision id
    marko.makela@oracle.com-20110829081642-z0w992a0mrc62s6w with thne fix
    of Bug#12704861 Corruption after a crash during BLOB update.
    It was pushed separately to mysql-5.5 in bzr revision id
    marko.makela@oracle.com-20110901184804-2901f6qmuro3jas8.
    
    trx_undo_report_row_operation(): If the page for which the undo log
    was too big was empty, commit and start the mini-transaction before
    acquiring the rollback segment mutex and freeing the undo page. This
    is necessary, because the mini-transaction may be holding lower-order
    latches in the levels SYNC_FSP and SYNC_FSP_PAGE.
    
    trx_undo_erase_page_end(): Erase also empty pages, because
    trx_undo_report_row_operation() needs to commit the mini-transaction
    before freeing the empty page.
    
    rb:756 approved by Sunny Bains
    380e7bab
trx0rec.c 45.8 KB