mirror of
https://github.com/MariaDB/server.git
synced 2025-01-31 19:11:46 +01:00
8dc70c862b
After a failed ADD INDEX, dict_index_remove_from_cache_low() could iterate the index fields and dereference a freed virtual column object when trying to remove the index from the v_indexes of the virtual column. This regression was caused by a merge of MDEV-16119 InnoDB lock->index refers to a freed object. ha_innobase_inplace_ctx::clear_added_indexes(): Detach the indexes of uncommitted indexes from virtual columns, so that the iteration in dict_index_remove_from_cache_low() can be avoided. ha_innobase::prepare_inplace_alter_table(): Ignore uncommitted corrupted indexes when rejecting ALTER TABLE. (This minor bug was revealed by the extension of the test case.) dict_index_t::detach_columns(): Detach an index from virtual columns. Invoked by both dict_index_remove_from_cache_low() and ha_innobase_inplace_ctx::clear_added_indexes(). dict_col_t::detach(const dict_index_t& index): Detach an index from a column. dict_col_t::is_virtual(): Replaces dict_col_is_virtual(). dict_index_t::has_virtual(): Replaces dict_index_has_virtual(). |
||
---|---|---|
.. | ||
gcol_archive.test | ||
gcol_blackhole.test | ||
gcol_blocked_sql_funcs_innodb.test | ||
gcol_blocked_sql_funcs_myisam.test | ||
gcol_bug20746926.test | ||
gcol_bugfixes.test | ||
gcol_column_def_options_innodb.test | ||
gcol_column_def_options_myisam.test | ||
gcol_handler_innodb.test | ||
gcol_handler_myisam.test | ||
gcol_ins_upd_innodb.test | ||
gcol_ins_upd_myisam.test | ||
gcol_keys_innodb.test | ||
gcol_keys_myisam.test | ||
gcol_memory.test | ||
gcol_merge.test | ||
gcol_non_stored_columns_innodb.test | ||
gcol_non_stored_columns_myisam.test | ||
gcol_partition_innodb.test | ||
gcol_partition_myisam.test | ||
gcol_rejected_innodb.test | ||
gcol_rollback.test | ||
gcol_select_innodb.test | ||
gcol_select_myisam.test | ||
gcol_supported_sql_funcs_innodb.test | ||
gcol_supported_sql_funcs_myisam.test | ||
gcol_trigger_sp_innodb.test | ||
gcol_trigger_sp_myisam.test | ||
gcol_update.test | ||
gcol_view_innodb.test | ||
gcol_view_myisam.test | ||
innodb_partition.test | ||
innodb_prefix_index_check.test | ||
innodb_virtual_basic.test | ||
innodb_virtual_blob.test | ||
innodb_virtual_debug.test | ||
innodb_virtual_debug_purge.test | ||
innodb_virtual_fk.test | ||
innodb_virtual_fk_restart.test | ||
innodb_virtual_index.test | ||
innodb_virtual_purge.test | ||
innodb_virtual_rebuild.test | ||
innodb_virtual_stats.test | ||
innodb_wl8114.test | ||
main_alter_table.test | ||
main_mysqldump.test | ||
rpl_gcol.test |