summaryrefslogtreecommitdiff
path: root/innobase
diff options
context:
space:
mode:
authormarko@hundin.mysql.fi <>2005-05-26 15:42:24 +0300
committermarko@hundin.mysql.fi <>2005-05-26 15:42:24 +0300
commit2d5b96798fe3125e77bf214c2c189d66dd309cfd (patch)
tree27fbf0a51dcd293011336514cd2bd74ea3393ea2 /innobase
parent2e936807739f2ffb540ab95eb82243fb96eae6c3 (diff)
downloadmariadb-git-2d5b96798fe3125e77bf214c2c189d66dd309cfd.tar.gz
InnoDB: Check all referencing tables in DROP DATABASE (Bug #10335).
Diffstat (limited to 'innobase')
-rw-r--r--innobase/row/row0mysql.c5
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;