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

java.lang.Object
  extended by org.apache.hadoop.hive.ql.parse.QBJoinTree
All Implemented Interfaces:
Serializable

public class QBJoinTree
extends Object
implements Serializable

Internal representation of the join tree.

See Also:
Serialized Form

Constructor Summary
QBJoinTree()
          constructor.
 
Method Summary
 void addFilterMapping(int outer, int target, int length)
           
 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()
           
 ArrayList<ArrayList<ASTNode>> getExpressions()
           
 int[][] getFilterMap()
           
 ArrayList<ArrayList<ASTNode>> getFilters()
           
 ArrayList<ArrayList<ASTNode>> getFiltersForPushing()
           
 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<Boolean> getNullSafes()
           
 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(ArrayList<ArrayList<ASTNode>> expressions)
           
 void setFilterMap(int[][] filterMap)
           
 void setFilters(ArrayList<ArrayList<ASTNode>> filters)
           
 void setFiltersForPushing(ArrayList<ArrayList<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 setNullSafes(ArrayList<Boolean> nullSafes)
           
 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 ArrayList<ArrayList<ASTNode>> getExpressions()

setExpressions

public void setExpressions(ArrayList<ArrayList<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 ArrayList<ArrayList<ASTNode>> getFilters()
Returns:
the filters

setFilters

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

getFiltersForPushing

public ArrayList<ArrayList<ASTNode>> getFiltersForPushing()
Returns:
the filters for pushing

setFiltersForPushing

public void setFiltersForPushing(ArrayList<ArrayList<ASTNode>> filters)
Parameters:
filters - for pushing 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 -
column -

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

getNullSafes

public ArrayList<Boolean> getNullSafes()

setNullSafes

public void setNullSafes(ArrayList<Boolean> nullSafes)

addFilterMapping

public void addFilterMapping(int outer,
                             int target,
                             int length)

getFilterMap

public int[][] getFilterMap()

setFilterMap

public void setFilterMap(int[][] filterMap)


Copyright © 2013 The Apache Software Foundation