unity.query
Class LQGroupByNode

java.lang.Object
  extended by unity.query.LQNode
      extended by unity.query.LQGroupByNode
All Implemented Interfaces:
LQTreeConstants

public class LQGroupByNode
extends LQNode


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
LQGroupByNode()
           
 
Method Summary
 void addAggregateFunction(LQExprNode func)
           
 void addGroupByExpression(LQExprNode exprNode)
           
 Operator buildOperator(Operator[] children)
           
 LQExprNode findAggregateFunction(LQExprNode func)
           
 java.lang.String generateSQL()
           
 java.util.ArrayList getExpressions()
           
 java.util.ArrayList getProjectedFields(java.util.ArrayList projectFields)
           
 java.util.ArrayList getProjectedFunctionExpr(java.util.ArrayList projectFunctionFields)
           
 java.util.ArrayList getRequiredFields()
           
static boolean isAggregateFunction(java.lang.String fn)
           
 boolean isEmpty()
           
 boolean isEmptyGrouping()
           
 int numTuples()
           
 java.lang.String toString()
           
 int tupleSize()
           
 void validateField(LQExprNode exprNode)
           
 
Methods inherited from class unity.query.LQNode
addChild, clone, containsChild, getAllExprNodes, getChild, getChild, getChildren, getContent, getNumChildren, getOperator, getOutputRelation, getParent, getReference, getType, hasChildren, indexOfChild, print, removeChild, removeChild, removeChild, replaceChild, setChild, setContent, setMemorySizeTuples, setOperator, setParent, setReference, setType, stripDBAttr, stripDBTable
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

LQGroupByNode

public LQGroupByNode()
Method Detail

addGroupByExpression

public void addGroupByExpression(LQExprNode exprNode)

findAggregateFunction

public LQExprNode findAggregateFunction(LQExprNode func)

addAggregateFunction

public void addAggregateFunction(LQExprNode func)

isEmpty

public boolean isEmpty()

isEmptyGrouping

public boolean isEmptyGrouping()

validateField

public void validateField(LQExprNode exprNode)
                   throws java.sql.SQLException
Throws:
java.sql.SQLException

isAggregateFunction

public static boolean isAggregateFunction(java.lang.String fn)

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)
                       throws java.sql.SQLException
Specified by:
buildOperator in class LQNode
Throws:
java.sql.SQLException

getProjectedFields

public java.util.ArrayList getProjectedFields(java.util.ArrayList projectFields)

getProjectedFunctionExpr

public java.util.ArrayList getProjectedFunctionExpr(java.util.ArrayList projectFunctionFields)

getExpressions

public java.util.ArrayList getExpressions()

getRequiredFields

public java.util.ArrayList getRequiredFields()
Overrides:
getRequiredFields in class LQNode

numTuples

public int numTuples()
Overrides:
numTuples in class LQNode

tupleSize

public int tupleSize()
Overrides:
tupleSize in class LQNode