diff --git a/public/app/plugins/datasource/postgres/query_builder.ts b/public/app/plugins/datasource/postgres/query_builder.ts index cfee317d96f..ffa8f6ba270 100644 --- a/public/app/plugins/datasource/postgres/query_builder.ts +++ b/public/app/plugins/datasource/postgres/query_builder.ts @@ -2,14 +2,14 @@ export class PostgresQueryBuilder { constructor(private target, private queryModel) {} buildSchemaQuery() { - var query = 'SELECT quote_ident(schema_name) FROM information_schema.schemata WHERE'; + let query = 'SELECT quote_ident(schema_name) FROM information_schema.schemata WHERE'; query += " schema_name NOT LIKE 'pg_%' AND schema_name NOT LIKE '\\_%' AND schema_name <> 'information_schema';"; return query; } buildTableQuery() { - var query = 'SELECT quote_ident(table_name) FROM information_schema.tables WHERE '; + let query = 'SELECT quote_ident(table_name) FROM information_schema.tables WHERE '; query += 'table_schema = ' + this.quoteIdentAsLiteral(this.target.schema); return query; } @@ -20,7 +20,7 @@ export class PostgresQueryBuilder { } buildColumnQuery(type?: string) { - var query = 'SELECT quote_ident(column_name) FROM information_schema.columns WHERE '; + let query = 'SELECT quote_ident(column_name) FROM information_schema.columns WHERE '; query += 'table_schema = ' + this.quoteIdentAsLiteral(this.target.schema); query += ' AND table_name = ' + this.quoteIdentAsLiteral(this.target.table); @@ -31,7 +31,7 @@ export class PostgresQueryBuilder { break; } case 'metric': { - query += " AND data_type IN ('text','char','varchar')"; + query += " AND data_type IN ('text','char','varchar','integer','bigint')"; break; } case 'value': { @@ -44,7 +44,7 @@ export class PostgresQueryBuilder { } buildValueQuery(column: string) { - var query = 'SELECT DISTINCT quote_literal(' + column + ')'; + let query = 'SELECT DISTINCT quote_literal(' + column + ')'; query += ' FROM ' + this.target.schema + '.' + this.target.table; query += ' WHERE $__timeFilter(' + this.target.timeColumn + ')'; query += ' ORDER BY 1 LIMIT 100'; @@ -52,7 +52,7 @@ export class PostgresQueryBuilder { } buildDatatypeQuery(column: string) { - var query = 'SELECT data_type FROM information_schema.columns WHERE '; + let query = 'SELECT data_type FROM information_schema.columns WHERE '; query += ' table_schema = ' + this.quoteIdentAsLiteral(this.target.schema); query += ' AND table_name = ' + this.quoteIdentAsLiteral(this.target.table); query += ' AND column_name = ' + this.quoteIdentAsLiteral(column); @@ -60,10 +60,10 @@ export class PostgresQueryBuilder { } buildAggregateQuery() { - var query = 'SELECT DISTINCT proname FROM pg_aggregate '; + let query = 'SELECT DISTINCT proname FROM pg_aggregate '; query += 'INNER JOIN pg_proc ON pg_aggregate.aggfnoid = pg_proc.oid '; query += 'INNER JOIN pg_type ON pg_type.oid=pg_proc.prorettype '; - query += "WHERE pronargs=1 AND typname IN ('int8','float8') AND aggkind='n' ORDER BY 1"; + query += "WHERE pronargs=1 AND typname IN ('float8') AND aggkind='n' ORDER BY 1"; return query; } }