diff options
author | Marko Mäkelä <marko.makela@mariadb.com> | 2020-07-24 16:07:00 +0300 |
---|---|---|
committer | Marko Mäkelä <marko.makela@mariadb.com> | 2020-07-24 16:07:00 +0300 |
commit | 7dc405f0523313546eeb7b30d6b534081dd9e3d8 (patch) | |
tree | fd5521885ad207d11d59a354c1c0307def3979e5 /include/handler_ername.h | |
parent | a18639f1a913b446f32d7fbe531aa0d5782cf720 (diff) | |
download | mariadb-git-bb-10.5-MDEV-21175.tar.gz |
WIP MDEV-21175 Remove dict_table_t::n_foreign_key_checks_runningbb-10.5-MDEV-21175
The counter dict_table_t::n_foreign_key_checks_running
was a work-around for missing meta-data locking (MDL)
on the SQL layer.
ER_TABLE_IN_FK_CHECK: Replaced with ER_UNUSED_26.
HA_ERR_TABLE_IN_FK_CHECK: Remove.
dict_table_t: Remove inc_fk_checks(), dec_fk_checks(),
n_foreign_key_checks_running.
row_ins_check_foreign_constraints(),
row_upd_check_references_constraints(): Do not acquire
a shared dict_sys latch nor touch the reference counters.
row_drop_table_for_mysql(): Make the checks stricter.
We will still employ row_mysql_drop_list for
TRUNCATE TABLE and for dropping internal tables related
to FULLTEXT INDEX. So, this will not fix MDEV-21283 yet.
MDEV-21602 CREATE TABLE…PRIMARY KEY…SELECT workaround
causes DROP TABLE to ignore locks
The error handling of CREATE…SELECT would invoke
handler::delete_table() while still holding locks
on the table, due to not having invoked handlerton::rollback
first. InnoDB used to work around this as well.
In MDEV-742 this was worked around further by breaking
MDL, causing MDEV-22733.
Diffstat (limited to 'include/handler_ername.h')
-rw-r--r-- | include/handler_ername.h | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/include/handler_ername.h b/include/handler_ername.h index fe55062e6fb..4b76ecb8d36 100644 --- a/include/handler_ername.h +++ b/include/handler_ername.h @@ -74,7 +74,6 @@ { "HA_ERR_INDEX_COL_TOO_LONG", HA_ERR_INDEX_COL_TOO_LONG, "" }, { "HA_ERR_INDEX_CORRUPT", HA_ERR_INDEX_CORRUPT, "" }, { "HA_ERR_UNDO_REC_TOO_BIG", HA_ERR_UNDO_REC_TOO_BIG, "" }, -{ "HA_ERR_TABLE_IN_FK_CHECK", HA_ERR_TABLE_IN_FK_CHECK, "" }, { "HA_ERR_ROW_NOT_VISIBLE", HA_ERR_ROW_NOT_VISIBLE, "" }, { "HA_ERR_ABORTED_BY_USER", HA_ERR_ABORTED_BY_USER, "" }, { "HA_ERR_DISK_FULL", HA_ERR_DISK_FULL, "" }, |