Nette\Database\Drivers\PgSqlDriver::getIndexes PHP Метод

getIndexes() публичный Метод

Returns metadata for all indexes in a table.
public getIndexes ( $table )
    public function getIndexes($table)
    {
        $indexes = [];
        foreach ($this->connection->query("\n\t\t\tSELECT\n\t\t\t\tc2.relname::varchar AS name,\n\t\t\t\ti.indisunique AS unique,\n\t\t\t\ti.indisprimary AS primary,\n\t\t\t\ta.attname::varchar AS column\n\t\t\tFROM\n\t\t\t\tpg_catalog.pg_class AS c1\n\t\t\t\tJOIN pg_catalog.pg_index AS i ON c1.oid = i.indrelid\n\t\t\t\tJOIN pg_catalog.pg_class AS c2 ON i.indexrelid = c2.oid\n\t\t\t\tLEFT JOIN pg_catalog.pg_attribute AS a ON c1.oid = a.attrelid AND a.attnum = ANY(i.indkey)\n\t\t\tWHERE\n\t\t\t\tc1.relkind = 'r'\n\t\t\t\tAND c1.oid = {$this->connection->quote($this->delimiteFQN($table))}::regclass\n\t\t") as $row) {
            $indexes[$row['name']]['name'] = $row['name'];
            $indexes[$row['name']]['unique'] = $row['unique'];
            $indexes[$row['name']]['primary'] = $row['primary'];
            $indexes[$row['name']]['columns'][] = $row['column'];
        }
        return array_values($indexes);
    }