danny0405 commented on a change in pull request #10989: [FLINK-15840][table-planner-blink] ClassCastException is thrown when use tEnv.from for temp/catalog table URL: https://github.com/apache/flink/pull/10989#discussion_r373938135
########## File path: flink-table/flink-table-planner-blink/src/main/java/org/apache/flink/table/planner/delegation/PlannerContext.java ########## @@ -80,13 +82,15 @@ */ @Internal public class PlannerContext { + private final RelDataTypeSystem typeSystem = new FlinkTypeSystem(); private final FlinkTypeFactory typeFactory = new FlinkTypeFactory(typeSystem); private final TableConfig tableConfig; - private final RelOptCluster cluster; private final FlinkContext context; private final CalciteSchema rootSchema; private final List<RelTraitDef> traitDefs; + private FrameworkConfig frameworkConfig; + private RelOptCluster cluster; Review comment: After some research of the code, i found another solution, that is: - Modify the FlinkRelBuilder to add a new method `scan(Iterable<String> tableNames, ViewExpander viewExpander)`, then in the method, fetch the `RelOptTable` first and then do the logic same with `TableScanRule` - In the `QueryOperationConverter`, use the new `scan` method to translate the table - No other code change is needed We do not need to pass the `SqlToExprConverter` around through the `FlinkContext` because the it does not belong there, the computed column/watermark translation should happen as early as possible and not in planner rules. ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services