fix rate special function when using group by

This commit is contained in:
Sven Klemm
2018-07-15 15:14:12 +02:00
parent c3c20ef2e2
commit 6e824e81bf
4 changed files with 29 additions and 25 deletions

View File

@ -27,17 +27,17 @@ export class PostgresDatasource {
return value;
}
var quotedValues = _.map(value, function(val) {
let quotedValues = _.map(value, function(val) {
return "'" + val + "'";
});
return quotedValues.join(',');
}
query(options) {
var queries = _.filter(options.targets, target => {
let queries = _.filter(options.targets, target => {
return target.hide !== true;
}).map(target => {
var queryModel = new PostgresQuery(target, this.templateSrv, options.scopedVars);
let queryModel = new PostgresQuery(target, this.templateSrv, options.scopedVars);
return {
refId: target.refId,

View File

@ -154,6 +154,10 @@ export default class PostgresQuery {
break;
case 'rate':
let timeColumn = this.target.timeColumn;
if (aggregate) {
timeColumn = 'min(' + timeColumn + ')';
}
let curr = query;
let prev = 'lag(' + curr + ') OVER (' + over + ')';
query = '(CASE WHEN ' + curr + ' >= ' + prev + ' THEN ' + curr + ' - ' + prev + ' ELSE ' + curr + ' END)';

View File

@ -1,9 +1,9 @@
import { SqlPartDef, SqlPart } from 'app/core/components/sql_part/sql_part';
var index = [];
let index = [];
function createPart(part): any {
var def = index[part.type];
let def = index[part.type];
if (!def) {
return null;
}