Commit f4e4bff9 authored by Jan Lindström's avatar Jan Lindström

MDEV-24916 : Assertion `current_stmt_binlog_format == BINLOG_FORMAT_STMT ||...

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.
parent 1ea6ac3c
......@@ -3673,6 +3673,11 @@ mysql_execute_command(THD *thd)
Json_writer_object trace_command(thd);
Json_writer_array trace_command_steps(thd, "steps");
/* 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(thd))
{
......@@ -3724,12 +3729,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>
......@@ -7552,9 +7551,14 @@ void THD::reset_for_next_command(bool do_clear_error)
save_prep_leaf_list= false;
DBUG_PRINT("debug",
("is_current_stmt_binlog_format_row(): %d",
is_current_stmt_binlog_format_row()));
#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",
is_current_stmt_binlog_format_row()));
DBUG_VOID_RETURN;
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment