]> git.joonet.de Git - adminer.git/commitdiff
Support granted table to list up indexes
authorTakashi SHIRAI <shirai@nintendo.co.jp>
Tue, 26 Mar 2019 04:40:17 +0000 (13:40 +0900)
committerJakub Vrana <jakub@vrana.cz>
Tue, 9 Feb 2021 08:57:00 +0000 (09:57 +0100)
Signed-off-by: Takashi SHIRAI <shirai@nintendo.co.jp>
adminer/drivers/oracle.inc.php

index 57ad049c8246450f73f49f8643d6b962abb22de6..ec439a93031e929773397abfe557b120b8b1194b 100644 (file)
@@ -295,11 +295,11 @@ ORDER BY 1"
        function indexes($table, $connection2 = null) {
                $return = array();
                $owner = where_owner(" AND ", "aic.table_owner");
-               foreach (get_rows("SELECT uic.*, uc.constraint_type
-FROM user_ind_columns uic
-LEFT JOIN user_constraints uc ON uic.index_name = uc.constraint_name AND uic.table_name = uc.table_name
-WHERE uic.table_name = " . q($table) . "$owner
-ORDER BY uc.constraint_type, uic.column_position", $connection2) as $row) {
+               foreach (get_rows("SELECT aic.*, ac.constraint_type
+FROM all_ind_columns aic
+LEFT JOIN all_constraints ac ON aic.index_name = ac.constraint_name AND aic.table_name = ac.table_name AND aic.index_owner = ac.owner
+WHERE aic.table_name = " . q($table) . "$owner
+ORDER BY ac.constraint_type, aic.column_position", $connection2) as $row) {
                        $index_name = $row["INDEX_NAME"];
                        $return[$index_name]["type"] = ($row["CONSTRAINT_TYPE"] == "P" ? "PRIMARY" : ($row["CONSTRAINT_TYPE"] == "U" ? "UNIQUE" : "INDEX"));
                        $return[$index_name]["columns"][] = $row["COLUMN_NAME"];