From f951463903ab7d685f1c158529604b82665ee59f Mon Sep 17 00:00:00 2001 From: Gengliang Wang Date: Tue, 9 Jun 2020 02:32:27 -0700 Subject: [PATCH] lazy val --- .../catalyst/optimizer/PushCNFPredicateThroughJoin.scala | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/optimizer/PushCNFPredicateThroughJoin.scala b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/optimizer/PushCNFPredicateThroughJoin.scala index 48b460d1e6cf4..1ef18703397b0 100644 --- a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/optimizer/PushCNFPredicateThroughJoin.scala +++ b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/optimizer/PushCNFPredicateThroughJoin.scala @@ -37,13 +37,14 @@ object PushCNFPredicateThroughJoin extends Rule[LogicalPlan] with PredicateHelpe j } else { val pushDownCandidates = predicates.filter(_.deterministic) - val leftFilterConditions = pushDownCandidates.filter(_.references.subsetOf(left.outputSet)) - val rightFilterConditions = + lazy val leftFilterConditions = + pushDownCandidates.filter(_.references.subsetOf(left.outputSet)) + lazy val rightFilterConditions = pushDownCandidates.filter(_.references.subsetOf(right.outputSet)) - val newLeft = + lazy val newLeft = leftFilterConditions.reduceLeftOption(And).map(Filter(_, left)).getOrElse(left) - val newRight = + lazy val newRight = rightFilterConditions.reduceLeftOption(And).map(Filter(_, right)).getOrElse(right) joinType match {