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)