summaryrefslogtreecommitdiff
path: root/sql/transaction.cc
diff options
context:
space:
mode:
authorAleksey Midenkov <midenok@gmail.com>2018-04-25 23:33:08 +0300
committerSergei Golubchik <serg@mariadb.org>2018-05-12 10:16:46 +0200
commit68cad6aa243621f4f917ee67a3121946952e581c (patch)
tree52a16fdc6c202d4817a465485f2bdd4f58c6debe /sql/transaction.cc
parentfd4153f0835133ba92e30451feaf84ad1dd29283 (diff)
downloadmariadb-git-68cad6aa243621f4f917ee67a3121946952e581c.tar.gz
MDEV-16024 transaction_registry.begin_timestamp is wrong for explicit transactions
Store transaction start time in thd->transaction.start_time. THD::transaction_time() wraps over transaction.start_time taking into account current status of BEGIN.
Diffstat (limited to 'sql/transaction.cc')
-rw-r--r--sql/transaction.cc1
1 files changed, 1 insertions, 0 deletions
diff --git a/sql/transaction.cc b/sql/transaction.cc
index e81e2dba9c6..1c2820200d1 100644
--- a/sql/transaction.cc
+++ b/sql/transaction.cc
@@ -203,6 +203,7 @@ bool trans_begin(THD *thd, uint flags)
thd->transaction.all.reset();
thd->has_waiter= false;
thd->waiting_on_group_commit= false;
+ thd->transaction.start_time.reset(thd);
if (res)
DBUG_RETURN(TRUE);