diff --git a/pkg/client/client.go b/pkg/client/client.go index 64b387d..cec7605 100644 --- a/pkg/client/client.go +++ b/pkg/client/client.go @@ -203,7 +203,8 @@ func (client *Client) TableRowsCount(table string, opts RowsOptions) (*Result, e } func (client *Client) TableInfo(table string) (*Result, error) { - return client.query(statements.TableInfo, table) + schema, table := getSchemaAndTable(table) + return client.query(statements.TableInfo, fmt.Sprintf(`"%s"."%s"`, schema, table)) } func (client *Client) TableIndexes(table string) (*Result, error) { diff --git a/pkg/statements/sql.go b/pkg/statements/sql.go index 1596591..2a81271 100644 --- a/pkg/statements/sql.go +++ b/pkg/statements/sql.go @@ -83,7 +83,7 @@ SELECT character_maximum_length, character_set_catalog, column_default, - pg_catalog.col_description(($1::text || '.' || $2::text)::regclass::oid, ordinal_position) as comment + pg_catalog.col_description(('"' || $1::text || '"."' || $2::text || '"')::regclass::oid, ordinal_position) as comment FROM information_schema.columns WHERE diff --git a/static/js/app.js b/static/js/app.js index 2ebf5c4..a78e7c3 100644 --- a/static/js/app.js +++ b/static/js/app.js @@ -865,6 +865,14 @@ function bindCurrentDatabaseMenu() { }); } +function getQuotedSchemaTableName(table) { + if (typeof table === "string" && table.indexOf(".") > -1) { + var schemaTableComponents = table.split("."); + return ['"', schemaTableComponents[0], '"."', schemaTableComponents[1], '"'].join(''); + } + return table; +} + function bindContextMenus() { bindTableHeaderMenu(); bindCurrentDatabaseMenu(); @@ -878,7 +886,7 @@ function bindContextMenus() { scopes: "li.schema-table", onItem: function(context, e) { var el = $(e.target); - var table = $(context[0]).data("id"); + var table = getQuotedSchemaTableName($(context[0]).data("id")); var action = el.data("action"); performTableAction(table, action, el); } @@ -891,7 +899,7 @@ function bindContextMenus() { scopes: "li.schema-view", onItem: function(context, e) { var el = $(e.target); - var table = $(context[0]).data("id"); + var table = getQuotedSchemaTableName($(context[0]).data("id")); var action = el.data("action"); performViewAction(table, action, el); }