diff options
author | Alfranio Correia <alfranio.correia@sun.com> | 2010-04-26 10:02:29 +0100 |
---|---|---|
committer | Alfranio Correia <alfranio.correia@sun.com> | 2010-04-26 10:02:29 +0100 |
commit | a6d6ac3dbe88c473a0231452c6447d18022276a1 (patch) | |
tree | 7be6c5ebc708fc83a35cbbb9dd7f99f19c59149b /sql/sql_class.cc | |
parent | 53af29c086aada825d50e3518dbe112bd625ce51 (diff) | |
download | mariadb-git-a6d6ac3dbe88c473a0231452c6447d18022276a1.tar.gz |
BUG#53075 SBR: Strange warning around CONNECTION_ID
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.
Diffstat (limited to 'sql/sql_class.cc')
-rw-r--r-- | sql/sql_class.cc | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/sql/sql_class.cc b/sql/sql_class.cc index 88f67175d02..ef6dc6cf209 100644 --- a/sql/sql_class.cc +++ b/sql/sql_class.cc @@ -3736,6 +3736,7 @@ int THD::decide_logging_format(TABLE_LIST *tables) trans_non_trans_access_engines= (prev_trans != act_trans); multi_access_engine= TRUE; } + thread_temporary_used |= table->table->s->tmp_table; prev_access_table= table->table; } |