mariadb/mysql-test/suite/gcol/t
Marko Mäkelä 8dc70c862b MDEV-16376 ASAN: heap-use-after-free in gcol.innodb_virtual_debug
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().
2018-06-04 15:55:37 +03:00
..
gcol_archive.test gcol mysql-test suite from 5.7 2016-12-12 20:27:36 +01:00
gcol_blackhole.test gcol mysql-test suite from 5.7 2016-12-12 20:27:36 +01:00
gcol_blocked_sql_funcs_innodb.test gcol mysql-test suite from 5.7 2016-12-12 20:27:36 +01:00
gcol_blocked_sql_funcs_myisam.test gcol mysql-test suite from 5.7 2016-12-12 20:27:36 +01:00
gcol_bug20746926.test gcol mysql-test suite from 5.7 2016-12-12 20:27:36 +01:00
gcol_bugfixes.test Import a test case from MySQL 5.7.19 2017-08-09 22:28:30 +03:00
gcol_column_def_options_innodb.test MDEV-5800 InnoDB support for indexed vcols 2016-12-12 20:27:42 +01:00
gcol_column_def_options_myisam.test MDEV-5800 MyISAM support for indexed vcols 2016-12-12 20:27:36 +01:00
gcol_handler_innodb.test gcol mysql-test suite from 5.7 2016-12-12 20:27:36 +01:00
gcol_handler_myisam.test gcol mysql-test suite from 5.7 2016-12-12 20:27:36 +01:00
gcol_ins_upd_innodb.test gcol mysql-test suite from 5.7 2016-12-12 20:27:36 +01:00
gcol_ins_upd_myisam.test MDEV-5800 MyISAM support for indexed vcols 2016-12-12 20:27:36 +01:00
gcol_keys_innodb.test enable innodb tests for virtual indexed columns (sic!) 2017-08-14 19:45:59 +02:00
gcol_keys_myisam.test MDEV-5800 MyISAM support for indexed vcols 2016-12-12 20:27:36 +01:00
gcol_memory.test gcol mysql-test suite from 5.7 2016-12-12 20:27:36 +01:00
gcol_merge.test MDEV-11066 use MySQL terminology for "virtual columns" 2016-12-12 20:35:51 +01:00
gcol_non_stored_columns_innodb.test gcol mysql-test suite from 5.7 2016-12-12 20:27:36 +01:00
gcol_non_stored_columns_myisam.test gcol mysql-test suite from 5.7 2016-12-12 20:27:36 +01:00
gcol_partition_innodb.test gcol mysql-test suite from 5.7 2016-12-12 20:27:36 +01:00
gcol_partition_myisam.test gcol mysql-test suite from 5.7 2016-12-12 20:27:36 +01:00
gcol_rejected_innodb.test gcol mysql-test suite from 5.7 2016-12-12 20:27:36 +01:00
gcol_rollback.test gcol.gcol_rollback could fail with errors in server log 2017-08-18 02:48:43 +03:00
gcol_select_innodb.test gcol mysql-test suite from 5.7 2016-12-12 20:27:36 +01:00
gcol_select_myisam.test MDEV-5800 MyISAM support for indexed vcols 2016-12-12 20:27:36 +01:00
gcol_supported_sql_funcs_innodb.test gcol mysql-test suite from 5.7 2016-12-12 20:27:36 +01:00
gcol_supported_sql_funcs_myisam.test gcol mysql-test suite from 5.7 2016-12-12 20:27:36 +01:00
gcol_trigger_sp_innodb.test gcol mysql-test suite from 5.7 2016-12-12 20:27:36 +01:00
gcol_trigger_sp_myisam.test gcol mysql-test suite from 5.7 2016-12-12 20:27:36 +01:00
gcol_update.test Do not require a debug non-embedded server in the test 2017-09-13 16:02:31 +03:00
gcol_view_innodb.test gcol mysql-test suite from 5.7 2016-12-12 20:27:36 +01:00
gcol_view_myisam.test gcol mysql-test suite from 5.7 2016-12-12 20:27:36 +01:00
innodb_partition.test MDEV-5800 InnoDB support for indexed vcols 2016-12-12 20:27:42 +01:00
innodb_prefix_index_check.test MDEV-5800 InnoDB support for indexed vcols 2016-12-12 20:27:42 +01:00
innodb_virtual_basic.test MDEV-13795/MDEV-14332 Corruption during online table-rebuilding ALTER when VIRTUAL columns exist 2017-11-09 23:39:12 +02:00
innodb_virtual_blob.test MDEV-5800 InnoDB support for indexed vcols 2016-12-12 20:27:42 +01:00
innodb_virtual_debug.test MDEV-16376 ASAN: heap-use-after-free in gcol.innodb_virtual_debug 2018-06-04 15:55:37 +03:00
innodb_virtual_debug_purge.test MDEV-15165 InnoDB purge for index on virtual column is trying to access an incomplete record 2018-02-01 18:53:41 +02:00
innodb_virtual_fk.test MDEV-15553 Assertion failed in dict_table_get_col_name 2018-04-05 15:01:17 +03:00
innodb_virtual_fk_restart.test MDEV-5800 InnoDB support for indexed vcols 2016-12-12 20:27:42 +01:00
innodb_virtual_index.test Bug 27122803 - BACKPORT FIX FOR BUG 25899959 TO MYSQL-5.7 2018-05-14 23:29:13 +03:00
innodb_virtual_purge.test Remove wait_innodb_all_purged.inc 2017-08-08 09:44:38 +03:00
innodb_virtual_rebuild.test MDEV-13795/MDEV-14332 Corruption during online table-rebuilding ALTER when VIRTUAL columns exist 2017-11-09 23:39:12 +02:00
innodb_virtual_stats.test Adjust the test innodb.virtual_stats and rename to gcol.innodb_virtual_stats 2017-12-06 10:37:08 +02:00
innodb_wl8114.test MDEV-5800 InnoDB support for indexed vcols 2016-12-12 20:27:42 +01:00
main_alter_table.test MDEV-5800 InnoDB support for indexed vcols 2016-12-12 20:27:42 +01:00
main_mysqldump.test MDEV-5800 InnoDB support for indexed vcols 2016-12-12 20:27:42 +01:00
rpl_gcol.test gcol mysql-test suite from 5.7 2016-12-12 20:27:36 +01:00