You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by GitBox <gi...@apache.org> on 2019/04/25 07:46:27 UTC

[GitHub] [flink] godfreyhe commented on a change in pull request #8253: [FLINK-12321] [table-planner-blink] Supports sub-plan reuse

godfreyhe commented on a change in pull request #8253: [FLINK-12321] [table-planner-blink] Supports sub-plan reuse
URL: https://github.com/apache/flink/pull/8253#discussion_r278430245
 
 

 ##########
 File path: flink-table/flink-table-planner-blink/src/main/scala/org/apache/flink/table/plan/nodes/FlinkRelNode.scala
 ##########
 @@ -32,6 +32,18 @@ import scala.collection.JavaConversions._
   */
 trait FlinkRelNode extends RelNode {
 
+  /**
+    * Return true if this rel is a deterministic RelNode which is guaranteed to
+    * always output the same result given the same input.
+    *
+    * <p>NOTES: A deterministic rel should not contain non-deterministic `SqlOperator`
+    * and dynamic function `SqlOperator`.
+    * e.g.
+    * `Filter` is non-deterministic if its condition contains non-deterministic udf,
+    * `Aggregate` is non-deterministic if its aggCalls contain non-deterministic `SqlAggFunction`.
+    */
+  def isDeterministic: Boolean
 
 Review comment:
   I have deleted this method. 
   the original thought about this method is we do not know whether the reused plan with non-deterministic operator is the plan expected by the user, so we add an option to let user to decide it.

----------------------------------------------------------------
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:
users@infra.apache.org


With regards,
Apache Git Services