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:
[email protected]
With regards,
Apache Git Services