influxdb/iox_query
Marco Neumann 4638b89d93
refactor: migrate retention to proper predicates (#8092)
Do not (ab)use per-chunk delete predicates for the retention policy.
Instead use a per-table predicate.

This makes the code way cleaner, since the scoping is correct (i.e.
delete predicates are a table-wide attribute, not a chunk-based one) and
it is consistent time predicates that the user providers (e.g. via
`WHERE time > x`).

It also allows us to remove delete predicates (in their current,
non-scalable form) from the query path. A potential future version would
likely not use per chunk predicates (and "is processed" markers) but use
the timestamp / chunk order to determine to which data the predicate
should be applied.

Note that the lowering of the retention policy changed slightly from

```text
(time > (now() - retention)) AND (time < MAX)
```

to

```text
time > (now() - retention)
```

Since the `MAX` cut is just an artifact of the lowering and was unnecessary.

Closes #7409.
Closes #7410.
2023-06-29 08:36:37 +00:00
..
src refactor: migrate retention to proper predicates (#8092) 2023-06-29 08:36:37 +00:00
Cargo.toml chore(deps): Bump tokio from 1.28.2 to 1.29.0 (#8100) 2023-06-28 13:18:08 +00:00
README.md docs: query processing (#8033) 2023-06-23 09:13:14 +00:00

README.md

IOx Query Layer

See InfluxDB IOx -- Query Processing for details.