mirror of
https://github.com/grafana/grafana.git
synced 2025-09-22 17:42:53 +08:00
use unixEpochGroup macro for unix timestamp
This commit is contained in:
@ -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) {
|
||||||
|
@ -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() {
|
||||||
|
Reference in New Issue
Block a user