• marko's avatar
    branches/5.1: Merge r4922 from branches/zip. · ec47414a
    marko authored
    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.
    ec47414a
fil0fil.c 119 KB