mariadb/storage/innobase/handler
Marko Mäkelä cb437417d2 MDEV-19114 gcol.innodb_virtual_debug: Assertion n_fields>0 failed
This is a regression due to MDEV-16376
commit 8dc70c862b.
To make dict_index_t::detach_columns() idempotent,
we cleared dict_index_t::n_fields. But, this could
cause trouble with purge after a secondary index
creation failed (not even involving virtual columns).

A better way is to clear the dict_field_t::col pointers
that point to virtual columns that are being freed
due to aborting index creation on an index that depends
on a virtual column.

Note: the v_cols[] of an existing dict_table_t object will
never be modified. If any virtual columns are added or removed,
ha_innobase::commit_inplace_alter_table() would invoke
dict_table_remove_from_cache() and reload the table to dict_sys.
Index creation is a special case where the dict_index_t points
to virtual columns that do not yet exist in dict_table_t.
2020-05-19 16:02:13 +03:00
..
ha_innodb.cc MDEV-21336 Memory leaks related to innodb_debug_sync 2020-05-14 13:36:11 +03:00
ha_innodb.h Cleanup: Remove InnoDB wrappers of thd_charset(), thd_query_safe() 2020-05-12 10:15:44 +03:00
ha_xtradb.h Merge 10.1 into 10.2 2019-05-13 17:54:04 +03:00
handler0alter.cc MDEV-19114 gcol.innodb_virtual_debug: Assertion n_fields>0 failed 2020-05-19 16:02:13 +03:00
i_s.cc MDEV-21933 INFORMATION_SCHEMA.INNODB_SYS_TABLESPACES accesses SYS_DATAFILES 2020-03-13 08:07:02 +02:00
i_s.h Merge 10.1 into 10.2 2019-05-13 18:48:28 +03:00