• Marko Mäkelä's avatar
    MDEV-26966: Remove innodb_force_load_corrupted · 576afcea
    Marko Mäkelä authored
    MySQL 5.5 in commit 177d8b0c
    introduced a configuration parameter innodb_force_load_corrupted
    whose purpose was to allow a corrupted table to be dropped.
    
    Given that MDEV-11412 in MariaDB 10.5.4 aims to allow any metadata
    for a missing or corrupted table to be dropped, and given that
    MDEV-17567 and MDEV-25506 and related tasks made DDL operations
    crash-safe, the parameter no longer serves any purpose.
    
    Because this obscure parameter was read-only (not settable by a client),
    it seems that we can simply declare it with MARIADB_REMOVED_OPTION
    (commit 1bc9cce7) without breaking
    any upgrades.
    
    DICT_ERR_IGNORE_INDEX: Replaces DICT_ERR_IGNORE_INDEX_ROOT and
    DICT_ERR_IGNORE_CORRUPT, which were always set equally.
    
    dict_load_indexes(): Report "No indexes found for table" in
    a uniform way, and only when the DICT_ERR_IGNORE_INDEX flag is
    not set.
    
    If the clustered index is marked corrupted, and the operation
    is DICT_ERR_IGNORE_DROP (we are about to drop the table), we will
    load the metadata; else, we will return DB_INDEX_CORRUPT.
    
    If SYS_INDEXES.PAGE is FIL_NULL, report an error or warning
    unless we are about to drop the table.
    
    dict_load_table_one(): Simplify the logic.
    576afcea
srv0srv.h 30 KB