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)

Reply via email to