org.apache.hadoop.hive.ql.optimizer.pcr
Class PcrExprProcFactory.GenericFuncExprProcessor

java.lang.Object
  extended by org.apache.hadoop.hive.ql.optimizer.pcr.PcrExprProcFactory.GenericFuncExprProcessor
All Implemented Interfaces:
NodeProcessor
Enclosing class:
PcrExprProcFactory

public static class PcrExprProcFactory.GenericFuncExprProcessor
extends Object
implements NodeProcessor

Processor for Generic functions If it is AND, OR or NOT, we replace the node to be the constant true or false if we are sure the result from children, or cut one of the child if we know partial results. In case of both child has a result vector, we calculate the result vector for the node. If all partitions agree on a result, we replace the node with constant true or false. Otherwise, we pass the vector result. For other Generic functions, if it is non-deterministic we simply pass it (with children adjusted based on results from children). If it is deterministic, we evaluate result vector if any of the children is partition column. Otherwise, we pass it as it is.


Constructor Summary
PcrExprProcFactory.GenericFuncExprProcessor()
           
 
Method Summary
 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
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PcrExprProcFactory.GenericFuncExprProcessor

public PcrExprProcFactory.GenericFuncExprProcessor()
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


Copyright © 2014 The Apache Software Foundation. All rights reserved.