anjali shrishrimal created CALCITE-3761:
-------------------------------------------

             Summary: How to write a rule with optional intermediate operands?
                 Key: CALCITE-3761
                 URL: https://issues.apache.org/jira/browse/CALCITE-3761
             Project: Calcite
          Issue Type: Wish
          Components: core
            Reporter: anjali shrishrimal


I want to write a rule to match a plan based on, only root/top RelNode and leaf 
RelNode, all Intermediate RelNodes are optional.
What operands should be passed to such rule?

 

Suppose Logical Plan is like given below.
{code:java}
LogicalRelNode4
     LogicalRelNode3 (optional)
         LogicalRelNode2 (optional)
              LogicalRelNode1
{code}
LogicalRelNode2 and LogicalRelNode3 are optional. Rule should match the 
structure irrespective to the presence of these optional Nodes.

Rule should get matched for all the following structures.
{code:java}
1. LogicalRelNode4
        LogicalRelNode3
             LogicalRelNode2
                  LogicalRelNode1 

2. LogicalRelNode4 
        LogicalRelNode2 
             LogicalRelNode1


3. LogicalRelNode4 
        LogicalRelNode3 
             LogicalRelNode1 

4. LogicalRelNode4 
        LogicalRelNode1
{code}
 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to