diff --git a/public/app/plugins/datasource/postgres/query_ctrl.ts b/public/app/plugins/datasource/postgres/query_ctrl.ts index 84c93461279..cf6efb98351 100644 --- a/public/app/plugins/datasource/postgres/query_ctrl.ts +++ b/public/app/plugins/datasource/postgres/query_ctrl.ts @@ -201,23 +201,24 @@ export class PostgresQueryCtrl extends QueryCtrl { tableChanged() { this.target.table = this.tableSegment.value; + this.target.where = []; + this.target.group = []; + this.updateProjection(); + let task1 = this.datasource.metricFindQuery(this.metaBuilder.buildColumnQuery('time')).then(result => { // check if time column is still valid if (result.length > 0 && !_.find(result, (r: any) => r.text === this.target.timeColumn)) { let segment = this.uiSegmentSrv.newSegment(result[0].text); this.timeColumnSegment.html = segment.html; this.timeColumnSegment.value = segment.value; - - return this.timeColumnChanged(false); } + return this.timeColumnChanged(false); }); let task2 = this.datasource.metricFindQuery(this.metaBuilder.buildColumnQuery('value')).then(result => { if (result.length > 0) { this.target.select = [[{ type: 'column', params: [result[0].text] }]]; - this.target.where = []; - this.target.group = []; + this.updateProjection(); } - this.updateProjection(); }); this.$q.all([task1, task2]).then(() => { @@ -238,19 +239,19 @@ export class PostgresQueryCtrl extends QueryCtrl { if (result.length === 1) { if (this.target.timeColumnType !== result[0].text) { this.target.timeColumnType = result[0].text; - let partModel; - if (this.queryModel.hasUnixEpochTimecolumn()) { - partModel = sqlPart.create({ type: 'macro', name: '$__unixEpochFilter', params: [] }); - } else { - partModel = sqlPart.create({ type: 'macro', name: '$__timeFilter', params: [] }); - } + } + let partModel; + if (this.queryModel.hasUnixEpochTimecolumn()) { + partModel = sqlPart.create({ type: 'macro', name: '$__unixEpochFilter', params: [] }); + } else { + partModel = sqlPart.create({ type: 'macro', name: '$__timeFilter', params: [] }); + } - if (this.whereParts.length >= 1 && this.whereParts[0].def.type === 'macro') { - // replace current macro - this.whereParts[0] = partModel; - } else { - this.whereParts.splice(0, 0, partModel); - } + if (this.whereParts.length >= 1 && this.whereParts[0].def.type === 'macro') { + // replace current macro + this.whereParts[0] = partModel; + } else { + this.whereParts.splice(0, 0, partModel); } }