use unixEpochGroup macro for unix timestamp

This commit is contained in:
Sven Klemm
2018-08-18 12:03:47 +02:00
parent 998bb6ebe3
commit 18ce6fc280
2 changed files with 14 additions and 4 deletions

View File

@ -99,6 +99,7 @@ export default class PostgresQuery {
buildTimeColumn(alias = true) { buildTimeColumn(alias = true) {
let timeGroup = this.hasTimeGroup(); let timeGroup = this.hasTimeGroup();
let query; let query;
let macro = '$__timeGroup';
if (timeGroup) { if (timeGroup) {
let args; let args;
@ -107,11 +108,13 @@ export default class PostgresQuery {
} else { } else {
args = timeGroup.params[0]; args = timeGroup.params[0];
} }
if (alias) { if (['int4', 'int8', 'float4', 'float8', 'numeric'].indexOf(this.target.timeColumnType) > -1) {
query = '$__timeGroupAlias(' + this.target.timeColumn + ',' + args + ')'; macro = '$__unixEpochGroup';
} else {
query = '$__timeGroup(' + this.target.timeColumn + ',' + args + ')';
} }
if (alias) {
macro += 'Alias';
}
query = macro + '(' + this.target.timeColumn + ',' + args + ')';
} else { } else {
query = this.target.timeColumn; query = this.target.timeColumn;
if (alias) { if (alias) {

View File

@ -35,6 +35,13 @@ describe('PostgresQuery', function() {
query = new PostgresQuery({ timeColumn: 'time', group: [{ type: 'time', params: ['5m', 'NULL'] }] }, templateSrv); query = new PostgresQuery({ timeColumn: 'time', group: [{ type: 'time', params: ['5m', 'NULL'] }] }, templateSrv);
expect(query.buildTimeColumn()).toBe('$__timeGroupAlias(time,5m,NULL)'); expect(query.buildTimeColumn()).toBe('$__timeGroupAlias(time,5m,NULL)');
query = new PostgresQuery(
{ timeColumn: 'time', timeColumnType: 'int4', group: [{ type: 'time', params: ['5m', 'none'] }] },
templateSrv
);
expect(query.buildTimeColumn()).toBe('$__unixEpochGroupAlias(time,5m)');
expect(query.buildTimeColumn(false)).toBe('$__unixEpochGroup(time,5m)');
}); });
describe('When generating metric column SQL', function() { describe('When generating metric column SQL', function() {