File tree Expand file tree Collapse file tree 4 files changed +32
-6
lines changed Expand file tree Collapse file tree 4 files changed +32
-6
lines changed Original file line number Diff line number Diff line change @@ -309,8 +309,9 @@ trx_free_prepared(
309
309
trx_t * trx) /* !< in, own: trx object */
310
310
{
311
311
ut_a (trx_state_eq (trx, TRX_STATE_PREPARED)
312
- || (trx_state_eq (trx, TRX_STATE_ACTIVE)
313
- && trx->is_recovered
312
+ || (trx->is_recovered
313
+ && (trx_state_eq (trx, TRX_STATE_ACTIVE)
314
+ || trx_state_eq (trx, TRX_STATE_COMMITTED_IN_MEMORY))
314
315
&& (srv_read_only_mode
315
316
|| srv_force_recovery >= SRV_FORCE_NO_TRX_UNDO)));
316
317
ut_a (trx->magic_n == TRX_MAGIC_N);
Original file line number Diff line number Diff line change 1
1
/* ****************************************************************************
2
2
3
3
Copyright (c) 1996, 2016, Oracle and/or its affiliates. All Rights Reserved.
4
- Copyright (c) 2014, 2017, MariaDB Corporation. All Rights Reserved.
4
+ Copyright (c) 2014, 2017, MariaDB Corporation.
5
5
6
6
This program is free software; you can redistribute it and/or modify it under
7
7
the terms of the GNU General Public License as published by the Free Software
@@ -2015,6 +2015,12 @@ trx_undo_free_prepared(
2015
2015
switch (trx->update_undo ->state ) {
2016
2016
case TRX_UNDO_PREPARED:
2017
2017
break ;
2018
+ case TRX_UNDO_CACHED:
2019
+ case TRX_UNDO_TO_FREE:
2020
+ case TRX_UNDO_TO_PURGE:
2021
+ ut_ad (trx_state_eq (trx,
2022
+ TRX_STATE_COMMITTED_IN_MEMORY));
2023
+ /* fall through */
2018
2024
case TRX_UNDO_ACTIVE:
2019
2025
/* lock_trx_release_locks() assigns
2020
2026
trx->is_recovered=false */
@@ -2033,6 +2039,12 @@ trx_undo_free_prepared(
2033
2039
switch (trx->insert_undo ->state ) {
2034
2040
case TRX_UNDO_PREPARED:
2035
2041
break ;
2042
+ case TRX_UNDO_CACHED:
2043
+ case TRX_UNDO_TO_FREE:
2044
+ case TRX_UNDO_TO_PURGE:
2045
+ ut_ad (trx_state_eq (trx,
2046
+ TRX_STATE_COMMITTED_IN_MEMORY));
2047
+ /* fall through */
2036
2048
case TRX_UNDO_ACTIVE:
2037
2049
/* lock_trx_release_locks() assigns
2038
2050
trx->is_recovered=false */
Original file line number Diff line number Diff line change @@ -475,8 +475,9 @@ trx_free_prepared(
475
475
trx_t * trx) /* !< in, own: trx object */
476
476
{
477
477
ut_a (trx_state_eq (trx, TRX_STATE_PREPARED)
478
- || (trx_state_eq (trx, TRX_STATE_ACTIVE)
479
- && trx->is_recovered
478
+ || (trx->is_recovered
479
+ && (trx_state_eq (trx, TRX_STATE_ACTIVE)
480
+ || trx_state_eq (trx, TRX_STATE_COMMITTED_IN_MEMORY))
480
481
&& (srv_read_only_mode
481
482
|| srv_force_recovery >= SRV_FORCE_NO_TRX_UNDO)));
482
483
ut_a (trx->magic_n == TRX_MAGIC_N);
Original file line number Diff line number Diff line change 1
1
/* ****************************************************************************
2
2
3
3
Copyright (c) 1996, 2016, Oracle and/or its affiliates. All Rights Reserved.
4
- Copyright (c) 2014, 2017, MariaDB Corporation. All Rights Reserved.
4
+ Copyright (c) 2014, 2017, MariaDB Corporation.
5
5
6
6
This program is free software; you can redistribute it and/or modify it under
7
7
the terms of the GNU General Public License as published by the Free Software
@@ -2015,6 +2015,12 @@ trx_undo_free_prepared(
2015
2015
switch (trx->update_undo ->state ) {
2016
2016
case TRX_UNDO_PREPARED:
2017
2017
break ;
2018
+ case TRX_UNDO_CACHED:
2019
+ case TRX_UNDO_TO_FREE:
2020
+ case TRX_UNDO_TO_PURGE:
2021
+ ut_ad (trx_state_eq (trx,
2022
+ TRX_STATE_COMMITTED_IN_MEMORY));
2023
+ /* fall through */
2018
2024
case TRX_UNDO_ACTIVE:
2019
2025
/* lock_trx_release_locks() assigns
2020
2026
trx->is_recovered=false */
@@ -2033,6 +2039,12 @@ trx_undo_free_prepared(
2033
2039
switch (trx->insert_undo ->state ) {
2034
2040
case TRX_UNDO_PREPARED:
2035
2041
break ;
2042
+ case TRX_UNDO_CACHED:
2043
+ case TRX_UNDO_TO_FREE:
2044
+ case TRX_UNDO_TO_PURGE:
2045
+ ut_ad (trx_state_eq (trx,
2046
+ TRX_STATE_COMMITTED_IN_MEMORY));
2047
+ /* fall through */
2036
2048
case TRX_UNDO_ACTIVE:
2037
2049
/* lock_trx_release_locks() assigns
2038
2050
trx->is_recovered=false */
You can’t perform that action at this time.
0 commit comments