godfrey he created FLINK-18791:
----------------------------------
Summary: Simplify the logic of SqlCommandParser and CliClient
Key: FLINK-18791
URL:
https://issues.apache.org/jira/browse/FLINK-18791 Project: Flink
Issue Type: Improvement
Components: Table SQL / Client
Reporter: godfrey he
Fix For: 1.12.0
Currently, {{SqlCommandParser}} parse a statement to a corresponding {{SqlCommandCall}}, and {{CliClient}} will do different action based on different {{SqlCommandCall}}. However, if a new kind of statement is supported (such as [SHOW CURRENT DDL|
https://issues.apache.org/jira/browse/FLINK-18616], [SHOW CREATE TABLE|
https://issues.apache.org/jira/browse/FLINK-16384]), we must implement them in planner and at the same time we need to add a new kind of {{SqlCommand}}, add new method in {{CliClient}} to execute the command in sql client. Moreover the implementation may be forgotten in sql client (such as [FLINK-18059|
https://issues.apache.org/jira/browse/FLINK-18059]).
To improve this, I propose {{SqlCommandParser}} returns {{Operation}}, and {{CliClient}} executes {{Operation}} directly. Meanwhile we can unify the print style of different kind of Operations. After this is finished, we need not to change the sql client if a new kind of statement is supported, only if customized print style is needed.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)