diff options
author | Yin Huai <yhuai@databricks.com> | 2015-06-02 00:20:52 -0700 |
---|---|---|
committer | Reynold Xin <rxin@databricks.com> | 2015-06-02 00:20:52 -0700 |
commit | 0f80990bfac1e9969644952d1d8edaf7d26fb436 (patch) | |
tree | 726c7e11b17ecfbb059a75de1bd6d207007300d0 /sql/hive | |
parent | 7b7f7b6c6fd903e2ecfc886d29eaa9df58adcfc3 (diff) | |
download | spark-0f80990bfac1e9969644952d1d8edaf7d26fb436.tar.gz spark-0f80990bfac1e9969644952d1d8edaf7d26fb436.tar.bz2 spark-0f80990bfac1e9969644952d1d8edaf7d26fb436.zip |
[SPARK-8023][SQL] Add "deterministic" attribute to Expression to avoid collapsing nondeterministic projects.
This closes #6570.
Author: Yin Huai <yhuai@databricks.com>
Author: Reynold Xin <rxin@databricks.com>
Closes #6573 from rxin/deterministic and squashes the following commits:
356cd22 [Reynold Xin] Added unit test for the optimizer.
da3fde1 [Reynold Xin] Merge pull request #6570 from yhuai/SPARK-8023
da56200 [Yin Huai] Comments.
e38f264 [Yin Huai] Comment.
f9d6a73 [Yin Huai] Add a deterministic method to Expression.
Diffstat (limited to 'sql/hive')
-rw-r--r-- | sql/hive/src/main/scala/org/apache/spark/sql/hive/hiveUdfs.scala | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/sql/hive/src/main/scala/org/apache/spark/sql/hive/hiveUdfs.scala b/sql/hive/src/main/scala/org/apache/spark/sql/hive/hiveUdfs.scala index 64a49c83cb..1658bb93b0 100644 --- a/sql/hive/src/main/scala/org/apache/spark/sql/hive/hiveUdfs.scala +++ b/sql/hive/src/main/scala/org/apache/spark/sql/hive/hiveUdfs.scala @@ -78,6 +78,8 @@ private[hive] case class HiveSimpleUdf(funcWrapper: HiveFunctionWrapper, childre type UDFType = UDF + override def deterministic: Boolean = isUDFDeterministic + override def nullable: Boolean = true @transient @@ -140,6 +142,8 @@ private[hive] case class HiveGenericUdf(funcWrapper: HiveFunctionWrapper, childr extends Expression with HiveInspectors with Logging { type UDFType = GenericUDF + override def deterministic: Boolean = isUDFDeterministic + override def nullable: Boolean = true @transient |