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

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

public class QBJoinTree
extends Object

Internal representation of the join tree


Constructor Summary
QBJoinTree()
          constructor
 
Method Summary
 void addRHSSemijoin(String alias)
          Insert only a key to the semijoin table name to column names map.
 void addRHSSemijoinColumns(String alias, ArrayList<ASTNode> columns)
          Remeber the mapping of table alias to set of columns.
 void addRHSSemijoinColumns(String alias, ASTNode column)
          Remeber the mapping of table alias to set of columns.
 String[] getBaseSrc()
           
 Vector<Vector<ASTNode>> getExpressions()
           
 Vector<Vector<ASTNode>> getFilters()
           
 joinCond[] getJoinCond()
           
 QBJoinTree getJoinSrc()
           
 String getJoinStreamDesc()
           
 String getLeftAlias()
          returns left alias if any - this is used for merging later on
 String[] getLeftAliases()
           
 List<String> getMapAliases()
           
 int getNextTag()
           
 boolean getNoOuterJoin()
           
 boolean getNoSemiJoin()
           
 ArrayList<ASTNode> getRHSSemijoinColumns(String alias)
           
 String[] getRightAliases()
           
 List<String> getStreamAliases()
           
 boolean isMapSideJoin()
           
 void mergeRHSSemijoin(QBJoinTree src)
          Merge the rhs tables from another join tree.
 void setBaseSrc(String[] baseSrc)
           
 void setExpressions(Vector<Vector<ASTNode>> expressions)
           
 void setFilters(Vector<Vector<ASTNode>> filters)
           
 void setJoinCond(joinCond[] joinCond)
           
 void setJoinSrc(QBJoinTree joinSrc)
           
 void setLeftAlias(String leftAlias)
          set left alias for the join expression
 void setLeftAliases(String[] leftAliases)
           
 void setMapAliases(List<String> mapAliases)
           
 void setMapSideJoin(boolean mapSideJoin)
           
 void setNoOuterJoin(boolean noOuterJoin)
           
 void setNoSemiJoin(boolean semi)
           
 void setRightAliases(String[] rightAliases)
           
 void setStreamAliases(List<String> streamAliases)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

QBJoinTree

public QBJoinTree()
constructor

Method Detail

getLeftAlias

public String getLeftAlias()
returns left alias if any - this is used for merging later on

Returns:
left alias if any

setLeftAlias

public void setLeftAlias(String leftAlias)
set left alias for the join expression

Parameters:
leftAlias - String

getRightAliases

public String[] getRightAliases()

setRightAliases

public void setRightAliases(String[] rightAliases)

getLeftAliases

public String[] getLeftAliases()

setLeftAliases

public void setLeftAliases(String[] leftAliases)

getExpressions

public Vector<Vector<ASTNode>> getExpressions()

setExpressions

public void setExpressions(Vector<Vector<ASTNode>> expressions)

getBaseSrc

public String[] getBaseSrc()

setBaseSrc

public void setBaseSrc(String[] baseSrc)

getJoinSrc

public QBJoinTree getJoinSrc()

setJoinSrc

public void setJoinSrc(QBJoinTree joinSrc)

getNextTag

public int getNextTag()

getJoinStreamDesc

public String getJoinStreamDesc()

getJoinCond

public joinCond[] getJoinCond()

setJoinCond

public void setJoinCond(joinCond[] joinCond)

getNoOuterJoin

public boolean getNoOuterJoin()

setNoOuterJoin

public void setNoOuterJoin(boolean noOuterJoin)

getNoSemiJoin

public boolean getNoSemiJoin()

setNoSemiJoin

public void setNoSemiJoin(boolean semi)

getFilters

public Vector<Vector<ASTNode>> getFilters()
Returns:
the filters

setFilters

public void setFilters(Vector<Vector<ASTNode>> filters)
Parameters:
filters - the filters to set

isMapSideJoin

public boolean isMapSideJoin()
Returns:
the mapSidejoin

setMapSideJoin

public void setMapSideJoin(boolean mapSideJoin)
Parameters:
mapSideJoin - the mapSidejoin to set

getMapAliases

public List<String> getMapAliases()
Returns:
the mapAliases

setMapAliases

public void setMapAliases(List<String> mapAliases)
Parameters:
mapAliases - the mapAliases to set

getStreamAliases

public List<String> getStreamAliases()

setStreamAliases

public void setStreamAliases(List<String> streamAliases)

addRHSSemijoin

public void addRHSSemijoin(String alias)
Insert only a key to the semijoin table name to column names map.

Parameters:
alias - table name alias.

addRHSSemijoinColumns

public void addRHSSemijoinColumns(String alias,
                                  ArrayList<ASTNode> columns)
Remeber the mapping of table alias to set of columns.

Parameters:
alias -
columns -

addRHSSemijoinColumns

public void addRHSSemijoinColumns(String alias,
                                  ASTNode column)
Remeber the mapping of table alias to set of columns.

Parameters:
alias -
columns -

getRHSSemijoinColumns

public ArrayList<ASTNode> getRHSSemijoinColumns(String alias)

mergeRHSSemijoin

public void mergeRHSSemijoin(QBJoinTree src)
Merge the rhs tables from another join tree.

Parameters:
src - the source join tree


Copyright © 2009 The Apache Software Foundation