• Andrei's avatar
    MDEV-24617 OPTIMIZE on a sequence causes unexpected ER_BINLOG_UNSAFE_STATEMENT · e7cf871d
    Andrei authored
    The warning out of OPTIMIZE
      Statement is unsafe because it uses a system function
    was indeed counterfactual and was resulted by checking an
    insufficiently strict property of lex' sql_command_flags.
    
    Fixed with deploying an additional checking of weather
    the current sql command that modifes a share->non_determinstic_insert
    table is capable of generating ROW format events.
    The extra check rules out the unsafety to OPTIMIZE et al, while the
    existing check continues to do so to CREATE TABLE (which is
    perculiarly tagged as ROW-event generative sql command).
    
    As a side effect sql_sequence.binlog test gets corrected and
    binlog_stm_unsafe_warning.test is reinforced to add up
    an unsafe CREATE..SELECT test.
    e7cf871d
binlog.test 1.08 KB