[
https://issues.apache.org/jira/browse/FLINK-30667?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17678003#comment-17678003
]
Chen Qin edited comment on FLINK-30667 at 1/18/23 3:58 AM:
-----------------------------------------------------------
ParserImpl and it's interface currently both Internal. Consider HIveParser
should not rely on table-planner ParserImpl for shake of future flexibility and
hive connector maintenance. I would propose annotate Parser Interface with
PublicEvolving; Let HiveParser directly implement Parser Interface to decouple
risk might involved with future planner refactor.
PlannerQueryOperation should keep internal in both table-planner as well as
hive-connector, thanks to interface QueryOperation were PublicEvolving, I would
propose setting a foundational FlinkTypeFactory as PublicEvolving as well.
PlannerContext could be interface with separate implementations in planner and
hive-connector
was (Author: foxss):
ParserImpl and it's interface currently both Internal. Consider HIveParser
should not rely on table-planner ParserImpl for shake of future flexibility and
hive connector maintenance. I would propose annotate Parser Interface with
PublicEvolving; Let HiveParser directly implement Parser Interface to decouple
risk might involved with future planner refactor.
PlannerQueryOperation should keep internal in both table-planner as well as
hive-connector, thanks to interface QueryOperation were PublicEvolving, I would
propose setting a foundational FlinkTypeFactory as PublicEvolving as well.
PlannerContext still needs a bit thoughts.
> remove the planner dependency in flink-connector-hive
> ------------------------------------------------------
>
> Key: FLINK-30667
> URL: https://issues.apache.org/jira/browse/FLINK-30667
> Project: Flink
> Issue Type: Sub-task
> Components: Connectors / Hive
> Affects Versions: 1.17.0
> Reporter: Chen Qin
> Priority: Major
> Fix For: 1.17.0
>
>
> There are some classes in flink-connector-hive reply on planner, but
> fortunately, not too many.
> It mainly rely on ParserImpl, PlannerContext, PlannerQueryOperation and so
> on. The dependency is mainly required to create RelNode.
> To resolve this problem, we need more abstraction for planner and provides
> public API for external dialects.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)