Jark Wu created FLINK-31368:
-------------------------------

             Summary: Move operation execution logic out from 
TableEnvironmentImpl
                 Key: FLINK-31368
                 URL: https://issues.apache.org/jira/browse/FLINK-31368
             Project: Flink
          Issue Type: Technical Debt
          Components: Table SQL / Planner
            Reporter: Jark Wu


Currently, {{TableEnvironmentImpl}} is a bit bloated. The implementation of 
{{TableEnvironmentImpl}} is filled with lots of operation execution logic which 
makes the class hard to read and maintain. Once you want to add/update an 
operation, you have to touch the {{TableEnvironmentImpl}}, which is unnecessary 
and not clean. 

An improvement idea is to extract the operation execution logic (mainly the 
command operation, which doesn't trigger a Flink job) out from 
{{TableEnvironmentImpl}} and put it close to the corresponding operation. This 
is how Spark does with {{RunnableCommand}} and {{V2CommandExec}}. In this way, 
we only need to add a new class of {{Operation}} without modifying 
{{TableEnvironmentImpl}} to support a new command.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to