[ 
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/19/23 7:16 AM:
-----------------------------------------------------------

Paper should be PublicEvolving interface while both Flink and hive has own 
internal implementation. so hive connector maintainer less worry about Flink 
planner changes

PlannerQueryOperation should keep internal in both table-planner as well as 
hive-connector so hive connector can have full control and evolve without worry 
how Flink planner PlannerQueryOperation evolve

PlannerContext is simple enough util can be PublicEvolving


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 could be interface with separate implementations in planner and 
hive-connector

>  remove the planner @internal 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
>              Labels: pull-request-available
>             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)

Reply via email to