• Satya B's avatar
    Applying InnoDB snapshot 5.1-ss6344, part 2. Fixes BUG#41609 but does · 2f04df4a
    Satya B authored
    not address the printouts issue
    
    Detailed revision comments:
    
    r6310 | marko | 2009-12-15 15:23:54 +0200 (Tue, 15 Dec 2009) | 30 lines
    branches/5.1: Merge r4922 from branches/zip.
    
    This the fix for the first part of Bug #41609 from InnoDB Plugin to
    the built-in InnoDB in MySQL 5.1. This allows InnoDB Hot Backup to
    back up a database while the built-in InnoDB in MySQL 5.1 is creating
    temporary tables. (This fix does not address the printouts about
    missing .ibd files for temporary tables at InnoDB startup, which was
    committed to branches/zip in r6252.)
    
    rb://219 approved by Sunny Bains.
    
    branches/zip: Distinguish temporary tables in MLOG_FILE_CREATE.
    This addresses Mantis Issue #23 in InnoDB Hot Backup and some
    of MySQL Bug #41609.
    
    In MLOG_FILE_CREATE, we need to distinguish temporary tables, so that
    InnoDB Hot Backup can work correctly.  It turns out that we can do this
    easily, by using a bit of the previously unused parameter for page number.
    (The page number parameter of MLOG_FILE_CREATE has been written as 0 
    ever since MySQL 4.1, which introduced MLOG_FILE_CREATE.)
    
    MLOG_FILE_FLAG_TEMP: A flag for indicating a temporary table in
    the page number parameter of MLOG_FILE_ operations.
    
    fil_op_write_log(): Add the parameter log_flags.
    
    fil_op_log_parse_or_replay(): Add the parameter log_flags.
    Do not replay MLOG_FILE_CREATE when MLOG_FILE_FLAG_TEMP is set in log_flags.
    This only affects ibbackup --apply-log.  InnoDB itself never replays file
    operations.
    2f04df4a
fil0fil.h 26.9 KB