Merge pull request #13200 from svenklemm/postgres-query-builder-fixes

Fix query builder queries for interval start
This commit is contained in:
Marcus Efraimsson
2018-09-10 13:01:17 +02:00
committed by GitHub
2 changed files with 16 additions and 6 deletions

View File

@ -187,7 +187,8 @@ export default class PostgresQuery {
case 'increase':
curr = query;
prev = 'lag(' + curr + ') OVER (' + over + ')';
query = '(CASE WHEN ' + curr + ' >= ' + prev + ' THEN ' + curr + ' - ' + prev + ' ELSE ' + curr + ' END)';
query = '(CASE WHEN ' + curr + ' >= ' + prev + ' THEN ' + curr + ' - ' + prev;
query += ' WHEN ' + prev + ' IS NULL THEN NULL ELSE ' + curr + ' END)';
break;
case 'rate':
let timeColumn = this.target.timeColumn;
@ -197,7 +198,8 @@ export default class PostgresQuery {
curr = query;
prev = 'lag(' + curr + ') OVER (' + over + ')';
query = '(CASE WHEN ' + curr + ' >= ' + prev + ' THEN ' + curr + ' - ' + prev + ' ELSE ' + curr + ' END)';
query = '(CASE WHEN ' + curr + ' >= ' + prev + ' THEN ' + curr + ' - ' + prev;
query += ' WHEN ' + prev + ' IS NULL THEN NULL ELSE ' + curr + ' END)';
query += '/extract(epoch from ' + timeColumn + ' - lag(' + timeColumn + ') OVER (' + over + '))';
break;
default:
@ -279,6 +281,9 @@ export default class PostgresQuery {
query += this.buildGroupClause();
query += '\nORDER BY 1';
if (this.hasMetricColumn()) {
query += ',2';
}
return query;
}