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)