]> git.joonet.de Git - adminer.git/commitdiff
Fix indexes with duplicate tables in different schemas
authorJakub Vrana <jakub@vrana.cz>
Fri, 29 Jun 2012 21:59:04 +0000 (14:59 -0700)
committerJakub Vrana <jakub@vrana.cz>
Fri, 29 Jun 2012 21:59:04 +0000 (14:59 -0700)
adminer/drivers/pgsql.inc.php

index 7ae0e049819a6f4d4cfb6a609c0ccec96b8077e6..8f98460f6d621e2b3df2b8b0629766b31ba4b63b 100644 (file)
@@ -258,7 +258,7 @@ ORDER BY a.attnum"
                        $connection2 = $connection;
                }
                $return = array();
-               $table_oid = $connection2->result("SELECT oid FROM pg_class WHERE relname = " . q($table));
+               $table_oid = $connection2->result("SELECT oid FROM pg_class WHERE relnamespace = (SELECT oid FROM pg_namespace WHERE nspname = current_schema()) AND relname = " . q($table));
                $columns = get_key_vals("SELECT attnum, attname FROM pg_attribute WHERE attrelid = $table_oid AND attnum > 0", $connection2);
                foreach (get_rows("SELECT relname, indisunique, indisprimary, indkey FROM pg_index i, pg_class ci WHERE i.indrelid = $table_oid AND ci.oid = i.indexrelid", $connection2) as $row) {
                        $return[$row["relname"]]["type"] = ($row["indisprimary"] == "t" ? "PRIMARY" : ($row["indisunique"] == "t" ? "UNIQUE" : "INDEX"));