"I remember very well that Apache Calcite does exactly what you say" I meant Apache Drill
Thanks, Gelbana On Tue, Jul 9, 2019 at 10:47 PM Muhammad Gelbana <[email protected]> wrote: > Did you look into the Geode and Druide example projects ? They have some > rules that might help. > I remember very well that Apache Calcite does exactly what you say, its > join rule decides which join algorithm will be executed. Check that out. > Here [1] is Michael's answer on SoF that might shed some light on what you > need. > > Straight into your question, you need to match exactly what you need, > else, you might end up modifying operators in the plan tree that you didn't > want to touch. > To do that, you need to identify the inputs to your join operator, their > convention and the join operator's convention. All this can be specified in > the rule's constructor super method call. > If you need more control, you can run extra checks in the *matches* > method. Or you can simply abort your rule if it's mistakenly matched by > aborting the execution on *onMatch* method by simply returning. > > Forgive me if I'm answer is too general but I would say that your question > isn't very specific itself. Perhaps you can start by sharing your trials so > everyone can have a better idea about what's wrong with your rule. > > [1] > https://stackoverflow.com/questions/56234480/whats-the-difference-between-calcites-converterrule-and-reloptrule > > Thanks, > Gelbana > > > On Tue, Jul 9, 2019 at 5:22 PM Felipe Gutierrez < > [email protected]> wrote: > >> Hi, >> >> Is there any tutorial teaching how to create my own rule (using Java) in >> apache Calcite? >> I want to create a rule for join operators which I can decide which >> implementation of join I use. >> >> Or, maybe, is there any example that I can see how does it work in >> Calcite? >> >> thanks >> Felipe >> *--* >> *-- Felipe Gutierrez* >> >> *-- skype: felipe.o.gutierrez* >> *--* *https://felipeogutierrez.blogspot.com >> <https://felipeogutierrez.blogspot.com>* >> >
