From: Jakub Vrana Date: Fri, 29 Jun 2012 21:59:04 +0000 (-0700) Subject: Fix indexes with duplicate tables in different schemas X-Git-Tag: v3.4.0~7 X-Git-Url: https://git.joonet.de/?a=commitdiff_plain;h=7de0b21e169185194f63b8baa4be8c47bb2262db;p=adminer.git Fix indexes with duplicate tables in different schemas --- diff --git a/adminer/drivers/pgsql.inc.php b/adminer/drivers/pgsql.inc.php index 7ae0e049..8f98460f 100644 --- a/adminer/drivers/pgsql.inc.php +++ b/adminer/drivers/pgsql.inc.php @@ -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"));