From 9181c17c143063bd2714c6524772f5b10d412844 Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 26 May 2005 15:42:24 +0300 Subject: InnoDB: Check all referencing tables in DROP DATABASE (Bug #10335). innobase/row/row0mysql.c: row_drop_table_for_mysql(): Check all referencing tables when drop_db==TRUE (Bug #10335) --- innobase/row/row0mysql.c | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'innobase/row') 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; -- cgit v1.2.1