mirror of
https://github.com/MariaDB/server.git
synced 2025-01-29 10:14:19 +01:00
MDEV-24916 : Assertion `current_stmt_binlog_format == BINLOG_FORMAT_STMT || current_stmt_binlog_format == BINLOG_FORMAT_ROW' failed in THD::is_current_stmt_binlog_format_row
Store old value of binlog format before wsrep code so that if we bail out because wsrep is not ready for connections we can restore binlog format correctly.
This commit is contained in:
parent
f4e14f0e24
commit
c9ba668992
1 changed files with 12 additions and 8 deletions
|
@ -3336,6 +3336,11 @@ mysql_execute_command(THD *thd)
|
|||
#ifdef HAVE_REPLICATION
|
||||
} /* endif unlikely slave */
|
||||
#endif
|
||||
/* store old value of binlog format */
|
||||
enum_binlog_format orig_binlog_format,orig_current_stmt_binlog_format;
|
||||
|
||||
thd->get_binlog_format(&orig_binlog_format,
|
||||
&orig_current_stmt_binlog_format);
|
||||
#ifdef WITH_WSREP
|
||||
if (wsrep && WSREP(thd))
|
||||
{
|
||||
|
@ -3387,12 +3392,6 @@ mysql_execute_command(THD *thd)
|
|||
|
||||
DBUG_ASSERT(thd->transaction.stmt.modified_non_trans_table == FALSE);
|
||||
|
||||
/* store old value of binlog format */
|
||||
enum_binlog_format orig_binlog_format,orig_current_stmt_binlog_format;
|
||||
|
||||
thd->get_binlog_format(&orig_binlog_format,
|
||||
&orig_current_stmt_binlog_format);
|
||||
|
||||
/*
|
||||
Assign system variables with values specified by the clause
|
||||
SET STATEMENT var1=value1 [, var2=value2, ...] FOR <statement>
|
||||
|
@ -7361,8 +7360,13 @@ void THD::reset_for_next_command(bool do_clear_error)
|
|||
|
||||
thd->save_prep_leaf_list= false;
|
||||
|
||||
DBUG_PRINT("debug",
|
||||
("is_current_stmt_binlog_format_row(): %d",
|
||||
#ifdef WITH_WSREP
|
||||
#if !defined(DBUG_OFF)
|
||||
if (mysql_bin_log.is_open())
|
||||
#endif
|
||||
#endif
|
||||
DBUG_PRINT("debug",
|
||||
("is_current_stmt_binlog_format_row(): %d",
|
||||
thd->is_current_stmt_binlog_format_row()));
|
||||
|
||||
DBUG_VOID_RETURN;
|
||||
|
|
Loading…
Add table
Reference in a new issue