diff options
author | marko@hundin.mysql.fi <> | 2005-05-26 15:42:24 +0300 |
---|---|---|
committer | marko@hundin.mysql.fi <> | 2005-05-26 15:42:24 +0300 |
commit | 2d5b96798fe3125e77bf214c2c189d66dd309cfd (patch) | |
tree | 27fbf0a51dcd293011336514cd2bd74ea3393ea2 /innobase | |
parent | 2e936807739f2ffb540ab95eb82243fb96eae6c3 (diff) | |
download | mariadb-git-2d5b96798fe3125e77bf214c2c189d66dd309cfd.tar.gz |
InnoDB: Check all referencing tables in DROP DATABASE (Bug #10335).
Diffstat (limited to 'innobase')
-rw-r--r-- | innobase/row/row0mysql.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/innobase/row/row0mysql.c b/innobase/row/row0mysql.c index a915200161f..86557315b71 100644 --- a/innobase/row/row0mysql.c +++ b/innobase/row/row0mysql.c @@ -2143,6 +2143,7 @@ row_drop_table_for_mysql( foreign = UT_LIST_GET_FIRST(table->referenced_list); while (foreign && foreign->foreign_table == table) { + check_next_foreign: foreign = UT_LIST_GET_NEXT(referenced_list, foreign); } @@ -2171,6 +2172,10 @@ row_drop_table_for_mysql( goto funct_exit; } + if (foreign && trx->check_foreigns) { + goto check_next_foreign; + } + if (table->n_mysql_handles_opened > 0) { ibool added; |