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

Reply via email to