diff --git a/pkg/tsdb/influxdb/query_builder.go b/pkg/tsdb/influxdb/query_builder.go index 487193584d8..d82950ba4bf 100644 --- a/pkg/tsdb/influxdb/query_builder.go +++ b/pkg/tsdb/influxdb/query_builder.go @@ -41,7 +41,11 @@ func (*QueryBuild) Build(query *Query) (string, error) { } res += strings.Join(selectors, ", ") - res += fmt.Sprintf(` FROM "%s"`, query.Measurement) + policy := "" + if query.Policy != "" { + policy = `"` + query.Policy + `".` + } + res += fmt.Sprintf(` FROM %s"%s"`, policy, query.Measurement) res += " WHERE " conditions := renderTags(query) diff --git a/pkg/tsdb/influxdb/query_builder_test.go b/pkg/tsdb/influxdb/query_builder_test.go index 0e5a25eca5f..ce0c2046c6a 100644 --- a/pkg/tsdb/influxdb/query_builder_test.go +++ b/pkg/tsdb/influxdb/query_builder_test.go @@ -23,12 +23,13 @@ func TestInfluxdbQueryBuilder(t *testing.T) { query := &Query{ Selects: []*Select{{*qp1, *qp2}}, Measurement: "cpu", + Policy: "policy", GroupBy: []*QueryPart{groupBy1, groupBy2}, } rawQuery, err := builder.Build(query) So(err, ShouldBeNil) - So(rawQuery, ShouldEqual, `SELECT mean("value") FROM "cpu" WHERE $timeFilter GROUP BY time($interval) fill(null)`) + So(rawQuery, ShouldEqual, `SELECT mean("value") FROM "policy"."cpu" WHERE $timeFilter GROUP BY time($interval) fill(null)`) }) Convey("can asd query", func() {