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 8, 2015
1 parent e34c28a commit fa461a5
Showing 1 changed file with 1 addition and 9 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -292,16 +292,8 @@ object ConstantFolding extends Rule[LogicalPlan] {

// Fold expressions that are foldable.
case e if e.foldable => Literal.create(e.eval(null), e.dataType)

// Fold "literal in (item1, item2, ..., literal, ...)" into true or false directly when all
// elements is literal.
case InSet(Literal(v, _), hSet) => {
val isExists = hSet.contains(v)
if(isExists) Literal.create(true, BooleanType) else Literal.create(false, BooleanType)
}

// Fold "literal in (item1, item2, ..., literal, ...)" into true directly when
// not all elements is literal.
// Fold "literal in (item1, item2, ..., literal, ...)" into true directly.
case In(Literal(v, _), list) if list.exists {
case Literal(candidate, _) if candidate == v => true
case _ => false
Expand Down

0 comments on commit fa461a5

Please sign in to comment.