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

 ##########
 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'm not sure we should add this interface to this base class.

----------------------------------------------------------------
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:
[email protected]


With regards,
Apache Git Services

Reply via email to