summaryrefslogtreecommitdiff
path: root/sql/log.cc
diff options
context:
space:
mode:
Diffstat (limited to 'sql/log.cc')
-rw-r--r--sql/log.cc8
1 files changed, 6 insertions, 2 deletions
diff --git a/sql/log.cc b/sql/log.cc
index e61c33ec728..83201f7688e 100644
--- a/sql/log.cc
+++ b/sql/log.cc
@@ -11245,8 +11245,12 @@ Recovery_context::handle_maybe_committed(xid_recovery_member **ptr_member,
DBUG_ASSERT(*ha_offset_max <= last_gtid_coord);
DBUG_ASSERT(member->in_engine_prepare >= member->engines_no_binlog);
DBUG_ASSERT(last_gtid_engines_no_binlog >= member->engines_no_binlog);
- if (last_gtid_engines == 1 ||
- last_gtid_engines_no_binlog >
+
+ /*
+ Check if the transaction has at least one commmitted branch
+ which can be only by an no-binlog-offset engine.
+ */
+ if (last_gtid_engines_no_binlog >
(member->in_engine_prepare - member->engines_no_binlog))
{
member->decided_to_commit= true; // exists a committed branch