|
|
@@ -11,7 +11,8 @@ import (
|
|
|
)
|
|
|
|
|
|
var (
|
|
|
- regexpOperatorPattern *regexp.Regexp = regexp.MustCompile(`^\/.*\/$`)
|
|
|
+ regexpOperatorPattern *regexp.Regexp = regexp.MustCompile(`^\/.*\/$`)
|
|
|
+ regexpMeasurementPattern *regexp.Regexp = regexp.MustCompile(`^\/.*\/$`)
|
|
|
)
|
|
|
|
|
|
func (query *Query) Build(queryContext *tsdb.QueryContext) (string, error) {
|
|
|
@@ -108,7 +109,14 @@ func (query *Query) renderMeasurement() string {
|
|
|
} else {
|
|
|
policy = `"` + query.Policy + `".`
|
|
|
}
|
|
|
- return fmt.Sprintf(` FROM %s"%s"`, policy, query.Measurement)
|
|
|
+
|
|
|
+ measurement := query.Measurement
|
|
|
+
|
|
|
+ if !regexpMeasurementPattern.Match([]byte(measurement)) {
|
|
|
+ measurement = fmt.Sprintf(`"%s"`, measurement)
|
|
|
+ }
|
|
|
+
|
|
|
+ return fmt.Sprintf(` FROM %s%s`, policy, measurement)
|
|
|
}
|
|
|
|
|
|
func (query *Query) renderWhereClause() string {
|