Skip to content

Support and extend conditions in native broadcast nested loop joins #2541

Description

@Deegue

Is your feature request related to a problem? Please describe.
Native broadcast nested loop joins currently reject join conditions, preventing native execution of non-equi joins such as l.value < r.value.

The native broadcast join implementation can evaluate these conditions using empty equality keys, but its sort-merge fallback also needs to handle that case.

Describe the solution you'd like

  • Pass broadcast nested loop join conditions to the native broadcast join implementation and validate them through the existing join-condition configuration.
  • Retain the existing build-side restrictions for supported broadcast join orientations.
  • Use a constant sort key when a join without equality keys falls back to sort-merge execution.
  • Avoid advertising output ordering for joins without equality keys or when sort-merge fallback is enabled.
  • Add native and Spark regression tests covering conditions, projections, multiple probe partitions, configuration, and forced fallback.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions