diff --git a/public/app/core/components/sql_part/sql_part.ts b/public/app/core/components/sql_part/sql_part.ts index 5b049237881..1929cfdadfa 100644 --- a/public/app/core/components/sql_part/sql_part.ts +++ b/public/app/core/components/sql_part/sql_part.ts @@ -9,7 +9,6 @@ export class SqlPartDef { wrapOpen: string; wrapClose: string; separator: string; - renderer: any; category: any; addStrategy: any; @@ -32,7 +31,6 @@ export class SqlPartDef { } this.params = options.params; this.defaultParams = options.defaultParams; - this.renderer = options.renderer; this.category = options.category; this.addStrategy = options.addStrategy; } @@ -74,40 +72,4 @@ export class SqlPart { this.part.params = this.params; } - - render(innerExpr: string) { - return this.def.renderer(this, innerExpr); - } -} - -export function functionRenderer(part, innerExpr) { - var str = part.def.type + '('; - var parameters = _.map(part.params, (value, index) => { - var paramType = part.def.params[index]; - if (paramType.type === 'time') { - if (value === 'auto') { - value = '$__interval'; - } - } - if (paramType.quote === 'single') { - return "'" + value + "'"; - } else if (paramType.quote === 'double') { - return '"' + value + '"'; - } - - return value; - }); - - if (innerExpr) { - parameters.unshift(innerExpr); - } - return str + parameters.join(', ') + ')'; -} - -export function suffixRenderer(part, innerExpr) { - return innerExpr + ' ' + part.params[0]; -} - -export function identityRenderer(part, innerExpr) { - return part.params[0]; } diff --git a/public/app/plugins/datasource/postgres/query_ctrl.ts b/public/app/plugins/datasource/postgres/query_ctrl.ts index 609342423fd..0b389ae1877 100644 --- a/public/app/plugins/datasource/postgres/query_ctrl.ts +++ b/public/app/plugins/datasource/postgres/query_ctrl.ts @@ -1,6 +1,7 @@ import _ from 'lodash'; import { PostgresQueryBuilder } from './query_builder'; import { QueryCtrl } from 'app/plugins/sdk'; +import { SqlPart } from 'app/core/components/sql_part/sql_part'; import PostgresQuery from './postgres_query'; import sqlPart from './sql_part'; @@ -32,10 +33,10 @@ export class PostgresQueryCtrl extends QueryCtrl { whereAdd: any; timeColumnSegment: any; metricColumnSegment: any; - selectMenu: any; - selectModels: any[]; - groupByParts: any[]; - whereParts: any[]; + selectMenu: any[]; + selectModels: SqlPart[][]; + groupByParts: SqlPart[][]; + whereParts: SqlPart[][]; groupByAdd: any; /** @ngInject **/ diff --git a/public/app/plugins/datasource/postgres/sql_part.ts b/public/app/plugins/datasource/postgres/sql_part.ts index 3e4664c0caf..b9ecc036cd9 100644 --- a/public/app/plugins/datasource/postgres/sql_part.ts +++ b/public/app/plugins/datasource/postgres/sql_part.ts @@ -1,5 +1,5 @@ import _ from 'lodash'; -import { SqlPartDef, SqlPart, functionRenderer, suffixRenderer } from 'app/core/components/sql_part/sql_part'; +import { SqlPartDef, SqlPart } from 'app/core/components/sql_part/sql_part'; var index = []; @@ -16,18 +16,6 @@ function register(options: any) { index[options.type] = new SqlPartDef(options); } -function aliasRenderer(part, innerExpr) { - return innerExpr + ' AS ' + '"' + part.params[0] + '"'; -} - -function aggregateRenderer(part, innerExpr) { - return part.params[0] + '(' + innerExpr + ')'; -} - -function columnRenderer(part, innerExpr) { - return part.params[0]; -} - function replaceAggregationAddStrategy(selectParts, partModel) { var hasAlias = false; @@ -133,7 +121,6 @@ register({ addStrategy: addColumnStrategy, params: [{ type: 'column', dynamicLookup: true }], defaultParams: ['value'], - renderer: columnRenderer, }); register({ @@ -147,7 +134,6 @@ register({ { name: 'right', type: 'string', dynamicLookup: true }, ], defaultParams: ['value', '=', 'value'], - renderer: columnRenderer, }); register({ @@ -157,7 +143,6 @@ register({ addStrategy: addExpressionStrategy, params: [], defaultParams: [], - renderer: columnRenderer, }); register({ @@ -166,7 +151,6 @@ register({ addStrategy: replaceAggregationAddStrategy, params: [{ name: 'name', type: 'string', dynamicLookup: true }], defaultParams: ['avg'], - renderer: aggregateRenderer, }); register({ @@ -175,7 +159,6 @@ register({ addStrategy: addMathStrategy, params: [{ name: 'expr', type: 'string' }], defaultParams: [' / 100'], - renderer: suffixRenderer, }); register({ @@ -184,8 +167,6 @@ register({ addStrategy: addAliasStrategy, params: [{ name: 'name', type: 'string', quote: 'double' }], defaultParams: ['alias'], - renderMode: 'suffix', - renderer: aliasRenderer, }); register({ @@ -205,7 +186,6 @@ register({ }, ], defaultParams: ['$__interval', 'none'], - renderer: functionRenderer, }); register({ @@ -220,7 +200,6 @@ register({ ], defaultParams: ['increase'], addStrategy: replaceSpecialAddStrategy, - renderer: aggregateRenderer, }); export default {