Skip to content

flux short circuit boolean evaluation not short circuiting! #19132

Open
@markddavidoff

Description

@markddavidoff

Steps to reproduce:
List the minimal actions needed to reproduce the behavior.

  1. filter with a compound filter errors out with cannot compile @ 21:19-22:54: unsupported binary expression string >= int:
|> filter(fn: (r) =>
		(r["_field"] == "offline_for" and r["_value"] >= 0))

Expected behavior:
all offline_for fields are floats, so i'd expect the left hand filter to only return float rows and the exit before passing non-float rows to the right hand side.

Actual behavior:
errors out with cannot compile @ 21:19-22:54: unsupported binary expression string >= int

Workaround

|> filter(fn: (r) => (r["_field"] == "offline_for"))
|> filter( fn: (r) => r["_value"] >= 0)

splitting up the filter into 2 rows works as expected

Environment info:
influx db cloud 2.0

Other Context
oddly, this seems to only manifest if I add another query before this compound query, trying it by itself works fine. you can shoot me an email or have support contact me if you need the full query

Metadata

Metadata

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions