-
Notifications
You must be signed in to change notification settings - Fork 155
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Error when filtering multiple fields in an OR statement #4804
Labels
kind/bug
Something isn't working
Comments
Marwes
pushed a commit
to influxdata/influxdb
that referenced
this issue
Jul 8, 2022
Filters that contain `or` may change between cursor resets so we must remember to update the condition in the read cursor. ```flux |> filter(fn: (r) => ((r["_field"] == "field1" and r["_value"]==true) or (r["_field"] == "field2" and r["_value"] == false))) ``` Closes influxdata/flux#4804
4 tasks
skartikey
pushed a commit
to influxdata/influxdb
that referenced
this issue
Jul 8, 2022
Filters that contain `or` may change between cursor resets so we must remember to update the condition in the read cursor. ```flux |> filter(fn: (r) => ((r["_field"] == "field1" and r["_value"]==true) or (r["_field"] == "field2" and r["_value"] == false))) ``` Closes influxdata/flux#4804
bnpfeife
pushed a commit
to influxdata/influxdb
that referenced
this issue
Oct 25, 2022
Filters that contain `or` may change between cursor resets so we must remember to update the condition in the read cursor. ```flux |> filter(fn: (r) => ((r["_field"] == "field1" and r["_value"]==true) or (r["_field"] == "field2" and r["_value"] == false))) ``` Closes influxdata/flux#4804
bnpfeife
pushed a commit
to influxdata/influxdb
that referenced
this issue
Nov 8, 2022
Filters that contain `or` may change between cursor resets so we must remember to update the condition in the read cursor. ```flux |> filter(fn: (r) => ((r["_field"] == "field1" and r["_value"]==true) or (r["_field"] == "field2" and r["_value"] == false))) ``` Closes influxdata/flux#4804
bnpfeife
added a commit
to influxdata/influxdb
that referenced
this issue
Nov 15, 2022
* feat: upgrade flux to 0.171.0 Tests failing, safety commit First step in #23815 * fix: remove "org" parameter" from writeOptSource I attempted to implement the "orgOpt" argument in a similar fashion to f6669f7. However, it looks like Flux doesn't accept "org" as a parameter to "load". It responds with: Error calling function \"load\" @113:16-113:30: error calling function \"to\" @6:19-6:47: unused arguments [org] This brings us from 194 passing to 570 passing. * fix: temporarily disable broken flux tests These tests expect rows to be stored in a certain order. However, nothing is specifying the sort order. This has been fixed in a later update to flux: (see 3d6f47ded). Temporarily disable these tests until we include a fixed version of the flux tests. * chore: add tests from a492993 This fixes "test-flux.sh" so it runs tests within the "flux/" directory. This uncovered some other issues with the tests located within "flux/". These also needed to be updated to match the newer flux API. * feat: upgrade flux to 0.172.0 This includes changes made in "cbbf4b27da". Since "test.go" in 2.x diverged from 1.x, some modifications were required to make this compatible. * feat: upgrade flux to 0.173.0 * feat: upgrade flux to v0.174.0 * fix: Update the condition when reseting cursor (#23522) Filters that contain `or` may change between cursor resets so we must remember to update the condition in the read cursor. ```flux |> filter(fn: (r) => ((r["_field"] == "field1" and r["_value"]==true) or (r["_field"] == "field2" and r["_value"] == false))) ``` Closes influxdata/flux#4804 * feat: upgrade flux to 0.174.1 * feat: upgrade flux to 0.175.0 * chore: remove end-to-end tests These were removed in a492993 for 2.x. These tests prevent "go test ./..." from completing. As stated in the original commit, these tests should now be handled by the "fluxtest" harness. * feat: upgrade flux to 0.176.0 Some tests needed to be disabled within the flux harness. This is a result of enabling "Optimize Aggregate Window" in flux@05a1065f. These tests are not present in 2.x. Therefore, I am unsure if the breakage is resolved in a later commit. * feat: upgrade flux to 0.177.0 * feat: upgrade flux to 0.178.0 * feat: upgrade flux to v0.179.0 This removes all invocations of "flux.RegisterOpSpec". According to flux@e39096d5, "flux.RegisterOpSpec" does nothing in the current version of flux and was removed. * chore: update fluxtest skip list (#23633) * chore: manually backport 785a465 This removes the reference to "flux.Spec". * build(flux): update flux to v0.181.0 (#23682) * build(flux): update flux to v0.184.2 * chore: skip more Flux acceptance tests There are issues for each skip detailed in test-flux.sh. * feat: upgrade flux to v0.185.0 This adds "FluxTesting" to the "HTTPD" configuration. This option is hidden and disabled by default. When "FluxTesting" is set, it enables the default testing flags for "Flux". These flags allow the "vectorized float tests" and tests requiring the "removeRedundantSortNodes" and "labelPolymorphism" flag enabled to work. These changes are based off of d8553c0. flux@3d6f47ded is included within this version of Flux. Therefore we can now include the "group_*" tests. * feat: upgrade flux to 0.186.0 * feat: upgrade flux to 0.187.0 * feat: upgrade flux to 0.188.0 * fix: re-run ./generate.sh with updated protoc * fix: restrict cores to match CircleCI documentation Co-authored-by: davidby-influx <dbyrne@influxdata.com> Co-authored-by: Markus Westerlind <marwes91@gmail.com> Co-authored-by: Sean Brickley <sean@wabr.io> Co-authored-by: Jonathan A. Sternberg <jonathan@influxdata.com> Co-authored-by: Christopher M. Wolff <chris.wolff@influxdata.com>
jeffreyssmith2nd
pushed a commit
to influxdata/influxdb
that referenced
this issue
Mar 2, 2023
* feat: upgrade flux to 0.171.0 Tests failing, safety commit First step in #23815 * fix: remove "org" parameter" from writeOptSource I attempted to implement the "orgOpt" argument in a similar fashion to f6669f7. However, it looks like Flux doesn't accept "org" as a parameter to "load". It responds with: Error calling function \"load\" @113:16-113:30: error calling function \"to\" @6:19-6:47: unused arguments [org] This brings us from 194 passing to 570 passing. * fix: temporarily disable broken flux tests These tests expect rows to be stored in a certain order. However, nothing is specifying the sort order. This has been fixed in a later update to flux: (see 3d6f47ded). Temporarily disable these tests until we include a fixed version of the flux tests. * chore: add tests from a492993 This fixes "test-flux.sh" so it runs tests within the "flux/" directory. This uncovered some other issues with the tests located within "flux/". These also needed to be updated to match the newer flux API. * feat: upgrade flux to 0.172.0 This includes changes made in "cbbf4b27da". Since "test.go" in 2.x diverged from 1.x, some modifications were required to make this compatible. * feat: upgrade flux to 0.173.0 * feat: upgrade flux to v0.174.0 * fix: Update the condition when reseting cursor (#23522) Filters that contain `or` may change between cursor resets so we must remember to update the condition in the read cursor. ```flux |> filter(fn: (r) => ((r["_field"] == "field1" and r["_value"]==true) or (r["_field"] == "field2" and r["_value"] == false))) ``` Closes influxdata/flux#4804 * feat: upgrade flux to 0.174.1 * feat: upgrade flux to 0.175.0 * chore: remove end-to-end tests These were removed in a492993 for 2.x. These tests prevent "go test ./..." from completing. As stated in the original commit, these tests should now be handled by the "fluxtest" harness. * feat: upgrade flux to 0.176.0 Some tests needed to be disabled within the flux harness. This is a result of enabling "Optimize Aggregate Window" in flux@05a1065f. These tests are not present in 2.x. Therefore, I am unsure if the breakage is resolved in a later commit. * feat: upgrade flux to 0.177.0 * feat: upgrade flux to 0.178.0 * feat: upgrade flux to v0.179.0 This removes all invocations of "flux.RegisterOpSpec". According to flux@e39096d5, "flux.RegisterOpSpec" does nothing in the current version of flux and was removed. * chore: update fluxtest skip list (#23633) * chore: manually backport 785a465 This removes the reference to "flux.Spec". * build(flux): update flux to v0.181.0 (#23682) * build(flux): update flux to v0.184.2 * chore: skip more Flux acceptance tests There are issues for each skip detailed in test-flux.sh. * feat: upgrade flux to v0.185.0 This adds "FluxTesting" to the "HTTPD" configuration. This option is hidden and disabled by default. When "FluxTesting" is set, it enables the default testing flags for "Flux". These flags allow the "vectorized float tests" and tests requiring the "removeRedundantSortNodes" and "labelPolymorphism" flag enabled to work. These changes are based off of d8553c0. flux@3d6f47ded is included within this version of Flux. Therefore we can now include the "group_*" tests. * feat: upgrade flux to 0.186.0 * feat: upgrade flux to 0.187.0 * feat: upgrade flux to 0.188.0 * fix: re-run ./generate.sh with updated protoc * fix: restrict cores to match CircleCI documentation Co-authored-by: davidby-influx <dbyrne@influxdata.com> Co-authored-by: Markus Westerlind <marwes91@gmail.com> Co-authored-by: Sean Brickley <sean@wabr.io> Co-authored-by: Jonathan A. Sternberg <jonathan@influxdata.com> Co-authored-by: Christopher M. Wolff <chris.wolff@influxdata.com>
jeffreyssmith2nd
added a commit
to influxdata/influxdb
that referenced
this issue
Mar 3, 2023
* chore: update to go 1.19.6 * chore: gofmt * test: fix tests for sort order change * chore: generate pb * feat: upgrade flux to v0.188.0 (#23911) * feat: upgrade flux to 0.171.0 Tests failing, safety commit First step in #23815 * fix: remove "org" parameter" from writeOptSource I attempted to implement the "orgOpt" argument in a similar fashion to f6669f7. However, it looks like Flux doesn't accept "org" as a parameter to "load". It responds with: Error calling function \"load\" @113:16-113:30: error calling function \"to\" @6:19-6:47: unused arguments [org] This brings us from 194 passing to 570 passing. * fix: temporarily disable broken flux tests These tests expect rows to be stored in a certain order. However, nothing is specifying the sort order. This has been fixed in a later update to flux: (see 3d6f47ded). Temporarily disable these tests until we include a fixed version of the flux tests. * chore: add tests from a492993 This fixes "test-flux.sh" so it runs tests within the "flux/" directory. This uncovered some other issues with the tests located within "flux/". These also needed to be updated to match the newer flux API. * feat: upgrade flux to 0.172.0 This includes changes made in "cbbf4b27da". Since "test.go" in 2.x diverged from 1.x, some modifications were required to make this compatible. * feat: upgrade flux to 0.173.0 * feat: upgrade flux to v0.174.0 * fix: Update the condition when reseting cursor (#23522) Filters that contain `or` may change between cursor resets so we must remember to update the condition in the read cursor. ```flux |> filter(fn: (r) => ((r["_field"] == "field1" and r["_value"]==true) or (r["_field"] == "field2" and r["_value"] == false))) ``` Closes influxdata/flux#4804 * feat: upgrade flux to 0.174.1 * feat: upgrade flux to 0.175.0 * chore: remove end-to-end tests These were removed in a492993 for 2.x. These tests prevent "go test ./..." from completing. As stated in the original commit, these tests should now be handled by the "fluxtest" harness. * feat: upgrade flux to 0.176.0 Some tests needed to be disabled within the flux harness. This is a result of enabling "Optimize Aggregate Window" in flux@05a1065f. These tests are not present in 2.x. Therefore, I am unsure if the breakage is resolved in a later commit. * feat: upgrade flux to 0.177.0 * feat: upgrade flux to 0.178.0 * feat: upgrade flux to v0.179.0 This removes all invocations of "flux.RegisterOpSpec". According to flux@e39096d5, "flux.RegisterOpSpec" does nothing in the current version of flux and was removed. * chore: update fluxtest skip list (#23633) * chore: manually backport 785a465 This removes the reference to "flux.Spec". * build(flux): update flux to v0.181.0 (#23682) * build(flux): update flux to v0.184.2 * chore: skip more Flux acceptance tests There are issues for each skip detailed in test-flux.sh. * feat: upgrade flux to v0.185.0 This adds "FluxTesting" to the "HTTPD" configuration. This option is hidden and disabled by default. When "FluxTesting" is set, it enables the default testing flags for "Flux". These flags allow the "vectorized float tests" and tests requiring the "removeRedundantSortNodes" and "labelPolymorphism" flag enabled to work. These changes are based off of d8553c0. flux@3d6f47ded is included within this version of Flux. Therefore we can now include the "group_*" tests. * feat: upgrade flux to 0.186.0 * feat: upgrade flux to 0.187.0 * feat: upgrade flux to 0.188.0 * fix: re-run ./generate.sh with updated protoc * fix: restrict cores to match CircleCI documentation Co-authored-by: davidby-influx <dbyrne@influxdata.com> Co-authored-by: Markus Westerlind <marwes91@gmail.com> Co-authored-by: Sean Brickley <sean@wabr.io> Co-authored-by: Jonathan A. Sternberg <jonathan@influxdata.com> Co-authored-by: Christopher M. Wolff <chris.wolff@influxdata.com> --------- Co-authored-by: Brandon Pfeifer <bpfeifer@influxdata.com> Co-authored-by: davidby-influx <dbyrne@influxdata.com> Co-authored-by: Markus Westerlind <marwes91@gmail.com> Co-authored-by: Sean Brickley <sean@wabr.io> Co-authored-by: Jonathan A. Sternberg <jonathan@influxdata.com> Co-authored-by: Christopher M. Wolff <chris.wolff@influxdata.com>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
I've been doing some filtering by fields and have noticed an issue when trying to filter using two or more boolean fields.
If I filter by two fields with the same value, the filter works as expected.
|> filter(fn: (r) => ((r["_field"] == "field1" and r["_value"]==true) or (r["_field"] == "field2" and r["_value"] == true)))
However, if I want a different value from each field, only the second value is being used for both fields.
|> filter(fn: (r) => ((r["_field"] == "field1" and r["_value"]==true) or (r["_field"] == "field2" and r["_value"] == false)))
Only yields records where field1 is false or field2 is false
|> filter(fn: (r) => ((r["_field"] == "field1" and r["_value"]==false) or (r["_field"] == "field2" and r["_value"] == true)))
Only yields records where field1 is true or field2 is true
The text was updated successfully, but these errors were encountered: