summaryrefslogtreecommitdiff
path: root/sql/sp_head.cc
diff options
context:
space:
mode:
authorMonty <monty@mariadb.org>2020-05-04 14:20:14 +0300
committerMonty <monty@mariadb.org>2020-05-23 12:29:10 +0300
commitd1d472646d578608791dcd33c13ca6b2472e31b2 (patch)
treeaf65d684a565414beb5ca0f8fad79aa03adefdd3 /sql/sp_head.cc
parent7ae812cf2c904b5c070bccd91131f9fc16649bc4 (diff)
downloadmariadb-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.cc6
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));