diff --git a/libraries/DatabaseInterface.php b/libraries/DatabaseInterface.php index d5445ac6cd..5161b73038 100644 --- a/libraries/DatabaseInterface.php +++ b/libraries/DatabaseInterface.php @@ -319,13 +319,17 @@ class DatabaseInterface */ public function getTables($database, $link = null) { - return $this->fetchResult( + $tables = $this->fetchResult( 'SHOW TABLES FROM ' . Util::backquote($database) . ';', null, 0, $link, self::QUERY_STORE ); + if ($GLOBALS['cfg']['NaturalOrder']) { + uksort($tables, 'strnatcasecmp'); + } + return $tables; } /** diff --git a/templates/table/relation/foreign_key_row.phtml b/templates/table/relation/foreign_key_row.phtml index 210a8af303..274bbc7322 100644 --- a/templates/table/relation/foreign_key_row.phtml +++ b/templates/table/relation/foreign_key_row.phtml @@ -65,9 +65,9 @@ if ($foreign_db) { $tables[] = $row[0]; } } -} -if ($GLOBALS['cfg']['NaturalOrder']) { - uksort($tables, 'strnatcasecmp'); + if ($GLOBALS['cfg']['NaturalOrder']) { + uksort($tables, 'strnatcasecmp'); + } } ?> diff --git a/templates/table/relation/internal_relational_row.phtml b/templates/table/relation/internal_relational_row.phtml index 47bc45f972..8d16173a5e 100644 --- a/templates/table/relation/internal_relational_row.phtml +++ b/templates/table/relation/internal_relational_row.phtml @@ -23,14 +23,7 @@ if ($foreign_db) { if (isset($existrel[$myfield])) { $foreign_table = $existrel[$myfield]['foreign_table']; } - $tables_rs = $GLOBALS['dbi']->query( - 'SHOW TABLES FROM ' . PMA\libraries\Util::backquote($foreign_db), - null, - PMA\libraries\DatabaseInterface::QUERY_STORE - ); - while ($row = $GLOBALS['dbi']->fetchRow($tables_rs)) { - $tables[] = $row[0]; - } + $tables = $GLOBALS['dbi']->getTables(); } // column dropdown @@ -76,4 +69,4 @@ if ($foreign_db && $foreign_table) { ) ); ?> - \ No newline at end of file +