aboutsummaryrefslogtreecommitdiff
path: root/sql
diff options
context:
space:
mode:
authorscwf <wangfei1@huawei.com>2015-04-30 18:15:56 -0700
committerMichael Armbrust <michael@databricks.com>2015-04-30 18:15:56 -0700
commit079733817f02c61ef814f5d9c0c8227498ff0058 (patch)
tree41d9308d686d275a623ad822ee49402a5644f989 /sql
parentee04413935f74b3178adbb6d8dee19b3320803e9 (diff)
downloadspark-079733817f02c61ef814f5d9c0c8227498ff0058.tar.gz
spark-079733817f02c61ef814f5d9c0c8227498ff0058.tar.bz2
spark-079733817f02c61ef814f5d9c0c8227498ff0058.zip
[SPARK-7093] [SQL] Using newPredicate in NestedLoopJoin to enable code generation
Using newPredicate in NestedLoopJoin instead of InterpretedPredicate to make it can make use of code generation Author: scwf <wangfei1@huawei.com> Closes #5665 from scwf/NLP and squashes the following commits: d19dd31 [scwf] improvement a887c02 [scwf] improve for NLP boundCondition
Diffstat (limited to 'sql')
-rw-r--r--sql/core/src/main/scala/org/apache/spark/sql/execution/joins/BroadcastNestedLoopJoin.scala5
-rw-r--r--sql/core/src/main/scala/org/apache/spark/sql/execution/joins/LeftSemiJoinBNL.scala5
2 files changed, 2 insertions, 8 deletions
diff --git a/sql/core/src/main/scala/org/apache/spark/sql/execution/joins/BroadcastNestedLoopJoin.scala b/sql/core/src/main/scala/org/apache/spark/sql/execution/joins/BroadcastNestedLoopJoin.scala
index 56200f6b8c..6aaf35fb42 100644
--- a/sql/core/src/main/scala/org/apache/spark/sql/execution/joins/BroadcastNestedLoopJoin.scala
+++ b/sql/core/src/main/scala/org/apache/spark/sql/execution/joins/BroadcastNestedLoopJoin.scala
@@ -59,10 +59,7 @@ case class BroadcastNestedLoopJoin(
}
@transient private lazy val boundCondition =
- InterpretedPredicate.create(
- condition
- .map(c => BindReferences.bindReference(c, left.output ++ right.output))
- .getOrElse(Literal(true)))
+ newPredicate(condition.getOrElse(Literal(true)), left.output ++ right.output)
override def execute(): RDD[Row] = {
val broadcastedRelation =
diff --git a/sql/core/src/main/scala/org/apache/spark/sql/execution/joins/LeftSemiJoinBNL.scala b/sql/core/src/main/scala/org/apache/spark/sql/execution/joins/LeftSemiJoinBNL.scala
index e06f63f94b..b03af410dc 100644
--- a/sql/core/src/main/scala/org/apache/spark/sql/execution/joins/LeftSemiJoinBNL.scala
+++ b/sql/core/src/main/scala/org/apache/spark/sql/execution/joins/LeftSemiJoinBNL.scala
@@ -45,10 +45,7 @@ case class LeftSemiJoinBNL(
override def right: SparkPlan = broadcast
@transient private lazy val boundCondition =
- InterpretedPredicate.create(
- condition
- .map(c => BindReferences.bindReference(c, left.output ++ right.output))
- .getOrElse(Literal(true)))
+ newPredicate(condition.getOrElse(Literal(true)), left.output ++ right.output)
override def execute(): RDD[Row] = {
val broadcastedRelation =