org.apache.hadoop.hive.ql.optimizer
Class PrunerOperatorFactory.FilterPruner

java.lang.Object
  extended by org.apache.hadoop.hive.ql.optimizer.PrunerOperatorFactory.FilterPruner
All Implemented Interfaces:
NodeProcessor
Direct Known Subclasses:
LBPartitionProcFactory.LBPRPartitionFilterPruner, LBProcFactory.LBPRFilterPruner, OpProcFactory.FilterPPR
Enclosing class:
PrunerOperatorFactory

public abstract static class PrunerOperatorFactory.FilterPruner
extends Object
implements NodeProcessor

Determines the partition pruner for the filter. This is called only when the filter follows a table scan operator.


Constructor Summary
PrunerOperatorFactory.FilterPruner()
           
 
Method Summary
protected  void addPruningPred(Map<TableScanOperator,ExprNodeDesc> opToPrunner, TableScanOperator top, ExprNodeDesc new_pruner_pred)
          Add pruning predicate.
protected  void addPruningPred(Map<TableScanOperator,Map<String,ExprNodeDesc>> opToPrunner, TableScanOperator top, ExprNodeDesc new_pruner_pred, Partition part)
          Add pruning predicate.
protected abstract  void generatePredicate(NodeProcessorCtx procCtx, FilterOperator fop, TableScanOperator top)
          Generate predicate.
 Object process(Node nd, Stack<Node> stack, NodeProcessorCtx procCtx, Object... nodeOutputs)
          Generic process for all ops that don't have specific implementations.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PrunerOperatorFactory.FilterPruner

public PrunerOperatorFactory.FilterPruner()
Method Detail

process

public Object process(Node nd,
                      Stack<Node> stack,
                      NodeProcessorCtx procCtx,
                      Object... nodeOutputs)
               throws SemanticException
Description copied from interface: NodeProcessor
Generic process for all ops that don't have specific implementations.

Specified by:
process in interface NodeProcessor
Parameters:
nd - operator to process
procCtx - operator processor context
nodeOutputs - A variable argument list of outputs from other nodes in the walk
Returns:
Object to be returned by the process call
Throws:
SemanticException

generatePredicate

protected abstract void generatePredicate(NodeProcessorCtx procCtx,
                                          FilterOperator fop,
                                          TableScanOperator top)
                                   throws SemanticException,
                                          UDFArgumentException
Generate predicate. Subclass should implement the function. Please refer to OpProcFactory.FilterPPR

Parameters:
procCtx -
fop -
top -
Throws:
SemanticException
UDFArgumentException

addPruningPred

protected void addPruningPred(Map<TableScanOperator,ExprNodeDesc> opToPrunner,
                              TableScanOperator top,
                              ExprNodeDesc new_pruner_pred)
                       throws UDFArgumentException
Add pruning predicate.

Parameters:
opToPrunner -
top -
new_pruner_pred -
Throws:
UDFArgumentException

addPruningPred

protected void addPruningPred(Map<TableScanOperator,Map<String,ExprNodeDesc>> opToPrunner,
                              TableScanOperator top,
                              ExprNodeDesc new_pruner_pred,
                              Partition part)
                       throws UDFArgumentException
Add pruning predicate.

Parameters:
opToPrunner -
top -
new_pruner_pred -
part -
Throws:
UDFArgumentException


Copyright © 2012 The Apache Software Foundation