diff options
Diffstat (limited to 'storage/xtradb/trx/trx0roll.cc')
-rw-r--r-- | storage/xtradb/trx/trx0roll.cc | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/storage/xtradb/trx/trx0roll.cc b/storage/xtradb/trx/trx0roll.cc index 56b7120fa34..6f393511611 100644 --- a/storage/xtradb/trx/trx0roll.cc +++ b/storage/xtradb/trx/trx0roll.cc @@ -1,7 +1,7 @@ /***************************************************************************** Copyright (c) 1996, 2017, Oracle and/or its affiliates. All Rights Reserved. -Copyright (c) 2016, 2018, MariaDB Corporation. +Copyright (c) 2016, 2019, MariaDB Corporation. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software @@ -208,6 +208,7 @@ trx_rollback_for_mysql( return(trx_rollback_for_mysql_low(trx)); case TRX_STATE_PREPARED: + case TRX_STATE_PREPARED_RECOVERED: ut_ad(!trx_is_autocommit_non_locking(trx)); return(trx_rollback_for_mysql_low(trx)); @@ -260,6 +261,7 @@ trx_rollback_last_sql_stat_for_mysql( return(err); case TRX_STATE_PREPARED: + case TRX_STATE_PREPARED_RECOVERED: case TRX_STATE_COMMITTED_IN_MEMORY: /* The statement rollback is only allowed on an ACTIVE transaction, not a PREPARED or COMMITTED one. */ @@ -433,6 +435,7 @@ trx_rollback_to_savepoint_for_mysql( return(trx_rollback_to_savepoint_for_mysql_low( trx, savep, mysql_binlog_cache_pos)); case TRX_STATE_PREPARED: + case TRX_STATE_PREPARED_RECOVERED: case TRX_STATE_COMMITTED_IN_MEMORY: /* The savepoint rollback is only allowed on an ACTIVE transaction, not a PREPARED or COMMITTED one. */ @@ -722,6 +725,7 @@ fake_prepared: } return(FALSE); case TRX_STATE_PREPARED: + case TRX_STATE_PREPARED_RECOVERED: goto func_exit; case TRX_STATE_NOT_STARTED: break; |