summaryrefslogtreecommitdiff
path: root/sql/sys_vars.ic
diff options
context:
space:
mode:
authorSergey Vojtovich <svoj@mariadb.org>2019-03-18 19:18:54 +0400
committerSergey Vojtovich <svoj@mariadb.org>2019-05-03 16:40:58 +0400
commita7adc2ce1680f00635b8241202066fd5542d286f (patch)
tree78888bd51d3a47ce3393a4b3aa6728832a7167cc /sql/sys_vars.ic
parent47bd06d55ec211bc4d05d616a0833629504c7edf (diff)
downloadmariadb-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.ic18
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;