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

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

public 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.
 
Constructor Summary
TypeCheckProcFactory()
           
 
Method Summary
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
 

Constructor Detail

TypeCheckProcFactory

public TypeCheckProcFactory()
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

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 © 2009 The Apache Software Foundation