Now for RelNode, we have method getInput()[1]  to fetch the input RelNodes, but 
how we fetch the parent ?

For example, we have plan:

      join-rel
    /             \
scan1     scan2


We can get scan1 and scan2 in join-rel directly with  method getInput, but how 
can we get the join rel in scan1 and scan 2 ?

I know that there is a RelShuttle that can visit every RelNode and if I make a 
cache for the inputs mapping, finally I can get the ‘parents’ from the cache, 
but this is boring code and not that intuitive.

Do you guys have any good ideas ?

[1] 
https://github.com/apache/calcite/blob/ee83efd360793ef4201f4cdfc2af8d837b76ca69/core/src/main/java/org/apache/calcite/rel/RelNode.java#L132


Best,
Danny Chan

Reply via email to