aboutsummaryrefslogtreecommitdiff
path: root/sql/catalyst/src/main/scala/org/apache
diff options
context:
space:
mode:
authorMichael Armbrust <michael@databricks.com>2014-08-27 00:59:23 -0700
committerMichael Armbrust <michael@databricks.com>2014-08-27 00:59:23 -0700
commite1139dd60e0692e8adb1337c1f605165ce4b8895 (patch)
tree71988800d8a4072a71b552eb8ec23579129b9156 /sql/catalyst/src/main/scala/org/apache
parent3e2864e40472b32e6a7eec5ba3bc83562d2a1a62 (diff)
downloadspark-e1139dd60e0692e8adb1337c1f605165ce4b8895.tar.gz
spark-e1139dd60e0692e8adb1337c1f605165ce4b8895.tar.bz2
spark-e1139dd60e0692e8adb1337c1f605165ce4b8895.zip
[SPARK-3237][SQL] Fix parquet filters with UDFs
Author: Michael Armbrust <michael@databricks.com> Closes #2153 from marmbrus/parquetFilters and squashes the following commits: 712731a [Michael Armbrust] Use closure serializer for sending filters. 1e83f80 [Michael Armbrust] Clean udf functions.
Diffstat (limited to 'sql/catalyst/src/main/scala/org/apache')
-rw-r--r--sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/ScalaUdf.scala4
1 files changed, 4 insertions, 0 deletions
diff --git a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/ScalaUdf.scala b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/ScalaUdf.scala
index 63ac2a608b..0b3c1df453 100644
--- a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/ScalaUdf.scala
+++ b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/ScalaUdf.scala
@@ -18,10 +18,14 @@
package org.apache.spark.sql.catalyst.expressions
import org.apache.spark.sql.catalyst.types.DataType
+import org.apache.spark.util.ClosureCleaner
case class ScalaUdf(function: AnyRef, dataType: DataType, children: Seq[Expression])
extends Expression {
+ // Clean function when not called with default no-arg constructor.
+ if (function != null) { ClosureCleaner.clean(function) }
+
type EvaluatedType = Any
def nullable = true