Skip to content

Pushdown filter though UnionExec when some child support pushdown and some child do not support #20144

Description

@haohuaijin

Is your feature request related to a problem or challenge?

for pushdown filter though UnionExec, i find only all child in UnionExec support filter pushdown, the filter will pushdown, otherwise it will not pushdown. But for below case, pushdown filter is benefit

FilterExec: a@0 = foo
  UnionExec
     DataSourceExec: file_groups={1 group: [[test.parquet]]},pushdown_supported=true
     DataSourceExec: file_groups={1 group: [[test.parquet]]},pushdown_supported=false

Describe the solution you'd like

support pushdown filter though UnionExec, also even though all child do not support pushdown filter, we also can pushdown filter under the UnionExec. for example

FilterExec: a@0 = foo
  UnionExec
     DataSourceExec: file_groups={1 group: [[test.parquet]]}, pushdown_supported=false
     DataSourceExec: file_groups={1 group: [[test.parquet]]}, pushdown_supported=false

after filter pushdown

UnionExec
   FilterExec: a@0 = foo
     DataSourceExec: file_groups={1 group: [[test.parquet]]}, pushdown_supported=false
   FilterExec: a@0 = foo
     DataSourceExec: file_groups={1 group: [[test.parquet]]}, pushdown_supported=false

Describe alternatives you've considered

No response

Additional context

No response

Activity

  1. haohuaijin commented on Feb 4, 2026

    @haohuaijin
    ContributorAuthor

    take

  2. added a commit that references this issue on Feb 9, 2026
    dc0c21b
  3. added a commit that references this issue on Feb 10, 2026
    a9b5682
  4. added a commit that references this issue on Mar 24, 2026
    85fcf35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions