org.apache.hadoop.hive.metastore.parser
Class ExpressionTree.LeafNode

java.lang.Object
  extended by org.apache.hadoop.hive.metastore.parser.ExpressionTree.TreeNode
      extended by org.apache.hadoop.hive.metastore.parser.ExpressionTree.LeafNode
Enclosing class:
ExpressionTree

public static class ExpressionTree.LeafNode
extends ExpressionTree.TreeNode

The Class representing the leaf level nodes in the ExpressionTree.


Field Summary
 boolean isReverseOrder
           
 String keyName
           
 ExpressionTree.Operator operator
           
 Object value
          Constant expression side of the operator.
 
Constructor Summary
ExpressionTree.LeafNode()
           
 
Method Summary
 void accept(ExpressionTree.TreeVisitor visitor)
          Double dispatch for TreeVisitor.
 String generateJDOFilter(Table table, Map<String,Object> params)
          Generates a JDO filter statement
 String getFilterPushdownParam(Table table, int partColIndex)
          Validates and gets the query parameter for filter pushdown based on the column and the constant stored in this node.
 int getPartColIndexForFilter(Table table)
          Get partition column index in the table partition column list that corresponds to the key that is being filtered on by this tree node.
 
Methods inherited from class org.apache.hadoop.hive.metastore.parser.ExpressionTree.TreeNode
getAndOr, getLhs, getRhs
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

keyName

public String keyName

operator

public ExpressionTree.Operator operator

value

public Object value
Constant expression side of the operator. Can currently be a String or a Long.


isReverseOrder

public boolean isReverseOrder
Constructor Detail

ExpressionTree.LeafNode

public ExpressionTree.LeafNode()
Method Detail

accept

public void accept(ExpressionTree.TreeVisitor visitor)
            throws MetaException
Description copied from class: ExpressionTree.TreeNode
Double dispatch for TreeVisitor.

Overrides:
accept in class ExpressionTree.TreeNode
Throws:
MetaException

generateJDOFilter

public String generateJDOFilter(Table table,
                                Map<String,Object> params)
                         throws MetaException
Description copied from class: ExpressionTree.TreeNode
Generates a JDO filter statement

Overrides:
generateJDOFilter in class ExpressionTree.TreeNode
Parameters:
table - The table on which the filter is applied. If table is not null, then this method generates a JDO statement to get all partitions of the table that match the filter. If table is null, then this method generates a JDO statement to get all tables that match the filter.
params - A map of parameter key to values for the filter statement.
Returns:
a JDO filter statement
Throws:
MetaException

getPartColIndexForFilter

public int getPartColIndexForFilter(Table table)
                             throws MetaException
Get partition column index in the table partition column list that corresponds to the key that is being filtered on by this tree node.

Parameters:
table - The table.
Returns:
The index.
Throws:
MetaException

getFilterPushdownParam

public String getFilterPushdownParam(Table table,
                                     int partColIndex)
                              throws MetaException
Validates and gets the query parameter for filter pushdown based on the column and the constant stored in this node. In future this may become different for SQL and JDOQL filter pushdown.

Parameters:
table - The table.
partColIndex - The index of the column to check.
Returns:
The parameter string.
Throws:
MetaException


Copyright © 2012 The Apache Software Foundation