diff options
author | Monty <monty@mariadb.org> | 2020-05-04 14:20:14 +0300 |
---|---|---|
committer | Monty <monty@mariadb.org> | 2020-05-23 12:29:10 +0300 |
commit | d1d472646d578608791dcd33c13ca6b2472e31b2 (patch) | |
tree | af65d684a565414beb5ca0f8fad79aa03adefdd3 /sql/sp_head.cc | |
parent | 7ae812cf2c904b5c070bccd91131f9fc16649bc4 (diff) | |
download | mariadb-git-d1d472646d578608791dcd33c13ca6b2472e31b2.tar.gz |
Change THD->transaction to a pointer to enable multiple transactions
All changes (except one) is of type
thd->transaction. -> thd->transaction->
thd->transaction points by default to 'thd->default_transaction'
This allows us to 'easily' have multiple active transactions for a
THD object, like when reading data from the mysql.proc table
Diffstat (limited to 'sql/sp_head.cc')
-rw-r--r-- | sql/sp_head.cc | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/sql/sp_head.cc b/sql/sp_head.cc index e61164e8e40..ce28e926a86 100644 --- a/sql/sp_head.cc +++ b/sql/sp_head.cc @@ -3426,8 +3426,8 @@ sp_lex_keeper::reset_lex_and_exec_core(THD *thd, uint *nextp, It's reset further in the common code part. It's merged with the saved parent's value at the exit of this func. */ - bool parent_modified_non_trans_table= thd->transaction.stmt.modified_non_trans_table; - thd->transaction.stmt.modified_non_trans_table= FALSE; + bool parent_modified_non_trans_table= thd->transaction->stmt.modified_non_trans_table; + thd->transaction->stmt.modified_non_trans_table= FALSE; DBUG_ASSERT(!thd->derived_tables); DBUG_ASSERT(thd->Item_change_list::is_empty()); /* @@ -3550,7 +3550,7 @@ sp_lex_keeper::reset_lex_and_exec_core(THD *thd, uint *nextp, Merge here with the saved parent's values what is needed from the substatement gained */ - thd->transaction.stmt.modified_non_trans_table |= parent_modified_non_trans_table; + thd->transaction->stmt.modified_non_trans_table |= parent_modified_non_trans_table; TRANSACT_TRACKER(add_trx_state_from_thd(thd)); |