iotdb icon indicating copy to clipboard operation
iotdb copied to clipboard

[Bug] The Not operator handles Boolean constants and Boolean operation results inconsistently.

Open LingweiKuang opened this issue 1 year ago • 0 comments

Search before asking

  • [X] I searched in the issues and found nothing similar.

Version

1.3.2

Describe the bug and provide the minimal reproduce step

DROP DATABASE root.db0
CREATE DATABASE root.db0

INSERT INTO root.db0(t1) VALUES (1)
INSERT INTO root.db0(timestamp, t1) VALUES (13453556, 2)
INSERT INTO root.db0(timestamp, t1) VALUES (1519786882, 3)

# query 1
SELECT t1 FROM root.db0 WHERE !FALSE

# query 2
SELECT t1 FROM root.db0 WHERE !(1 != 1)

What did you expect to see?

Query 1 and Query 2 should yield the same result, as 1 != 1 is equivalent to FALSE.

What did you see instead?

Query 1 can retrieve all the data, but Query 2 reports the error Msg: org.apache.iotdb.jdbc.IoTDBSQLException: 301: This predicate contains a not! Did you forget to run this predicate through PredicateRemoveNotRewriter?.

Anything else?

Dear IoTDB team, I believe this is a logical bug, as 1 != 1 is equivalent to FALSE, yet the results of the two operations are inconsistent. If it is a bug, please mark this issue as "bug". Thank you!

Are you willing to submit a PR?

  • [x] I'm willing to submit a PR!

LingweiKuang avatar Oct 11 '24 13:10 LingweiKuang