• Alfranio Correia's avatar
    BUG#53075 SBR: Strange warning around CONNECTION_ID · 68598c47
    Alfranio Correia authored
    Statements with CONNECTION_ID were forced to be kept in the transactional
    cache and by consequence non-transactional changes that were supposed to
    be flushed ahead of the transaction were kept in the transactional cache.
    
    This happened because after BUG#51894 any statement whose thd's
    thread_specific_used was set was kept in the transactional cache. The idea
    was to keep changes on temporary tables in the transactional cache. However,
    the thread_specific_used was set not only for statements that accessed
    temporary tables but also when the CONNECTION_ID was used.
    
    To fix the problem, we created a new variable to keep track of updates
    to temporary tables.
    
    
    mysql-test/suite/rpl/r/rpl_temp_temporary.result:
      Added a test case.
    mysql-test/suite/rpl/t/rpl_temp_temporary.test:
      Added a test case.
    sql/log_event.cc:
      Uses the thread_temporary_used to decide if a statement should
      be kept in the transactional cache or not.
    sql/sql_class.cc:
      Sets the thread_temporary_used while calling the decide_logging_format.
    sql/sql_class.h:
      Defines the thread_temporary_used.
    sql/sql_parse.cc:
      Resets the thread_temporary_used.
    68598c47
sql_class.cc 134 KB