[WIP] Introduce PinotLogicalJoin to encapsulate join strategy#14524
[WIP] Introduce PinotLogicalJoin to encapsulate join strategy#14524Jackie-Jiang wants to merge 1 commit intoapache:masterfrom
Conversation
9603684 to
d0d506a
Compare
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #14524 +/- ##
=============================================
- Coverage 61.75% 34.55% -27.20%
- Complexity 207 773 +566
=============================================
Files 2436 2677 +241
Lines 133233 147042 +13809
Branches 20636 22563 +1927
=============================================
- Hits 82274 50814 -31460
- Misses 44911 92117 +47206
+ Partials 6048 4111 -1937
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
|
This approach is interesting, but I can see why you said it requires a lot of changes. IICU here you propose to generate My suggestion is different. I would keep the code as it is in master right now. We keep using This rule should be applied in the latest phases of the rule pipeline and could also transform a Finally we could have a By doing that we can keep using all the standard Calcite rules but end up producing our own nodes at the end of the pipeline, where all standard relational logic optimizations have been applied. We still may need to modify some calcite rules (for example, we may don't want to push a group by into a logical join in order to use lookup join) but that would be something closer to what we have in #14523, which would be even simpler if we can contribute to Calcite to make it easier to implement (without copying code) |
|
I see. I was trying to avoid the per rule hint parsing, but some calcite rules are looking for |
d0d506a to
ca857ca
Compare
Add
PinotLogicalJointo encapsulate join strategy instead of parsing it from hints in the rules