diff --git a/CHANGELOG.md b/CHANGELOG.md index 13434b796..c2edb1a77 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,9 @@ +## 0.19.2 / 2016-05-29 + +* [BUGFIX] Correctly handle `GROUP_LEFT` and `GROUP_RIGHT` without labels in + string representation of expressions and in rules. +* [BUGFIX] Use `-web.external-url` for new status endpoints. + ## 0.19.1 / 2016-05-25 * [BUGFIX] Handle service discovery panic affecting Kubernetes SD diff --git a/VERSION b/VERSION index 41915c799..61e6e92d9 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -0.19.1 +0.19.2 diff --git a/promql/printer.go b/promql/printer.go index a6d38b1ad..785a14d44 100644 --- a/promql/printer.go +++ b/promql/printer.go @@ -165,11 +165,16 @@ func (node *BinaryExpr) String() string { } else { matching = fmt.Sprintf(" ON(%s)", vm.MatchingLabels) } - if vm.Card == CardManyToOne { - matching += fmt.Sprintf(" GROUP_LEFT(%s)", vm.Include) - } - if vm.Card == CardOneToMany { - matching += fmt.Sprintf(" GROUP_RIGHT(%s)", vm.Include) + if vm.Card == CardManyToOne || vm.Card == CardOneToMany { + matching += " GROUP_" + if vm.Card == CardManyToOne { + matching += "LEFT" + } else { + matching += "RIGHT" + } + if len(vm.Include) > 0 { + matching += fmt.Sprintf("(%s)", vm.Include) + } } } return fmt.Sprintf("%s %s%s%s %s", node.LHS, node.Op, returnBool, matching, node.RHS) diff --git a/promql/printer_test.go b/promql/printer_test.go index e17774ac8..c02e26ba6 100644 --- a/promql/printer_test.go +++ b/promql/printer_test.go @@ -39,6 +39,15 @@ func TestExprString(t *testing.T) { { in: `a - ON(b) c`, }, + { + in: `a - ON(b) GROUP_LEFT(x) c`, + }, + { + in: `a - ON(b) GROUP_LEFT(x, y) c`, + }, + { + in: `a - ON(b) GROUP_LEFT c`, + }, { in: `a - IGNORING(b) c`, },