• Jan Lindström's avatar
    MDEV-20051: Add new mode to wsrep_OSU_method in which Galera checks storage... · e6a50e41
    Jan Lindström authored
    MDEV-20051: Add new mode to wsrep_OSU_method in which Galera checks storage engine of the effected table
    
    Introduced a new wsrep_strict_ddl configuration variable in which
    Galera checks storage engine of the effected table. If table is not
    InnoDB (only storage engine currently fully supporting Galera
    replication) DDL-statement will return error code:
    
    ER_GALERA_REPLICATION_NOT_SUPPORTED
           eng "DDL-statement is forbidden as table storage engine does not support Galera replication"
    
    However, when wsrep_replicate_myisam=ON we allow DDL-statements to
    MyISAM tables. If effected table is allowed storage engine Galera
    will run normal TOI.
    
    This new setting should be for now set globally on all
    nodes in a cluster. When this setting is set following DDL-clauses
    accessing tables not supporting Galera replication are refused:
    
    * CREATE TABLE (e.g. CREATE TABLE t1(a int) engine=Aria
    * ALTER TABLE
    * TRUNCATE TABLE
    * CREATE VIEW
    * CREATE TRIGGER
    * CREATE INDEX
    * DROP INDEX
    * RENAME TABLE
    * DROP TABLE
    
    Statements on PROCEDURE, EVENT, FUNCTION are allowed as effected
    tables are known only at execution. Furthermore, USER, ROLE, SERVER,
    DATABASE statements are also allowed as they do not really have
    effected table.
    e6a50e41
sql_alter.cc 19.4 KB