Skip to content

Commit e499e88

Browse files
committed
fix(influxdb): fix for timerange
1 parent 0633e2c commit e499e88

File tree

3 files changed

+14
-17
lines changed

3 files changed

+14
-17
lines changed

pkg/tsdb/influxdb/models.go

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
package influxdb
22

3-
import "github.com/grafana/grafana/pkg/tsdb"
4-
53
type Query struct {
64
Measurement string
75
Policy string
@@ -10,8 +8,7 @@ type Query struct {
108
GroupBy []*QueryPart
119
Selects []*Select
1210

13-
Interval string
14-
TimeRange tsdb.TimeRange
11+
Interval string
1512
}
1613

1714
type Tag struct {

pkg/tsdb/influxdb/query_builder.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -33,18 +33,18 @@ func (*QueryBuilder) Build(query *Query, queryContext *tsdb.QueryContext) (strin
3333
res := renderSelectors(query)
3434
res += renderMeasurement(query)
3535
res += renderWhereClause(query)
36-
res += renderTimeFilter(query)
36+
res += renderTimeFilter(query, queryContext)
3737
res += renderGroupBy(query)
3838

3939
return res, nil
4040
}
4141

42-
func renderTimeFilter(query *Query) string {
43-
from := "now() - " + query.TimeRange.From
42+
func renderTimeFilter(query *Query, queryContext *tsdb.QueryContext) string {
43+
from := "now() - " + queryContext.TimeRange.From
4444
to := ""
4545

46-
if query.TimeRange.To != "now" && query.TimeRange.To != "" {
47-
to = " and time < now() - " + strings.Replace(query.TimeRange.To, "now-", "", 1)
46+
if queryContext.TimeRange.To != "now" && queryContext.TimeRange.To != "" {
47+
to = " and time < now() - " + strings.Replace(queryContext.TimeRange.To, "now-", "", 1)
4848
}
4949

5050
return fmt.Sprintf("time > %s%s", from, to)

pkg/tsdb/influxdb/query_builder_test.go

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ func TestInfluxdbQueryBuilder(t *testing.T) {
2222
tag2 := &Tag{Key: "hostname", Value: "server2", Operator: "=", Condition: "OR"}
2323

2424
queryContext := &tsdb.QueryContext{
25-
TimeRange: tsdb.NewTimeRange("now-5m", "now"),
25+
TimeRange: tsdb.NewTimeRange("5m", "now"),
2626
}
2727

2828
Convey("can build simple query", func() {
@@ -32,7 +32,6 @@ func TestInfluxdbQueryBuilder(t *testing.T) {
3232
Policy: "policy",
3333
GroupBy: []*QueryPart{groupBy1, groupBy2},
3434
Interval: "10s",
35-
TimeRange: tsdb.TimeRange{From: "5m"},
3635
}
3736

3837
rawQuery, err := builder.Build(query, queryContext)
@@ -47,23 +46,24 @@ func TestInfluxdbQueryBuilder(t *testing.T) {
4746
GroupBy: []*QueryPart{groupBy1},
4847
Tags: []*Tag{tag1, tag2},
4948
Interval: "5s",
50-
TimeRange: tsdb.TimeRange{From: "1h", To: "now-1m"},
5149
}
5250

5351
rawQuery, err := builder.Build(query, queryContext)
5452
So(err, ShouldBeNil)
55-
So(rawQuery, ShouldEqual, `SELECT mean("value") FROM "cpu" WHERE "hostname" = 'server1' OR "hostname" = 'server2' AND time > now() - 1h and time < now() - 1m GROUP BY time(10s)`)
53+
So(rawQuery, ShouldEqual, `SELECT mean("value") FROM "cpu" WHERE "hostname" = 'server1' OR "hostname" = 'server2' AND time > now() - 5m GROUP BY time(10s)`)
5654
})
5755

5856
Convey("can render time range", func() {
57+
query := Query{}
5958
Convey("render from: 2h to now-1h", func() {
60-
query := Query{TimeRange: tsdb.TimeRange{From: "2h", To: "now-1h"}}
61-
So(renderTimeFilter(&query), ShouldEqual, "time > now() - 2h and time < now() - 1h")
59+
query := Query{}
60+
queryContext := &tsdb.QueryContext{TimeRange: tsdb.NewTimeRange("2h", "now-1h")}
61+
So(renderTimeFilter(&query, queryContext), ShouldEqual, "time > now() - 2h and time < now() - 1h")
6262
})
6363

6464
Convey("render from: 10m", func() {
65-
query := Query{TimeRange: tsdb.TimeRange{From: "10m"}}
66-
So(renderTimeFilter(&query), ShouldEqual, "time > now() - 10m")
65+
queryContext := &tsdb.QueryContext{TimeRange: tsdb.NewTimeRange("10m", "now")}
66+
So(renderTimeFilter(&query, queryContext), ShouldEqual, "time > now() - 10m")
6767
})
6868
})
6969
})

0 commit comments

Comments
 (0)