• Mats Kindahl's avatar
    Bug #36763 · e3708c23
    Mats Kindahl authored
    TRUNCATE TABLE fails to replicate when stmt-based binlogging is not supported.
    
    There were two separate problems with the code, both of which are fixed with
    this patch:
    
    1. An error was printed by InnoDB for TRUNCATE TABLE in statement mode when
       the in isolation levels READ COMMITTED and READ UNCOMMITTED since InnoDB
       does permit statement-based replication for DML statements. However,
       the TRUNCATE TABLE is not transactional, but is a DDL, and should therefore
       be allowed to be replicated as a statement.
    
    2. The statement was not logged in mixed mode because of the error above, but
       the error was not reported to the client.
    
    This patch fixes the problem by treating TRUNCATE TABLE a DDL, that is, it is
    always logged as a statement and not reporting an error from InnoDB for TRUNCATE
    TABLE.
    e3708c23
binlog_truncate.test 795 Bytes