• unknown's avatar
    WL#3023 (Use locks in a statement-like manner): · 41f7d138
    unknown authored
      Table maps are now written on aquiring locks to tables and released
      at the end of each logical statement.
    
    
    mysql-test/extra/binlog_tests/ctype_cp932.test:
      Disabling cleanup code
    mysql-test/r/binlog_row_blackhole.result:
      Result change
    mysql-test/r/binlog_row_mix_innodb_myisam.result:
      Result change
    mysql-test/r/binlog_stm_ctype_cp932.result:
      Result change
    mysql-test/r/rpl_row_charset.result:
      Result change
    mysql-test/r/rpl_row_create_table.result:
      Result change
    mysql-test/t/rpl_row_create_table.test:
      Binlog position change
    sql/handler.cc:
      Writing table map after external_lock()
    sql/handler.h:
      Adding class for table operation hooks.
    sql/log.cc:
      Adding binlog_write_table_map() to THD.
      Removing write_table_map() from MYSQL_LOG.
    sql/log.h:
      Minor interface changes to move table map writing.
    sql/log_event.cc:
      Removing pre-allocation of memory for buffers.
      Allowing ULONG_MAX as table id denoting an event to ignore (only used to transfer flags).
      Adding code to collect tables while seeing table maps and lock collected tables
      when seeing a binrow event.
      Debriding code as a result of the above changes.
    sql/log_event.h:
      Minor interface changes.
    sql/mysql_priv.h:
      Adding hooks argument to create_table_from_items().
    sql/parse_file.cc:
      Minor fix to avoid crash in debug printout.
    sql/rpl_rli.h:
      Adding list of tables to lock to RLI structure.
    sql/slave.cc:
      Using list of tables to lock from RLI structure.
    sql/sql_acl.cc:
      Removing redundant pending events flush.
    sql/sql_base.cc:
      Moving pending event flush.
      Using flag to guard to clear statement transaction only if this is the original
      open tables state.
    sql/sql_class.cc:
      Adding flag for open tables state.
      Removing redundant pending events flushes.
      Write a dummy event to indicate that the tables to lock should be emptied
      on the slave.
    sql/sql_class.h:
      Adding open tables state flags.
      Adding binlog_write_table_map() function to THD.
      Changes to select_create() to support new locking scheme.
    sql/sql_insert.cc:
      Adding rollback of statement transaction on error. It can now contain
      events after locking tables.
    sql/sql_load.cc:
      Removing redundant pending event flush.
    sql/sql_table.cc:
      Adding hooks argument to create_table_from_items().
      Calling prelock hook before starting to lock tables.
    sql/sql_update.cc:
      Removing a compiler warning.
    sql/table.h:
      Minor changes.
    41f7d138
handler.cc 84.9 KB