[
https://issues.apache.org/jira/browse/FLINK-31514?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jark Wu closed FLINK-31514.
---------------------------
Fix Version/s: 1.18.0
Resolution: Fixed
Fixed in master: 47944ce00e0819231ae2e099f2382a188f4dae91
> Move query SqlNode conversion logic to SqlQueryConverter
> --------------------------------------------------------
>
> Key: FLINK-31514
> URL: https://issues.apache.org/jira/browse/FLINK-31514
> Project: Flink
> Issue Type: Sub-task
> Components: Table SQL / Planner
> Reporter: Jark Wu
> Assignee: Jark Wu
> Priority: Major
> Labels: pull-request-available
> Fix For: 1.18.0
>
>
> Introduce {{SqlQueryConverter}} and move the conversion logic of query
> {{SqlNode}} -> {{PlannerQueryOption}} to it.
> Note that the conversion is complex for query SqlNodes because it's unclear
> what the specific query SqlNode classes are. But they should all belong to
> the {{SqlKind.QUERY}}. Therefore, we can introduce a new mapping path for the
> SqlKind.
> {code:java}
> public interface SqlNodeConverter<S extends SqlNode> {
> /**
> * Returns the {@link SqlKind SqlKinds} of {@link SqlNode SqlNodes} that
> the {@link
> * SqlNodeConverter} supports to convert.
> *
> * <p>If a {@link SqlNodeConverter} return s a non-empty SqlKinds, the
> conversion framework
> * prefer to match SqlKind of SqlNode instead of matching class of
> SqlNode.
> *
> * @see SqlQueryConverter
> */
> default Optional<EnumSet<SqlKind>> supportedSqlKinds() {
> return Optional.empty();
> }
> ...
> }
> {code}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)