Skip to content
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

There is a logical bug with the binary bitwise operation. #25457

Open
LingweiKuang opened this issue Oct 11, 2024 · 0 comments
Open

There is a logical bug with the binary bitwise operation. #25457

LingweiKuang opened this issue Oct 11, 2024 · 0 comments

Comments

@LingweiKuang
Copy link

LingweiKuang commented Oct 11, 2024

Dear InfluxDB Team, I have a bug that I need to report to you.

Steps to reproduce

In the latest version of InfluxDB, if we have an organization named "organization", we can use the Influx client to execute the following commands to create a bucket and write the specified data into that bucket.

influx bucket delete --name db0
influx bucket create --name db0 --org organization

influx write \
  -b db0 \
  -o organization \
  -p ns \
  't0,t0_tag0=initTag t0_f0=0u 1641024000
  t0,t0_tag0=initTag t0_f0=1u 1641024001
  t0,t0_tag0=initTag t0_f0=2u 1641024002
  t0,t0_tag0=initTag t0_f0=3u 1641024003
  t0,t0_tag0=initTag t0_f0=4u 1641024004'

Next, we use the Influx v1 shell command to enter the Influx shell backend and execute four types of query statements:

# query 1 success
SELECT t0_f0, t0_tag0 FROM db0.autogen.t0 WHERE (('a') | ('219565529'))

# query 2 success
SELECT t0_f0, t0_tag0 FROM db0.autogen.t0 WHERE ((t0_tag0) | ('219565529')) != TRUE
SELECT t0_f0, t0_tag0 FROM db0.autogen.t0 WHERE ((t0_tag0) | ('219565529')) ^ TRUE

# query 3 success
SELECT t0_f0, t0_tag0 FROM db0.autogen.t0 WHERE ((t0_tag0) | ('219565529')) != FALSE

# query 4 error
SELECT t0_f0, t0_tag0 FROM db0.autogen.t0 WHERE ((t0_tag0) | ('219565529'))

Expected behaviour

When performing a bitwise OR operation on the field t0_tag0, Query 1 cannot retrieve any data, Query 2 can retrieve all the data, and Query 3 cannot retrieve any data. Therefore, Query 4 should not retrieve any data either, as the clause ((t0_tag0) | ('219565529')) returns FALSE.

Actual behaviour

Query 1 and Query 3 return "No Results," while Query 2 can retrieve all the data. However, Query 4 does not meet expectations, as it retrieves all the data. Could this suggest a logical issue with the binary bitwise operator? I would appreciate your insights on this matter.

Environment info

Influx CLI dev (git: none) build_date: 2023-04-28T14:24:14Z

InfluxDB OSS v2.7.10 (git: f302d97)

Linux 5.15.0-94-generic x86_64

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant