diff options
author | Sergey Vojtovich <svoj@mariadb.org> | 2019-03-18 19:18:54 +0400 |
---|---|---|
committer | Sergey Vojtovich <svoj@mariadb.org> | 2019-05-03 16:40:58 +0400 |
commit | a7adc2ce1680f00635b8241202066fd5542d286f (patch) | |
tree | 78888bd51d3a47ce3393a4b3aa6728832a7167cc /sql/sys_vars.ic | |
parent | 47bd06d55ec211bc4d05d616a0833629504c7edf (diff) | |
download | mariadb-git-a7adc2ce1680f00635b8241202066fd5542d286f.tar.gz |
Allocate Transaction_state_tracker statically
One less new/delete per connection.
Part of MDEV-14984 - regression in connect performance
Diffstat (limited to 'sql/sys_vars.ic')
-rw-r--r-- | sql/sys_vars.ic | 18 |
1 files changed, 4 insertions, 14 deletions
diff --git a/sql/sys_vars.ic b/sql/sys_vars.ic index 7c375f16cdd..042b7c75da7 100644 --- a/sql/sys_vars.ic +++ b/sql/sys_vars.ic @@ -2219,14 +2219,6 @@ public: return TRUE; if (var->type == OPT_DEFAULT || !thd->in_active_multi_stmt_transaction()) { -#ifndef EMBEDDED_LIBRARY - Transaction_state_tracker *tst= NULL; - - if (thd->variables.session_track_transaction_info > TX_TRACK_NONE) - tst= (Transaction_state_tracker *) - thd->session_tracker.get_tracker(TRANSACTION_INFO_TRACKER); -#endif //EMBEDDED_LIBRARY - thd->tx_isolation= (enum_tx_isolation) var->save_result.ulonglong_value; #ifndef EMBEDDED_LIBRARY @@ -2250,13 +2242,11 @@ public: DBUG_ASSERT(0); return TRUE; } - if (tst) - tst->set_isol_level(thd, l); - } - else if (tst) - { - tst->set_isol_level(thd, TX_ISOL_INHERIT); + if (thd->variables.session_track_transaction_info > TX_TRACK_NONE) + thd->session_tracker.transaction_info.set_isol_level(thd, l); } + else if (thd->variables.session_track_transaction_info > TX_TRACK_NONE) + thd->session_tracker.transaction_info.set_isol_level(thd, TX_ISOL_INHERIT); #endif //EMBEDDED_LIBRARY } return FALSE; |