• unknown's avatar
    4 small items in this: · d1571e50
    unknown authored
    - when we don't have in_addr_t, use uint32.
    - a forgotten initialization of slave_proxy_id in sql/log_event.cc (was not really "forgot", was
    "we needn't init it there", but there was one case where we needed...).
    - made slave_proxy_id always meaningful in THD and Log_event, so we can
    rely more on it (no need to test if it's meaningful). THD::slave_proxy_id
    is equal to THD::thread_id except for the slave SQL thread.
    - clean up the slave's temporary table (i.e. free their memory) when slave
    server shuts down.
    
    
    extra/resolveip.c:
      removed #define as it is simpler to put it in my_net.h
      (because we need the #define elsewhere)
    include/my_net.h:
      When in_addr_t is not defined, use uint32.
    libmysql/libmysql.c:
      using in_addr_t is more generic.
    libmysql/manager.c:
      using in_addr_t is more generic.
    mysql-test/t/rpl_chain_temp_table.test:
      comments
    sql/log_event.cc:
      * Had forgot to initialize slave_proxy_id in the event constructor (char* buf...).
      Initializing is in fact only needed for Create_file_log_event, because
      it uses slave_proxy_id even if it does not write an event to the binlog
      (it uses slave_proxy_id to write it to SQL-LOAD.info).
      * When we write events we now always write slave_proxy_id, which is now always
      meaningful (as thd->slave_proxy_id is now always meaningful, see change in
      sql_class.cc).
    sql/mini_client.cc:
      in_addr_t is more generic.
    sql/slave.cc:
      A RELAY_LOG_INFO method to free the slave's temporary tables from memory
      at slave's server shutdown.
      It is called by end_slave(), which is called by close_connections(),
      which is called when the server terminates
      (close_connections() is just before clean_up(); putting the call in 
      clean_up() was buggy, as active_mi is already deleted by close_connections().
    sql/slave.h:
      new method
    sql/sql_class.cc:
      By default we set THD::slave_proxy_id to THD::thread_id,
      so THD::slave_proxy_id is always meaningful (not 0).
      It's always the same as the thread id except for the slave
      SQL thread.
    d1571e50
slave.cc 106 KB