Procházet zdrojové kódy

feat(influxdb): add support for policies

bergquist před 9 roky
rodič
revize
887ca40455

+ 5 - 1
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)

+ 2 - 1
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() {