Add endpoint to fetch table indexes

This commit is contained in:
Dan Sosedoff
2014-10-11 13:20:16 -05:00
parent aca2b473b6
commit d786919a36
3 changed files with 28 additions and 5 deletions

View File

@@ -9,9 +9,10 @@ import (
)
const (
SQL_INFO = "SELECT version(), user, current_database(), inet_client_addr(), inet_client_port(), inet_server_addr(), inet_server_port()"
SQL_TABLES = "SELECT table_name FROM information_schema.tables WHERE table_schema = 'public' ORDER BY table_schema,table_name;"
SQL_TABLE_SCHEMA = "SELECT column_name, data_type, is_nullable, character_maximum_length, character_set_catalog, column_default FROM information_schema.columns where table_name = '%s';"
SQL_INFO = "SELECT version(), user, current_database(), inet_client_addr(), inet_client_port(), inet_server_addr(), inet_server_port()"
SQL_TABLES = "SELECT table_name FROM information_schema.tables WHERE table_schema = 'public' ORDER BY table_schema,table_name;"
SQL_TABLE_SCHEMA = "SELECT column_name, data_type, is_nullable, character_maximum_length, character_set_catalog, column_default FROM information_schema.columns where table_name = '%s';"
SQL_TABLE_INDEXES = "SELECT indexname, indexdef FROM pg_indexes WHERE tablename = '%s';"
)
type Client struct {
@@ -58,6 +59,16 @@ func (client *Client) Tables() ([]string, error) {
return tables, nil
}
func (client *Client) TableIndexes(table string) (*Result, error) {
res, err := client.Query(fmt.Sprintf(SQL_TABLE_INDEXES, table))
if err != nil {
return nil, err
}
return res, err
}
func (client *Client) Query(query string) (*Result, error) {
rows, err := client.db.Queryx(query)