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



##########
File path: 
flink-table/flink-table-planner-blink/src/main/scala/org/apache/flink/table/planner/calcite/FlinkPlannerImpl.scala
##########
@@ -36,11 +35,11 @@ import org.apache.calcite.sql.validate.SqlValidator
 import org.apache.calcite.sql.{SqlExplain, SqlKind, SqlNode, SqlOperatorTable}
 import org.apache.calcite.sql2rel.{SqlRexConvertletTable, SqlToRelConverter}
 import org.apache.calcite.tools.{FrameworkConfig, RelConversionException}
+import org.apache.flink.sql.parser.ddl.SqlUseModules

Review comment:
       Please reorder the imports. 

##########
File path: 
flink-table/flink-table-planner-blink/src/test/scala/org/apache/flink/table/api/TableEnvironmentTest.scala
##########
@@ -33,6 +33,7 @@ import org.apache.flink.types.Row
 import org.apache.calcite.plan.RelOptUtil
 import org.apache.calcite.sql.SqlExplainLevel
 import org.apache.flink.core.testutils.FlinkMatchers.containsMessage
+import org.apache.flink.table.module.ModuleEntry

Review comment:
       Please reorder the imports. 

##########
File path: 
flink-table/flink-table-planner-blink/src/test/scala/org/apache/flink/table/api/TableEnvironmentTest.scala
##########
@@ -592,6 +593,66 @@ class TableEnvironmentTest {
     tableEnv.executeSql("UNLOAD MODULE dummy")
   }
 
+  @Test
+  def testExecuteSqlWithUseModules(): Unit = {
+    tableEnv.executeSql("LOAD MODULE dummy")
+    assert(tableEnv.listModules().sameElements(Array[String]("core", "dummy")))

Review comment:
       Personally, I don't like Scala `assert` because it doesn't provide 
mismatch information when assertion failed. Besides, `sameElements` sounds like 
it doesn't care about the elements order, but the order is critical here. 
Therefore, it would be better to use `assertArrayEquals`. We may also need to 
update the tests added in previous PR. 

##########
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:
       I think we will need this interface in the next `SHOW FULL MODULES` PR, 
we can add this method into base interface and implement it beside 
`listModules`.

##########
File path: flink-table/flink-sql-parser-hive/src/main/codegen/data/Parser.tdd
##########
@@ -129,6 +130,7 @@
     "LINES"
     "LOAD"
     "LOCATION"
+    "MODULES"

Review comment:
       We should also add `MODULES` into non-reserved-keywords, otherwise it 
will break user jobs which uses `modules` as column name. For example, `select 
a, b, modules from T` will parse failed. 




----------------------------------------------------------------
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