aboutsummaryrefslogtreecommitdiff
path: root/sql/catalyst
diff options
context:
space:
mode:
authorHerman van Hovell <hvanhovell@questtec.nl>2015-11-06 12:21:53 -0800
committerMichael Armbrust <michael@databricks.com>2015-11-06 12:21:53 -0800
commitf328fedafd7bd084470a5e402de0429b5b7f8cd7 (patch)
tree72bc8976d41d38c0118eac17b64a60b404088861 /sql/catalyst
parent49f1a820372d1cba41f3f00d07eb5728f2ed6705 (diff)
downloadspark-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.scala6
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))