LadyForest commented on a change in pull request #15005:
URL: https://github.com/apache/flink/pull/15005#discussion_r582802303



##########
File path: 
flink-table/flink-sql-client/src/main/java/org/apache/flink/table/client/gateway/local/LocalExecutor.java
##########
@@ -428,6 +429,13 @@ public ProgramTargetDescriptor executeUpdate(String 
sessionId, String statement)
         return executeUpdateInternal(sessionId, context, statement);
     }
 
+    @VisibleForTesting
+    List<ModuleEntry> listFullModules(String sessionId) throws 
SqlExecutionException {

Review comment:
       Hi Jark, I've also considered this point before issuing this PR. 
   
   I thought the reason we have this method `LocalExecutor#listModules()` is 
because the `SHOW MODULES` syntax is not supported by the 
`FlinkSqlParserImpl`and `TableEnvironment` at that moment. Thus we cannot 
perform `localExecutor.executeSql("SHOW MODULES")`. 
   
   Once the `SHOW [FULL] MODULES` syntax is supported, all `SHOW MODULES` 
commands would go for the table result (except for `SHOW MODULES` using the old 
planner). That's why I didn't make `listFullModules()` an interface method. I 
was meant to make it a testing method.
   
   Towards the next PR, since `SHOW FULL MODULES` will display the module's use 
status, `TableSchema` is needed for the result and print as tableau form.  The 
extra effort will be put in if calling `localExecutor.listFullModules()` 
directly. However, we can reuse `PrintUtils#printAsTableauForm` if using 
`localExecutor.executeSql("SHOW FULL MODULES")`.
   
   Please correct me if  I miss something or not understand wrong:-) 




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Reply via email to