Vladimir> 3) the rule creates invalid rel hierarchies. For instance, a rule
Vladimir> should not create LogicalFilter(EnumerableProject(...)) kind of
Vladimir> expression trees.

In fact, org.apache.calcite.prepare.RelOptTableImpl#toRel produces
EnumerableTableScan.
So it is one of the primary sources for Logical*(input=EnumerableTableScan).

At this point I'm a bit puzzled on validity of
LogicalFilter(EnumerableFilter(LogicalProject(...))) kind of nodes.
Those plans look weird, so I'm inclined to refrain from creating plans
like that.

Any thoughts?

Vladimir

Reply via email to