diff options
author | Herman van Hovell <hvanhovell@questtec.nl> | 2015-11-06 12:21:53 -0800 |
---|---|---|
committer | Michael Armbrust <michael@databricks.com> | 2015-11-06 12:21:53 -0800 |
commit | f328fedafd7bd084470a5e402de0429b5b7f8cd7 (patch) | |
tree | 72bc8976d41d38c0118eac17b64a60b404088861 /sql/catalyst | |
parent | 49f1a820372d1cba41f3f00d07eb5728f2ed6705 (diff) | |
download | spark-f328fedafd7bd084470a5e402de0429b5b7f8cd7.tar.gz spark-f328fedafd7bd084470a5e402de0429b5b7f8cd7.tar.bz2 spark-f328fedafd7bd084470a5e402de0429b5b7f8cd7.zip |
[SPARK-11450] [SQL] Add Unsafe Row processing to Expand
This PR enables the Expand operator to process and produce Unsafe Rows.
Author: Herman van Hovell <hvanhovell@questtec.nl>
Closes #9414 from hvanhovell/SPARK-11450.
Diffstat (limited to 'sql/catalyst')
-rw-r--r-- | sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/Projection.scala | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/Projection.scala b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/Projection.scala index a6fe730f6d..79dabe8e92 100644 --- a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/Projection.scala +++ b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/Projection.scala @@ -128,7 +128,11 @@ object UnsafeProjection { * Returns an UnsafeProjection for given sequence of Expressions (bounded). */ def create(exprs: Seq[Expression]): UnsafeProjection = { - GenerateUnsafeProjection.generate(exprs) + val unsafeExprs = exprs.map(_ transform { + case CreateStruct(children) => CreateStructUnsafe(children) + case CreateNamedStruct(children) => CreateNamedStructUnsafe(children) + }) + GenerateUnsafeProjection.generate(unsafeExprs) } def create(expr: Expression): UnsafeProjection = create(Seq(expr)) |