protected void addPruningPred(Map<TableScanOperator, ExprNodeDesc> opToPrunner,
        TableScanOperator top, ExprNodeDesc new_pruner_pred) throws SemanticException {
      ExprNodeDesc old_pruner_pred = opToPrunner.get(top);
      ExprNodeDesc pruner_pred = null;
      if (old_pruner_pred != null) {
        // or the old_pruner_pred and the new_ppr_pred
        pruner_pred = ExprNodeTypeCheck.getExprNodeDefaultExprProcessor().getFuncExprNodeDesc(
            "OR", old_pruner_pred, new_pruner_pred);
      } else {
        pruner_pred = new_pruner_pred;
      }

      // Put the mapping from table scan operator to pruner_pred
      opToPrunner.put(top, pruner_pred);

      return;
    }
Add pruning predicate.

@param opToPrunner
@param top
@param new_pruner_pred
@throws UDFArgumentException
ql/src/java/org/apache/hadoop/hive/ql/optimizer/PrunerOperatorFactory.java