influxdb icon indicating copy to clipboard operation
influxdb copied to clipboard

There is a logical bug with the binary bitwise operation.

Open LingweiKuang opened this issue 1 year ago • 0 comments

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

LingweiKuang avatar Oct 11 '24 01:10 LingweiKuang