influxdata / influxdata/influxdb
There is a logical error in filtering when the Time field is enclosed in parentheses
- Dominant language
- Rust
- Stars
- 31.7k
- Forks
- 3.7k
- Avg merge
- 13h 37m
- Merged PRs (30d)
- 8
Description
Dear InfluxDB Team, When we enclose the `time` field in parentheses within a predicate expression, in the following query, the actual query range for `time` should be greater than the timestamp `1741024000000000000`. However, data with a timestamp of `1641024000000000000` is still being retrieved, indicating a logical error.
#### 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=1 1641024000000000000'
```
Next, we use the `influx v1 shell` command to enter the Influx shell backend and execute the following query statement:
```
# query 1
SELECT t0_f0 FROM db0.autogen.t0 WHERE (time) >= (1741024000000000000)
```
#### Expected behaviour
Query 1 returned result set: **empty set**
#### Actual behaviour
Query 1 returned result set: **1**
#### Environment info
Influx CLI dev (git: a79a2a1b825867421d320428538f76a4c90aa34c) build_date: 2024-04-16T14:34:32Z
InfluxDB OSS v2.7.11 (git: [fbf5d4a](https://github.com/influxdata/influxdb/commit/fbf5d4ab5e65d3a3661aa52e1d05259d19a6a81b))
Linux 5.15.0-94-generic x86_64
Contributor guide
Research direction
Reproduce the issue using the Influx CLI commands and the InfluxDB v1 shell query shown in the report. Trace how the parenthesized time predicate is parsed and applied, then verify that the query returns an empty result set for the provided timestamp.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- databases
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100