apache / apache/datafusion

`FilterPushdown` should be aware of and ignore correlated predicates

Open
#2,459 0 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
Rust
Stars
9.3k
Forks
2.4k
Avg merge
3d 7h
Merged PRs (30d)
344

Description

**Describe the solution you'd like**
We want to pullup correlated subquery predicates to make it easier to rewrite them as semi/anti joins, so may want to make filter pushdown aware of correlated predicates and ignore them

**Describe alternatives you've considered**

It is perfectly acceptable if things remain as they are, and the FilterPushdown is always followed by CorrelatedFilterPullup.

**Additional context**
Related: https://github.com/apache/arrow-datafusion/pull/2451

Contributor guide

Open the contributing guide

Research direction

Start by locating the FilterPushdown and CorrelatedFilterPullup optimizer entry points, then read the related pull request linked in the issue. Trace how correlated predicates are handled during filter pushdown and pullup; done means the behavior is covered and correlated predicates are handled consistently with the intended rewrite flow.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust, sql
Domain
backend, databases
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
32/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.