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:
[email protected]
With regards,
Apache Git Services