Skip to content

Commit

Permalink
Update Optimizer.scala
Browse files Browse the repository at this point in the history
  • Loading branch information
pzzs committed May 7, 2015
1 parent 2e8f6ca commit 36c194e
Showing 1 changed file with 4 additions and 6 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -294,12 +294,10 @@ object ConstantFolding extends Rule[LogicalPlan] {
case e if e.foldable => Literal.create(e.eval(null), e.dataType)

// Fold "literal in (item1, item2, ..., literal, ...)" into true or false directly.
case In(Literal(v, _), list) =>
val isExists = list.exists {
case Literal(candidate, _) if candidate == v => true
case _ => false
}
if (isExists) Literal.create(true, BooleanType) else Literal.create(false, BooleanType)
case InSet(Literal(v, _), hSet) => {
val isExists = hSet.contains(v)
if(isExists) Literal.create(true, BooleanType) else Literal.create(false, BooleanType)
}
}
}
}
Expand Down

0 comments on commit 36c194e

Please sign in to comment.