OIiveirra opened a new pull request, #69113:
URL: https://github.com/apache/doris/pull/69113
## Summary
Preserve date arithmetic evaluation boundaries when pushing predicates
through projects on `master`.
```text
Filter(DAYS_ADD(dt, offset) = value)
Project(DAYS_ADD(dt, offset) AS d)
Filter / Join / Limit / CTE Consumer
Scan
- non-zero date arithmetic stays above the lower boundary
- DAYS_ADD/SUB(dt, 0) remains eligible for predicate pushdown
- existing volatile and non-movable expression checks remain enabled
```
## Evidence
- **Before:** A pushed date predicate could evaluate `WEEKS_ADD` or similar
functions before a lower filter rejected out-of-range rows, producing date
overflow errors.
**After:** Logical and physical project pushdown preserve the lower
evaluation boundary for date arithmetic while allowing safe zero-offset aliases
to continue to prune partitions.
- `git diff --check` and commit checks pass.
- FE compilation and regression execution were attempted but could not
complete because the worktree target/build filesystem is read-only in the local
environment.
## Merge Danger
**Door:** two-way
The change is limited to Nereids predicate pushdown checks and can be
reverted independently.
**Blast Radius:** query-planning
The affected behavior is date arithmetic predicate pushdown through
projects, including logical and physical plan post-processing.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]