• sjaakola's avatar
    MDEV-30456 ALTER TABLE algorithm clause not replicated · 5c143349
    sjaakola authored
    If user has specified the desired alter algorithm by using session
    variable alter_algorithm, and not specifying the algorithm in the
    ALTER SQL statement, then the ALTER will be processed in sending node
    according the algorithm chosen by the alter_algorithm variable.
    But in receiving nodes, appliers cannot see this session variable,
    and will use the default algorithm when executing the ALTER.
    
    The fix in this commit, will check if user has set alter_algorithm
    variable and has not specified the algorithm clause in the ALTER
    statement, and in such case will rewrite the original ALTER statement
    appended by the algorithm clause. This rewritten ALTER statement will
    be used in replication.
    
    The commit has also new mtr test: galera.galera_alter_table_algorithm
    which verifies that ALTER query rewrite happens when needed
    Signed-off-by: default avatarJulius Goryavsky <julius.goryavsky@mariadb.com>
    5c143349
wsrep_mysqld.cc 118 KB