flink-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From GitBox <...@apache.org>
Subject [GitHub] fhueske commented on a change in pull request #6805: [FLINK-10156][table] Deprecate Table.writeToSink()
Date Fri, 12 Oct 2018 15:43:18 GMT
fhueske commented on a change in pull request #6805: [FLINK-10156][table] Deprecate Table.writeToSink()
URL: https://github.com/apache/flink/pull/6805#discussion_r224831240

 File path: flink-libraries/flink-table/src/main/scala/org/apache/flink/table/api/table.scala
 @@ -944,7 +956,12 @@ class Table(
     * @param tableName Name of the registered [[TableSink]] to which the [[Table]] is written.
   def insertInto(tableName: String): Unit = {
-    tableEnv.insertInto(this, tableName, this.tableEnv.queryConfig)
+    this.logicalPlan match {
+      case _: LogicalTableFunctionCall =>
+        throw new ValidationException("TableFunction can only be used in join and leftOuterJoin.")
+      case _ =>
+        tableEnv.insertInto(this, tableName, this.tableEnv.queryConfig)
 Review comment:
   The check is basically replacing the null check but provides more context. 
   What would we do if `tableEnv` is `null`? Do nothing? Throw an exception? What  would be
the error message? By checking for the type of the root node of the logical plan we know why
the call would not succeed and can give an appropriate error message. 
   We could of course also pass `null` as configuration and check for it to be null in `insertInto(String,
QueryConfig)` but I'd consider that as an invalid use of the interface that should also result
in an exception.

This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:

With regards,
Apache Git Services

View raw message