• unknown's avatar
    BUG#54903 BINLOG statement toggles session variables · f225470b
    unknown authored
    When using BINLOG statement to execute rows log events, session variables
    foreign_key_checks and unique_checks are changed temporarily.  As each rows
    log event has their own special session environment and its own
    foreign_key_checks and unique_checks can be different from current session
    which executing the BINLOG statement. But these variables are not restored
    correctly after BINLOG statement. This problem will cause that the following
    statements fail or generate unexpected data.
    
    In this patch, code is added to backup and restore these two variables.
    So BINLOG statement will not affect current session's variables again.
    
    
    mysql-test/extra/binlog_tests/binlog.test:
      Add test to verify this patch.
    mysql-test/suite/binlog/r/binlog_row_binlog.result:
      Add test to verify this patch.
    mysql-test/suite/binlog/r/binlog_stm_binlog.result:
      Add test to verify this patch.
    sql/sql_binlog.cc:
      Add code to backup and restore thd->options.
    f225470b
sql_binlog.cc 7.39 KB