mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
MDEV-22421 Galera assertion !wsrep_has_changes(thd) || (thd->lex->sql_command == SQLCOM_CREATE_TABLE && !thd->is_current_stmt_binlog_format_row())
Updates to transaction registry table shouldn't be replicated in cluster so there is no need to append wsrep keys. Reviewed-by: Jan Lindström <jan.lindstrom@mariadb.com>
This commit is contained in:
@ -1558,13 +1558,27 @@ int ha_commit_trans(THD *thd, bool all)
|
||||
goto err;
|
||||
}
|
||||
DBUG_ASSERT(trx_start_id);
|
||||
#ifdef WITH_WSREP
|
||||
bool saved_wsrep_on= thd->variables.wsrep_on;
|
||||
thd->variables.wsrep_on= false;
|
||||
#endif
|
||||
TR_table trt(thd, true);
|
||||
if (trt.update(trx_start_id, trx_end_id))
|
||||
#ifdef WITH_WSREP
|
||||
{
|
||||
thd->variables.wsrep_on= saved_wsrep_on;
|
||||
#endif
|
||||
goto err;
|
||||
#ifdef WITH_WSREP
|
||||
}
|
||||
#endif
|
||||
// Here, the call will not commit inside InnoDB. It is only working
|
||||
// around closing thd->transaction.stmt open by TR_table::open().
|
||||
if (all)
|
||||
commit_one_phase_2(thd, false, &thd->transaction.stmt, false);
|
||||
#ifdef WITH_WSREP
|
||||
thd->variables.wsrep_on= saved_wsrep_on;
|
||||
#endif
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user