Browse Source

Fix bool modifier in recording rules and printing.

Fixes https://github.com/prometheus/prometheus/issues/1065
pull/1066/head
Julius Volz 9 years ago
parent
commit
6d3e054692
  1. 7
      promql/printer.go
  2. 3
      promql/printer_test.go

7
promql/printer.go

@ -146,6 +146,11 @@ func (node *AggregateExpr) String() string {
}
func (node *BinaryExpr) String() string {
returnBool := ""
if node.ReturnBool {
returnBool = " BOOL"
}
matching := ""
vm := node.VectorMatching
if vm != nil && len(vm.On) > 0 {
@ -157,7 +162,7 @@ func (node *BinaryExpr) String() string {
matching += fmt.Sprintf(" GROUP_RIGHT(%s)", vm.Include)
}
}
return fmt.Sprintf("%s %s%s %s", node.LHS, node.Op, matching, node.RHS)
return fmt.Sprintf("%s %s%s%s %s", node.LHS, node.Op, returnBool, matching, node.RHS)
}
func (node *Call) String() string {

3
promql/printer_test.go

@ -30,6 +30,9 @@ func TestExprString(t *testing.T) {
{
in: `sum(task:errors:rate10s{job="s"}) BY (code) KEEP_COMMON`,
},
{
in: `up > BOOL 0`,
},
}
for _, test := range inputs {

Loading…
Cancel
Save