Skip to content

Commit a3b0fbc

Browse files
committed
fix(influxdb): fixes broken tag rendering for influxdb alerting
closes grafana#6626 ref grafana#6523
1 parent 7ce33c3 commit a3b0fbc

File tree

2 files changed

+12
-8
lines changed

2 files changed

+12
-8
lines changed

pkg/tsdb/influxdb/query.go

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ package influxdb
22

33
import (
44
"fmt"
5-
"strconv"
65
"strings"
76

87
"regexp"
@@ -58,13 +57,12 @@ func (query *Query) renderTags() []string {
5857
}
5958

6059
textValue := ""
61-
numericValue, err := strconv.ParseFloat(tag.Value, 64)
6260

6361
// quote value unless regex or number
6462
if tag.Operator == "=~" || tag.Operator == "!~" {
6563
textValue = tag.Value
66-
} else if err == nil {
67-
textValue = fmt.Sprintf("%v", numericValue)
64+
} else if tag.Operator == "<" || tag.Operator == ">" {
65+
textValue = tag.Value
6866
} else {
6967
textValue = fmt.Sprintf("'%s'", tag.Value)
7068
}

pkg/tsdb/influxdb/query_test.go

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -106,13 +106,19 @@ func TestInfluxdbQueryBuilder(t *testing.T) {
106106
Convey("can render number tags", func() {
107107
query := &Query{Tags: []*Tag{&Tag{Operator: "=", Value: "10001", Key: "key"}}}
108108

109-
So(strings.Join(query.renderTags(), ""), ShouldEqual, `"key" = 10001`)
109+
So(strings.Join(query.renderTags(), ""), ShouldEqual, `"key" = '10001'`)
110110
})
111111

112-
Convey("can render number tags with decimals", func() {
113-
query := &Query{Tags: []*Tag{&Tag{Operator: "=", Value: "10001.1", Key: "key"}}}
112+
Convey("can render numbers less then condition tags", func() {
113+
query := &Query{Tags: []*Tag{&Tag{Operator: "<", Value: "10001", Key: "key"}}}
114114

115-
So(strings.Join(query.renderTags(), ""), ShouldEqual, `"key" = 10001.1`)
115+
So(strings.Join(query.renderTags(), ""), ShouldEqual, `"key" < 10001`)
116+
})
117+
118+
Convey("can render number greather then condition tags", func() {
119+
query := &Query{Tags: []*Tag{&Tag{Operator: ">", Value: "10001", Key: "key"}}}
120+
121+
So(strings.Join(query.renderTags(), ""), ShouldEqual, `"key" > 10001`)
116122
})
117123

118124
Convey("can render string tags", func() {

0 commit comments

Comments
 (0)