Skip to content

[EPIC]: Make PiecewiseMergeJoin work in Datafusion #17427

Open

Description

@jonathanc-n

Is your feature request related to a problem or challenge?

I will organize the following tasks that will be done in separate pull requests as #16660 got a little large and confusing.

The following is to be done roughly in order:

Smaller Tasks Along the Way:

Optimizations for semi/anti joins

  • look into inner joins having the smaller side on the buffer side.
  • Instead do no sort on buffer side, and just run a filter with the min/max value calculated from the stream side

The classic join and existence join will have their own stream implementation as the logic is completely different. Nice little suggestion from @2010YOUY01 😄

Describe the solution you'd like

No response

Describe alternatives you've considered

No response

Additional context

No response

Activity

  1. jonathanc-n commented on Sep 5, 2025

    @jonathanc-n
    ContributorAuthor

    This should be quite straightforward since the code is already done. Hopefully we can get started on IE joins after this

  2. jonathanc-n commented on Sep 5, 2025

    @jonathanc-n
    ContributorAuthor

    take

  3. 2010YOUY01 commented on Oct 16, 2025

    @2010YOUY01
    Member
  4. added
    PROPOSAL EPICA proposal being discussed that is not yet fully underway
    on Nov 24, 2025
  5. SubhamSinghal commented on Jul 19, 2026

    @SubhamSinghal
    Contributor

    Hi @jonathanc-n — I'd like to help move the existence-join items forward for PiecewiseMergeJoin. Are you still planning to pick up #18392, or is it open for someone else to take? Happy to defer if you're already on it.

  6. jonathanc-n commented on Jul 20, 2026

    @jonathanc-n
    ContributorAuthor

    @SubhamSinghal Yes feel free to take over!

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

Metadata

Metadata

Assignees

Labels

PROPOSAL EPICA proposal being discussed that is not yet fully underwayenhancementNew feature or request

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions