• unknown's avatar
    BUG#19033 (RBR: slave does not handle schema changes correctly): · 2195fead
    unknown authored
    Since checking table compatibility before locking the table, there were
    potential that a table could be locked that did not have a definition
    that was compatible with the table on the slave.
    
    This patch adds a check just after the table was locked to ensure that
    the table is (still) compatible with the table on the slave.
    
    
    sql/log.cc:
      Moving placement new operators to slave.h since they are used in
      several places in the replication code.
      Removing some compile warnings.
    sql/log_event.cc:
      Moving code to check table compatibility to after tables are locked for
      writing.
    sql/log_event.h:
      Doxygenifying comments.
      Copying error codes to Rows_log_event hierarchy since they are
      now used there as well.
    sql/rpl_utility.h:
      Doxygenifying some comments.
      Changing class table_def to copy the column types given to it.
      Adding structure RPL_TABLE_LIST as a subclass of TABLE_LIST to represent
      lists of tables for the slave.
    sql/slave.h:
      Adding placement new and delete operators since the slave uses them
      in several places.
    sql/sql_insert.cc:
      Removing a compiler warning.
    2195fead
log.cc 141 KB