]> git.joonet.de Git - adminer.git/commitdiff
Check MySQL version
authorjakubvrana <jakubvrana@7c3ca157-0c34-0410-bff1-cbf682f78f5c>
Mon, 28 Sep 2009 08:19:06 +0000 (08:19 +0000)
committerjakubvrana <jakubvrana@7c3ca157-0c34-0410-bff1-cbf682f78f5c>
Mon, 28 Sep 2009 08:19:06 +0000 (08:19 +0000)
git-svn-id: https://adminer.svn.sourceforge.net/svnroot/adminer/trunk@1154 7c3ca157-0c34-0410-bff1-cbf682f78f5c

editor/include/adminer.inc.php

index 5715cf0c2e66ff7453d69e7c53dbcb35f405f8c9..71765760c431fca00185af1b0120e1be598e07b3 100644 (file)
@@ -50,25 +50,25 @@ class Adminer {
        function backwardKeys($table, $tableName) {
                global $connection;
                $return = array();
-               $result = $connection->query("SELECT TABLE_NAME, CONSTRAINT_NAME, COLUMN_NAME, REFERENCED_COLUMN_NAME
+               if ($connection->server_info >= 5) { //! requires MySQL 5
+                       $result = $connection->query("SELECT TABLE_NAME, CONSTRAINT_NAME, COLUMN_NAME, REFERENCED_COLUMN_NAME
 FROM information_schema.KEY_COLUMN_USAGE
 WHERE TABLE_SCHEMA = " . $connection->quote($this->database()) . "
 AND REFERENCED_TABLE_SCHEMA = " . $connection->quote($this->database()) . "
 AND REFERENCED_TABLE_NAME = " . $connection->quote($table) . "
-ORDER BY ORDINAL_POSITION"); //! requires MySQL 5
-               if ($result) {
+ORDER BY ORDINAL_POSITION");
                        while ($row = $result->fetch_assoc()) {
                                $return[$row["TABLE_NAME"]]["keys"][$row["CONSTRAINT_NAME"]][$row["COLUMN_NAME"]] = $row["REFERENCED_COLUMN_NAME"];
                        }
-               }
-               foreach ($return as $key => $val) {
-                       $name = $this->tableName(table_status($key));
-                       if (strlen($name)) {
-                               $search = preg_quote($tableName);
-                               $separator = "(:|\\s*-)?\\s+";
-                               $return[$key]["name"] = (preg_match("(^$search$separator(.+)|^(.+?)$separator$search\$)", $name, $match) ? $match[2] . $match[3] : $name);
-                       } else {
-                               unset($return[$key]);
+                       foreach ($return as $key => $val) {
+                               $name = $this->tableName(table_status($key));
+                               if (strlen($name)) {
+                                       $search = preg_quote($tableName);
+                                       $separator = "(:|\\s*-)?\\s+";
+                                       $return[$key]["name"] = (preg_match("(^$search$separator(.+)|^(.+?)$separator$search\$)", $name, $match) ? $match[2] . $match[3] : $name);
+                               } else {
+                                       unset($return[$key]);
+                               }
                        }
                }
                return $return;