Skip to content
  • Sven Sandberg's avatar
    ae750d61
    WL#7083 step 6.1. GTID-violations: Make ENFORCE_GTID_CONSISTENCY settable, allow WARN. · ae750d61
    Sven Sandberg authored
    @sql/rpl_gtid.h, @sql/rpl_gtid_misc.cc
    - Define the three allowed values for enforce-gtid-consistency.
    
    @sql/sys_vars.cc, @sql/sys_vars.h
    - Make enforce_gtid_consistency settable
    - Create a new class for enforce_gtid_consistency
    - Use global_sid_lock.wrlock when changing enforce_gtid_consistency.
    - Define check_super_outside_trx_outside_sf also when HAVE_REPLICATION
      is not defined, since enforce_gtid_consistency now uses it.
    
    @sql/binlog.cc:handle_gtid_consistency_violation
    - Implement new logic for when a GTID-violation generates an
    error/warning.
    
    @sql/binlog.cc:is_ddl_gtid_compatible, @sql/binlog.cc:is_dml_gtid_compatible
    - Use handle_gtid_consistency_violation to determine if an error/warning
    should be generated.
    
    @sql/binlog.cc:decide_logging_format,
    @sql/rpl_gtid_execution.cc:gtid_pre_statement_checks
    - Call is_[ddl|dml]_gtid_compatible regardless of
    enforce_gtid_consistency.
    
    @sql/share/errmsg-utf8.txt
    - Update error messages to be consistent with new logic.
    ae750d61
    WL#7083 step 6.1. GTID-violations: Make ENFORCE_GTID_CONSISTENCY settable, allow WARN.
    Sven Sandberg authored
    @sql/rpl_gtid.h, @sql/rpl_gtid_misc.cc
    - Define the three allowed values for enforce-gtid-consistency.
    
    @sql/sys_vars.cc, @sql/sys_vars.h
    - Make enforce_gtid_consistency settable
    - Create a new class for enforce_gtid_consistency
    - Use global_sid_lock.wrlock when changing enforce_gtid_consistency.
    - Define check_super_outside_trx_outside_sf also when HAVE_REPLICATION
      is not defined, since enforce_gtid_consistency now uses it.
    
    @sql/binlog.cc:handle_gtid_consistency_violation
    - Implement new logic for when a GTID-violation generates an
    error/warning.
    
    @sql/binlog.cc:is_ddl_gtid_compatible, @sql/binlog.cc:is_dml_gtid_compatible
    - Use handle_gtid_consistency_violation to determine if an error/warning
    should be generated.
    
    @sql/binlog.cc:decide_logging_format,
    @sql/rpl_gtid_execution.cc:gtid_pre_statement_checks
    - Call is_[ddl|dml]_gtid_compatible regardless of
    enforce_gtid_consistency.
    
    @sql/share/errmsg-utf8.txt
    - Update error messages to be consistent with new logic.
Loading