• Jan Lindström's avatar
    MDEV-30388 : Assertion `!wsrep_has_changes(thd) || (thd->lex->sql_command ==... · 28eaf66e
    Jan Lindström authored
    MDEV-30388 : Assertion `!wsrep_has_changes(thd) || (thd->lex->sql_command == SQLCOM_CREATE_TABLE && !thd->is_current_stmt_binlog_format_row()) || thd->wsrep_cs().transaction().state() == wsrep::transaction::s_aborted' failed
    
    Problem for Galera is the fact that sequences are not really
    transactional. Sequence operation is committed immediately
    in sql_sequence.cd and later Galera could find out that
    we have changes but actual statement is not there anymore.
    
    Therefore, we must make some restrictions what kind
    of sequences Galera can support.
    
    (1) Galera cluster supports only sequences implemented
    by InnoDB storage engine. This is because Galera replication
    supports currently only InnoDB.
    
    (2) We do not allow LOCK TABLE on sequence object and
    we do not allow sequence creation under LOCK TABLE, instead
    lock is released and we issue warning.
    
    (3) We allow sequences with NOCACHE definition or with
    INCREMEMENT BY 0 CACHE=n definition. This makes sure that
    sequence values are unique accross Galera cluster.
    Signed-off-by: default avatarJulius Goryavsky <julius.goryavsky@mariadb.com>
    28eaf66e
galera_sequences.cnf 208 Bytes