mirror of
https://github.com/MariaDB/server.git
synced 2025-08-08 11:22:35 +03:00
Merge branch '10.6' into '10.11'
This commit is contained in:
24
sql/log.cc
24
sql/log.cc
@@ -1932,6 +1932,16 @@ binlog_flush_cache(THD *thd, binlog_cache_mngr *cache_mngr,
|
||||
if (using_trx && thd->binlog_flush_pending_rows_event(TRUE, TRUE))
|
||||
DBUG_RETURN(1);
|
||||
|
||||
#ifdef WITH_WSREP
|
||||
/* Wsrep transaction was BF aborted but it must replay because certification
|
||||
succeeded. The transaction must not be written into binlog yet, it will
|
||||
be done during commit after the replay. */
|
||||
if (WSREP(thd) && wsrep_must_replay(thd))
|
||||
{
|
||||
DBUG_RETURN(0);
|
||||
}
|
||||
#endif /* WITH_WSREP */
|
||||
|
||||
/*
|
||||
Doing a commit or a rollback including non-transactional tables,
|
||||
i.e., ending a transaction where we might write the transaction
|
||||
@@ -7971,7 +7981,12 @@ MYSQL_BIN_LOG::write_transaction_to_binlog(THD *thd,
|
||||
{
|
||||
DBUG_RETURN(0);
|
||||
}
|
||||
else if (!(thd->variables.option_bits & OPTION_BIN_LOG))
|
||||
|
||||
if (!(thd->variables.option_bits & OPTION_BIN_LOG)
|
||||
#ifdef WITH_WSREP
|
||||
&& !WSREP(thd)
|
||||
#endif
|
||||
)
|
||||
{
|
||||
cache_mngr->need_unlog= false;
|
||||
DBUG_RETURN(0);
|
||||
@@ -8878,6 +8893,13 @@ MYSQL_BIN_LOG::write_transaction_or_stmt(group_commit_entry *entry,
|
||||
bool has_xid= entry->end_event->get_type_code() == XID_EVENT;
|
||||
|
||||
DBUG_ENTER("MYSQL_BIN_LOG::write_transaction_or_stmt");
|
||||
#ifdef WITH_WSREP
|
||||
if (WSREP(entry->thd) &&
|
||||
!(entry->thd->variables.option_bits & OPTION_BIN_LOG))
|
||||
{
|
||||
DBUG_RETURN(0);
|
||||
}
|
||||
#endif /* WITH_WSREP */
|
||||
|
||||
/*
|
||||
An error in the trx_cache will truncate the cache to the last good
|
||||
|
Reference in New Issue
Block a user