[ https://issues.apache.org/jira/browse/CALCITE-4002?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17107731#comment-17107731 ]
Haisheng Yuan commented on CALCITE-4002: ---------------------------------------- I understand that some rule needs to match physical operator, like merge physical project, combining 2 physical operator together, I am fine with that, but that should not be cost based, and we use it for post processing after best plan is generated by VolcanoPlanner. This is also how Flink uses these rules. > Add security check to make sure TransformationRule doesn't generate > PhysicalNode > -------------------------------------------------------------------------------- > > Key: CALCITE-4002 > URL: https://issues.apache.org/jira/browse/CALCITE-4002 > Project: Calcite > Issue Type: Improvement > Components: core > Reporter: Haisheng Yuan > Priority: Major > > Right now, it is not allowed to generate {{PhysicalNode}} in logical > {{TransformationRule}}, but it is just a contract, not being enforced. Add a > security check to make sure we throw if a {{PhysicalNode}} is generated in > {{VolcanoPlanner}}. -- This message was sent by Atlassian Jira (v8.3.4#803005)