Hi Hequn,
Thanks for report this issue. I think the premise of rule optimization is
to guarantee the correctness of the semantics. When the rule is matched,
the isDeterministics attribute of UDF must be considered.
+1 to be fixed.
Thanks,
Jincheng
Hequn Cheng 于2018年11月19日周一 下午11:52写道:
> Hi,
>
While I think it's probably true, I'm hesitant to believe that just because
the rewritten version has the same number of calls, that it will always
produce the same results. My preference would probably be to go with the
"strict" semantic as per Julian's specification since that's least likely
to
Repeating the comments I made in the JIRA case [1].
I do find your argument compelling, that if the rewritten version contains the
same number of calls to the UDF, it should be OK.
But there are other possible semantics. For instance, a “strict” semantic could
allow rewrite only if the calls
Hi,
Currently, there are some merge rules for Project, such as CalcMergeRule,
ProjectMergeRule, and ProjectCalcMergeRule. I found that these merge rules
should not be performed when Nondeterministic expression of the
bottom(inner) project has been referenced more than once by the top(outer)