promql/parser: fix symmetric fill detection to compare values not pointers

Signed-off-by: Julien Pivotto <291750+roidelapluie@users.noreply.github.com>
This commit is contained in:
Julien Pivotto 2026-06-03 15:31:04 +02:00
parent 05d9bd4a27
commit 710dbb74c9
2 changed files with 5 additions and 1 deletions

View file

@ -174,7 +174,7 @@ func (node *BinaryExpr) getMatchingStr() string {
}
if vm.FillValues.LHS != nil || vm.FillValues.RHS != nil {
if vm.FillValues.LHS == vm.FillValues.RHS {
if vm.FillValues.LHS != nil && vm.FillValues.RHS != nil && *vm.FillValues.LHS == *vm.FillValues.RHS {
matching += fmt.Sprintf(" fill (%v)", *vm.FillValues.LHS)
} else {
if vm.FillValues.LHS != nil {

View file

@ -130,6 +130,10 @@ func TestExprString(t *testing.T) {
in: `a + fill_left(-23) fill_right(42) b`,
out: `a + fill_left (-23) fill_right (42) b`,
},
{
in: `a + fill_left(5) fill_right(5) b`,
out: `a + fill (5) b`,
},
{
in: `a + on(b) group_left fill(-23) c`,
out: `a + on (b) group_left () fill (-23) c`,