• Rucha Deodhar's avatar
    MDEV-25460: Assertion `!is_set() || (m_status == DA_OK_BULK && is_bulk_op())' · fad1d153
    Rucha Deodhar authored
    failed in Diagnostics_area::set_ok_status in my_ok from
    mysql_sql_stmt_prepare
    
    Analysis: Before PREPARE is executed, binlog_format is STATEMENT.
    This PREPARE had SET STATEMENT which sets binlog_format to ROW. Now after
    PREPARE is done we reset the binlog_format (back to STATEMENT). But we have
    temporary table, it doesn't let changing binlog_format=ROW to
    binlog_format=STATEMENT and gives error which goes unreported. This
    unreported error eventually causes assertion failure.
    Fix: Change return type for LEX::restore_set_statement_var() to bool and
    make it return error state.
    fad1d153
sql_lex.cc 147 KB