Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Outer Join Support #40

Merged
merged 5 commits into from
Nov 8, 2023
Merged

Add Outer Join Support #40

merged 5 commits into from
Nov 8, 2023

Conversation

wagjamin
Copy link
Owner

@wagjamin wagjamin commented Nov 7, 2023

This PR extends InkFuse with support for left outer joins. We use a dedicates marking bit in the hash table tags to indicate whether a tuple found a join partner.

We then add an additional pipeline that reads from the non-matched tuples in the hash table and produces the null tuples.

We also add support for TPC-H Q13, giving us support for all queries from the original ROF paper now.

Allow tagging bits for outer join marking in the hash table. Prepare an
iterator that can later be used by the HashTableSource.
This commit wraps up outer join support and support for TPC-H Q13.
We allow inducing a continuation pipeline after the outer join.

That continuation pipeline starts with a HashTableSource for the outer
join, and then feeds into the remaining suboperators of the pipeline.
Only let one thread produce the non-matched tuples.
@wagjamin wagjamin merged commit 488c021 into main Nov 8, 2023
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant