peloton
peloton copied to clipboard
[15721] Support for Outer Join
This PR adds support for [Left | Right | Outer] JOIN queries in peloton's query optimizer.
Major changes:
- Replace InnerJoin* Rules with Join* Rules which support not only inner join transformation rules but also outer join rules. [rule_impls.h, rule.cpp]
- Add new Join operators [query_to_operator_transformer.cpp, operators.h,operator_node.h, internal_types.h]
- New physical plan generators[plan_generator.cpp].
- Bug fixes.
- Test cases.
Current Status
- two test cases still fails because old bug in optimizer. [planner_equality_test, optimizer_sql_test]
- Unknown bug in executor which generate incorrect results given correct plan.
Coverage decreased (-0.07%) to 77.381% when pulling bb502225956988616db67e6b99d58f2badefbb51 on zhaoguoquan94:optimizer_project into f6446bab149da8aa85790f2a30ae74f40d9e1d87 on cmu-db:master.
Good job. I am closing this PR. You can resubmit it at the end of the semester.
@nappelson @GustavoAngulo @dasteere Nice work.
I decided to open this back up
Who is currently responsible for merging this in? Are code reviews here outdated or still being addressed?
@saatviks is the PR czar this month.
@apavlo I was last month - For June its @tli2