• unknown's avatar
    Final part of WL#1717 "innodb/binlog consistency". This is to resolve · 3198ea57
    unknown authored
    a limitation of yesterday's implementation:
    if there was an unfinished transaction (COMMIT not typed), and some MyISAM tables were
    then updated, and then mysqld crashes, then at restart the server would use the too old
    binlog offset known by InnoDB to cut the binlog, thus cutting the successful MyISAM
    updates. We fix this by reporting the binlog offset into InnoDB even if InnoDB was not
    affected at all by the update.
    But the feature is still disabled until we decide if it can go into 4.1.3.
    
    
    sql/handler.cc:
      How we report the binlog offset into InnoDB:
      - if the update affected InnoDB, it will happen naturally
      - otherwise (for example MyISAM update not in an InnoDB transaction), we explicitely report it.
    sql/handler.h:
      removing warning (noticed this)
    sql/log.cc:
      clearer messages when truncating binlog.
    sql/mysql_priv.h:
      need to see opt_innodb_safe_binlog in handler.cc
    sql/mysqld.cc:
      No innodb-safe-binlog if no InnoDB.
      Updating message as now we work with MyISAM.
    3198ea57
log.cc 60.2 KB