• Marko Mäkelä's avatar
    MDEV-14655 Assertion `!fts_index' failed in prepare_inplace_alter_table_dict · 3d798be1
    Marko Mäkelä authored
    MariaDB inherits the MySQL limitation that ALGORITHM=INPLACE cannot
    create more than one FULLTEXT INDEX at a time. As part of the MDEV-11369
    Instant ADD COLUMN refactoring, MariaDB 10.3.2 accidentally stopped
    enforcing the restriction.
    
    Actually, it is a bug in MySQL 5.6 and MariaDB 10.0 that an ALTER TABLE
    statement with multiple ADD FULLTEXT INDEX but without explicit
    ALGORITHM=INPLACE would return in an error message, rather than
    executing the operation with ALGORITHM=COPY.
    
    ha_innobase::check_if_supported_inplace_alter(): Enforce the restriction
    on multiple FULLTEXT INDEX.
    
    prepare_inplace_alter_table_dict(): Replace some code with debug
    assertions. A "goto error_handled" at this point would result in
    another error, because the reference count of ctx->new_table would be 0.
    3d798be1
handler0alter.cc 268 KB