org.apache.hadoop.hive.ql.optimizer.pcr
Class PcrExprProcFactory.GenericFuncExprProcessor
java.lang.Object
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.
PcrExprProcFactory.GenericFuncExprProcessor
public PcrExprProcFactory.GenericFuncExprProcessor()
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 processprocCtx
- operator processor contextnodeOutputs
- 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.