You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "Jark Wu (Jira)" <ji...@apache.org> on 2023/03/21 12:37:00 UTC
[jira] [Closed] (FLINK-31514) Move query SqlNode conversion logic to SqlQueryConverter
[ 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)