Skip to content

[AURON #1624] Support the pushdown of ORC predicates#1886

Merged
richox merged 13 commits intoapache:masterfrom
dh20:dev_add_predicate
Jan 16, 2026
Merged

[AURON #1624] Support the pushdown of ORC predicates#1886
richox merged 13 commits intoapache:masterfrom
dh20:dev_add_predicate

Conversation

@dh20
Copy link
Contributor

@dh20 dh20 commented Jan 12, 2026

Which issue does this PR close?

Closes #1624

Rationale for this change

Support the push-down of ORC predicates to enhance the reading efficiency of ORC files

What changes are included in this PR?

Are there any user-facing changes?

no

How was this patch tested?

cluster test

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR implements predicate pushdown support for ORC file reads to improve query performance by filtering data at the file level. The changes enable DataFusion predicates (WHERE clauses) to be converted to ORC predicates and pushed down to the ORC reader.

Changes:

  • Added comprehensive predicate conversion logic from DataFusion physical expressions to ORC predicates
  • Updated orc-rust dependency to version 17f7012 which includes predicate support
  • Modified OrcExec to accept and utilize predicates during file scanning

Reviewed changes

Copilot reviewed 2 out of 3 changed files in this pull request and generated 3 comments.

File Description
native-engine/datafusion-ext-plans/src/orc_exec.rs Implements predicate conversion logic supporting comparison operators, logical operators (AND/OR/NOT), IN/NOT IN, IS NULL/IS NOT NULL, and various scalar types
Cargo.toml Updates orc-rust dependency to rev 17f7012 to support predicate pushdown
Cargo.lock Reflects the orc-rust dependency update with new commit hash

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

duanhao-jk added 5 commits January 12, 2026 16:51
update where predicate
update where predicate
update where predicate
update where predicate
update where predicate
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 2 out of 3 changed files in this pull request and generated 2 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 2 out of 3 changed files in this pull request and generated 9 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

schema: &SchemaRef,
predicates: &mut Vec<Predicate>,
) {
if let Some(binary) = expr.as_any().downcast_ref::<BinaryExpr>() {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we have SCAndExpr/SCOrExpr for short-circuiting binary logic operators, could you also add a match arm for these exprs?

duanhao-jk added 3 commits January 13, 2026 15:05
update where predicate
update where predicate
update where predicate
@cxzl25 cxzl25 changed the title Support the pushdown of orc predicates [AURON #1624] Support the pushdown of ORC predicates Jan 13, 2026
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 2 out of 3 changed files in this pull request and generated no new comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@richox richox merged commit 0bb1993 into apache:master Jan 16, 2026
104 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Support ORC RowSelection

3 participants