• unknown's avatar
    LOAD DATA INFILE is now replicated properly, except for cleanup on · 0dab9f40
    unknown authored
    Stop event and bugs the test suite could not catch
    Did some big restructuring of binlog event classes - most important
    change is that now each event class has exec_event method and one does
    not need to modify slave core code to add a new event. Slave code is
    now much smaller and easier to read
    
    
    
    include/my_sys.h:
      pre_code and arg in IO_CACHE
    mysql-test/r/rpl_log.result:
      updated result for LOAD DATA INFILE fix
    mysys/mf_iocache.c:
      pre_close routine and arg pointer for callback magic
    sql/log.cc:
      changed MYSQL_LOG so that write() method is for generic
      Log_event - removed redundant code
    sql/log_event.cc:
      added classes for file events
      added exec_event() method to all classes
      restructured/cleaned up event classes
    sql/log_event.h:
      added classes for file events
      added exec_event() method to all classes
      restructured/cleaned up event classes
    sql/mf_iocache.cc:
      pre_close/arg
    sql/mysqld.cc:
      added slave-load-tmpdir and old-rpl-compat options
    sql/slave.cc:
      changed exec_event() to use Log_event::exec_event()
      some routines are now needed in log_event.cc and cannot be static/inline
      general cleanup
    sql/slave.h:
      some routines are now extern because they are called from log_event.cc
    sql/sql_class.cc:
      added slave_net
    sql/sql_class.h:
      added slave_net to THD
      MYSQL_LOG::write now handles generic Log_event
    sql/sql_load.cc:
      changes for new handling of LOAD DATA INFILE replication
    sql/sql_repl.cc:
      added log_loaded_block() callback for IO_CACHE
    sql/sql_repl.h:
      added structure to pass args to IO_CACHE callback from mysql_load
    0dab9f40
log_event.h 17.5 KB