apache/tajo — pull request #12 by babokim (2014-05-20 17:44:57+00:00)
Title: Tajo 830: Some filter conditions with a SUBQUERY are removed by optimizer.

I refactored FilterPushDownRule.
FilterPushDown rule
processing when visits each node
- If a target which is corresponding on a filter EvalNode's column is not FieldEval, do not PushDown.
- Replace filter EvalNode's column with child node's output column.
If there is no child node's output column, do not PushDown.
- When visit ScanNode, add filter eval to ScanNode's qual
- When visit GroupByNode, Find aggregation column in a filter EvalNode and
. If a parent is HavingNode, add filter eval to parent HavingNode.
. It not, create new HavingNode and set parent's child.