summaryrefslogtreecommitdiff
path: root/storage/xtradb/trx/trx0trx.cc
diff options
context:
space:
mode:
Diffstat (limited to 'storage/xtradb/trx/trx0trx.cc')
-rw-r--r--storage/xtradb/trx/trx0trx.cc14
1 files changed, 14 insertions, 0 deletions
diff --git a/storage/xtradb/trx/trx0trx.cc b/storage/xtradb/trx/trx0trx.cc
index 8c4bc087038..f29eba0bec1 100644
--- a/storage/xtradb/trx/trx0trx.cc
+++ b/storage/xtradb/trx/trx0trx.cc
@@ -738,6 +738,13 @@ trx_resurrect_insert(
trx->no = TRX_ID_MAX;
}
+ /* trx_start_low() is not called with resurrect, so need to initialize
+ start time here.*/
+ if (trx->state == TRX_STATE_ACTIVE
+ || trx->state == TRX_STATE_PREPARED) {
+ trx->start_time = ut_time();
+ }
+
if (undo->dict_operation) {
trx_set_dict_operation(trx, TRX_DICT_OP_TABLE);
trx->table_id = undo->table_id;
@@ -825,6 +832,13 @@ trx_resurrect_update(
trx->no = TRX_ID_MAX;
}
+ /* trx_start_low() is not called with resurrect, so need to initialize
+ start time here.*/
+ if (trx->state == TRX_STATE_ACTIVE
+ || trx->state == TRX_STATE_PREPARED) {
+ trx->start_time = ut_time();
+ }
+
if (undo->dict_operation) {
trx_set_dict_operation(trx, TRX_DICT_OP_TABLE);
trx->table_id = undo->table_id;