diff options
author | Marko Mäkelä <marko.makela@mariadb.com> | 2021-11-04 09:55:35 +0200 |
---|---|---|
committer | Marko Mäkelä <marko.makela@mariadb.com> | 2021-11-04 09:55:35 +0200 |
commit | 576afceadd4d72665c249f21c78ad00166b4dc37 (patch) | |
tree | 953ff9bf7fda1d9a0dd7de0c5b80d65e100ca5c3 /sql | |
parent | 993b8edf3fafc3c66aa265e445aac1c6421a29fd (diff) | |
download | mariadb-git-576afceadd4d72665c249f21c78ad00166b4dc37.tar.gz |
MDEV-26966: Remove innodb_force_load_corrupted
MySQL 5.5 in commit 177d8b0c125b841c0650d27d735e3b87509dc286
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 1bc9cce70273c7f4705fb193abd2c938e3f3402a) 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.
Diffstat (limited to 'sql')
-rw-r--r-- | sql/mysqld.cc | 3 | ||||
-rw-r--r-- | sql/upgrade_conf_file.cc | 1 |
2 files changed, 4 insertions, 0 deletions
diff --git a/sql/mysqld.cc b/sql/mysqld.cc index f7717e188ee..efdc3c8dcae 100644 --- a/sql/mysqld.cc +++ b/sql/mysqld.cc @@ -5105,6 +5105,9 @@ static int init_server_components() MYSQL_COMPATIBILITY_OPTION("new"), MYSQL_COMPATIBILITY_OPTION("show_compatibility_56"), + /* The following options were removed in 10.6 */ + MARIADB_REMOVED_OPTION("innodb-force-load-corrupted"), + /* The following options were removed in 10.5 */ #if defined(__linux__) MARIADB_REMOVED_OPTION("super-large-pages"), diff --git a/sql/upgrade_conf_file.cc b/sql/upgrade_conf_file.cc index a30502d0dea..543df7b9bdf 100644 --- a/sql/upgrade_conf_file.cc +++ b/sql/upgrade_conf_file.cc @@ -80,6 +80,7 @@ static const char *removed_variables[] = "innodb_file_format_check", "innodb_file_format_max", "innodb_flush_neighbor_pages", +"innodb_force_load_corrupted", "innodb_foreground_preflush", "innodb_ibuf_accel_rate", "innodb_ibuf_active_contract", |