• unknown's avatar
    Simplify logging code a bit (to make code smaller and faster) · 720ea404
    unknown authored
    Moved duplicated code to inline function store_timestamp()
    Save thd->time_zone_used when logging to table as CSV internally cases it to be changed
    Added MYSQL_LOCK_IGNORE_FLUSH to log tables to avoid deadlock in case of flush tables.
    Mark log tables with TIMESTAMP_NO_AUTO_SET to avoid automatic timestamping
    Set TABLE->no_replicate on open
    
    
    
    client/mysqlbinlog.cc:
      Fixed several memory leaks (most in case of error situations)
    mysql-test/r/events_logs_tests.result:
      Made long_query_timeout smaller to ensure next query comes into log
    mysql-test/r/variables.result:
      Make it safe to run test with --log
    mysql-test/t/events_logs_tests.test:
      Made long_query_timeout smaller to ensure next query comes into log
    mysql-test/t/variables.test:
      Make it safe to run test with --log
    sql/field.cc:
      Moved duplicated code to inline function store_timestamp()
    sql/field.h:
      Moved duplicated code to inline function store_timestamp()
    sql/handler.cc:
      Reorder checks in likely order
      Simplify checks if we should do binary logging
      (no_replicate is set once and for all when table is opened)
    sql/log.cc:
      Save thd->time_zone_used as CVS internally cases it to be changed
      Use Field_timestamp->store_timestamp instead of automatic timestamps.
      This gives us correct timestamp even if thd->set_time() is not called (in case
      of connect) and we don't have to store thd->query_start_used anymore.
    sql/sql_base.cc:
      Removed not needed comment
      Moved LINT_INIT() to after declaration
      Renamed temporary variable to avoid compiler warning
      Added MYSQL_LOCK_IGNORE_FLUSH to log tables to avoid deadlock in case of flush tables.
      Mark log tables with TIMESTAMP_NO_AUTO_SET to avoid automatic timestamping
    sql/table.cc:
      Set TABLE->no_replicate on open
    720ea404
mysqlbinlog.cc 51.3 KB