Skip to content

[AURON #2536] Add shared CPU join condition evaluation - #2537

Merged
richox merged 2 commits into
apache:masterfrom
Deegue:auron_#2536_add_evaluation_for_non_equal_join
Sep 22, 2026
Merged

richox merged 2 commits into
apache:masterfrom
Deegue:auron_#2536_add_evaluation_for_non_equal_join

Conversation

@Deegue

@Deegue Deegue commented Sep 21, 2026

Copy link
Copy Markdown
Contributor

Which issue does this PR close?

Closes #2536

Rationale for this change

Extending native join-condition support requires shared evaluation logic that preserves null, lazy-expression, and volatile-expression semantics. Materializing every candidate pair can also create large intermediate allocations when join keys contain many duplicates.

What changes are included in this PR?

  • Add a shared CPU evaluator for residual join conditions, supporting bounded candidate batches and avoiding unnecessary expansion of one-sided expressions.
  • Add column remapping and projection support to retain condition-only columns without including them in the output.
  • Add utilities for lazily generating candidate blocks from equality groups.
  • Add tests for expression semantics, null handling, column mapping, projection, and batched evaluation.
    Integration into individual join operators will follow in separate PRs.

Are there any user-facing changes?

No.

How was this patch tested?

UTs.

@richox
richox merged commit 6a8524e into apache:master Sep 22, 2026
134 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add shared CPU evaluation for native non-equal join conditions

2 participants