unity.query
Class LQCondNode

java.lang.Object
  extended by unity.query.LQNode
      extended by unity.query.LQCondNode
All Implemented Interfaces:
java.lang.Cloneable, LQTreeConstants

public class LQCondNode
extends LQNode
implements java.lang.Cloneable


Field Summary
 
Fields inherited from interface unity.query.LQTreeConstants
ADD, AGGREGATEFUNCTION, AND, APPEND, ARITH_OP, ARITHMETICFUNCTION, AS_IDENTIFIER, AS_TABLE, BAG_DIFFERENCE, BAG_INTERSECTION, BAG_UNION, BigDecimal, COMPARISON_OP, CONDITION, CONSTANTEXPRESSION, CROSSPRODUCT, DIFFERENCE, DISTRIBUTEDJOIN, DUPLICATE_ELIMINATION, DYNAMICHASHJOIN, EARLYHASHJOIN, EARLYHASHJOIN_NOBUFFER, EXPRESSION, FILTER, FULLOUTERJOIN, FUNCTION, GROUPBY, HAVING, IDENTIFIER, IN, INNERJOIN, INTEGER, INTERSECTION, JOIN, LEFTOUTERJOIN, MATCHFUNCTION, MERGE, MERGEJOIN, MINIMUM_JOIN_BUFFER_SIZE, MULT, MULT_OP, NESTEDLOOPJOIN, NOT, OR, ORDERBY, PRODUCT, PROJECTION, REAL, RIGHTOUTERJOIN, SELECTION, SQLPATTERN, STRING, TABLE, TABLE_IDENTIFIER, UNION, UNKNOWN, XOR
 
Constructor Summary
LQCondNode()
           
 
Method Summary
 EquiJoinPredicate buildJoinPredicate(Operator[] children, LQJoinNode opNode)
           
 Operator buildOperator(Operator[] children)
           
 SelectionPredicate buildSelectionPredicate(Relation inputRel)
           
 java.lang.Object clone()
           
 java.lang.String generateSQL()
           
static int getAttributeIndex(java.lang.String attrName, Relation leftRelation, Relation rightRelation, int query2Offset, Relation filterRelation)
           
 double getSelectivity()
           
 int getType()
           
 java.lang.String toString()
           
static void validateExpression(LQExprNode exprNode, Relation leftRelation, Relation rightRelation, int query2Offset, Relation filterRelation)
           
 void validateFilter(SubQuery leftSubquery, SubQuery rightSubquery, Relation outputRelation)
           
 void validateMerge(SubQuery leftSQ, SubQuery rightSQ)
           
 
Methods inherited from class unity.query.LQNode
addChild, containsChild, getAllExprNodes, getChild, getChild, getChildren, getContent, getNumChildren, getOperator, getOutputRelation, getParent, getReference, getRequiredFields, hasChildren, indexOfChild, numTuples, print, removeChild, removeChild, removeChild, replaceChild, setChild, setContent, setMemorySizeTuples, setOperator, setParent, setReference, setType, stripDBAttr, stripDBTable, tupleSize
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

LQCondNode

public LQCondNode()
Method Detail

getType

public int getType()
Overrides:
getType in class LQNode

generateSQL

public java.lang.String generateSQL()
Specified by:
generateSQL in class LQNode

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

buildOperator

public Operator buildOperator(Operator[] children)
Specified by:
buildOperator in class LQNode

buildSelectionPredicate

public SelectionPredicate buildSelectionPredicate(Relation inputRel)
                                           throws java.sql.SQLException
Throws:
java.sql.SQLException

buildJoinPredicate

public EquiJoinPredicate buildJoinPredicate(Operator[] children,
                                            LQJoinNode opNode)
                                     throws java.sql.SQLException
Throws:
java.sql.SQLException

getSelectivity

public double getSelectivity()

clone

public java.lang.Object clone()
Overrides:
clone in class LQNode

validateMerge

public void validateMerge(SubQuery leftSQ,
                          SubQuery rightSQ)
                   throws java.sql.SQLException
Throws:
java.sql.SQLException

validateExpression

public static void validateExpression(LQExprNode exprNode,
                                      Relation leftRelation,
                                      Relation rightRelation,
                                      int query2Offset,
                                      Relation filterRelation)
                               throws java.sql.SQLException
Throws:
java.sql.SQLException

getAttributeIndex

public static int getAttributeIndex(java.lang.String attrName,
                                    Relation leftRelation,
                                    Relation rightRelation,
                                    int query2Offset,
                                    Relation filterRelation)
                             throws java.sql.SQLException
Throws:
java.sql.SQLException

validateFilter

public void validateFilter(SubQuery leftSubquery,
                           SubQuery rightSubquery,
                           Relation outputRelation)
                    throws java.sql.SQLException
Throws:
java.sql.SQLException