org.apache.hadoop.hive.ql.parse
Class TypeCheckProcFactory

java.lang.Object
  extended by org.apache.hadoop.hive.ql.parse.TypeCheckProcFactory

public final class TypeCheckProcFactory
extends Object

The Factory for creating typecheck processors. The typecheck processors are used to processes the syntax trees for expressions and convert them into expression Node Descriptor trees. They also introduce the correct conversion functions to do proper implicit conversion.


Nested Class Summary
static class TypeCheckProcFactory.BoolExprProcessor
          Processor for boolean constants.
static class TypeCheckProcFactory.ColumnExprProcessor
          Processor for table columns.
static class TypeCheckProcFactory.DefaultExprProcessor
          The default processor for typechecking.
static class TypeCheckProcFactory.NullExprProcessor
          Processor for processing NULL expression.
static class TypeCheckProcFactory.NumExprProcessor
          Processor for processing numeric constants.
static class TypeCheckProcFactory.StrExprProcessor
          Processor for processing string constants.
 
Field Summary
protected static org.apache.commons.logging.Log LOG
           
 
Method Summary
static HashMap<Node,Object> genExprNode(ASTNode expr, TypeCheckCtx tcCtx)
           
static TypeCheckProcFactory.BoolExprProcessor getBoolExprProcessor()
          Factory method to get BoolExprProcessor.
static TypeCheckProcFactory.ColumnExprProcessor getColumnExprProcessor()
          Factory method to get ColumnExprProcessor.
static TypeCheckProcFactory.DefaultExprProcessor getDefaultExprProcessor()
          Factory method to get DefaultExprProcessor.
static TypeCheckProcFactory.NullExprProcessor getNullExprProcessor()
          Factory method to get NullExprProcessor.
static TypeCheckProcFactory.NumExprProcessor getNumExprProcessor()
          Factory method to get NumExprProcessor.
static TypeCheckProcFactory.StrExprProcessor getStrExprProcessor()
          Factory method to get StrExprProcessor.
static ExprNodeDesc processGByExpr(Node nd, Object procCtx)
          Function to do groupby subexpression elimination.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

LOG

protected static final org.apache.commons.logging.Log LOG
Method Detail

processGByExpr

public static ExprNodeDesc processGByExpr(Node nd,
                                          Object procCtx)
                                   throws SemanticException
Function to do groupby subexpression elimination. This is called by all the processors initially. As an example, consider the query select a+b, count(1) from T group by a+b; Then a+b is already precomputed in the group by operators key, so we substitute a+b in the select list with the internal column name of the a+b expression that appears in the in input row resolver.

Parameters:
nd - The node that is being inspected.
procCtx - The processor context.
Returns:
exprNodeColumnDesc.
Throws:
SemanticException

genExprNode

public static HashMap<Node,Object> genExprNode(ASTNode expr,
                                               TypeCheckCtx tcCtx)
                                        throws SemanticException
Throws:
SemanticException

getNullExprProcessor

public static TypeCheckProcFactory.NullExprProcessor getNullExprProcessor()
Factory method to get NullExprProcessor.

Returns:
NullExprProcessor.

getNumExprProcessor

public static TypeCheckProcFactory.NumExprProcessor getNumExprProcessor()
Factory method to get NumExprProcessor.

Returns:
NumExprProcessor.

getStrExprProcessor

public static TypeCheckProcFactory.StrExprProcessor getStrExprProcessor()
Factory method to get StrExprProcessor.

Returns:
StrExprProcessor.

getBoolExprProcessor

public static TypeCheckProcFactory.BoolExprProcessor getBoolExprProcessor()
Factory method to get BoolExprProcessor.

Returns:
BoolExprProcessor.

getColumnExprProcessor

public static TypeCheckProcFactory.ColumnExprProcessor getColumnExprProcessor()
Factory method to get ColumnExprProcessor.

Returns:
ColumnExprProcessor.

getDefaultExprProcessor

public static TypeCheckProcFactory.DefaultExprProcessor getDefaultExprProcessor()
Factory method to get DefaultExprProcessor.

Returns:
DefaultExprProcessor.


Copyright © 2011 The Apache Software Foundation