Top Description Fields Constructors Methods
org.hsqldb

public Class GroupSet

extends Object
Class Inheritance
Imports
java.util.Arrays, org.hsqldb.lib.HsqlArrayList, .Iterator, .List, .OrderedHashSet

Transforms a tree of GROUPING SETS variants into normalised form for building the result of GROUP BY queries. Code modifications to ParserDQL, QuerySpecification, RowSetNavigatorData, SetFunctionValueAggregate and other classes by the author form parts of added support for GROUPING SETS, ROLLUP, CUBE and GROUPING functionality.
Author
Nicholas Quek (kocolipy@users dot sourceforge.net)
Since
2.5.1
Version
2.6.0

Field Summary

Modifier and TypeField and Description
pack-priv Expression[]
pack-priv boolean
pack-priv int
pack-priv HsqlArrayList<E>

Constructor Summary

AccessConstructor and Description
public
GroupSet(Expression[] expressions, boolean isDistinct)

Method Summary

Modifier and TypeMethod and Description
private static HsqlArrayList<E>
private static HsqlArrayList<E>
private static int
public Iterator<E>
private static HsqlArrayList<E>
grouping(Expression[] expressions)

public int
isGrouped(List<E> current, Expression e)

private static HsqlArrayList<E>
powerSet(Expression[] expressions)

public void
private static HsqlArrayList<E>
rollUp(Expression[] expressions)

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

groupExpressionsback to summary
pack-priv Expression[] groupExpressions
isDistinctGroupsback to summary
pack-priv boolean isDistinctGroups
nullSetsback to summary
pack-priv int nullSets
setsback to summary
pack-priv HsqlArrayList<E> sets

Constructor Detail

GroupSetback to summary
public GroupSet(Expression[] expressions, boolean isDistinct)

Method Detail

evaluateback to summary
private static HsqlArrayList<E> evaluate(Expression e)
evaluateback to summary
private static HsqlArrayList<E> evaluate(Expression[] e)
getColumnIndexback to summary
private static int getColumnIndex(Expression e)
getIteratorback to summary
public Iterator<E> getIterator()
groupingback to summary
private static HsqlArrayList<E> grouping(Expression[] expressions)
isGroupedback to summary
public int isGrouped(List<E> current, Expression e)
powerSetback to summary
private static HsqlArrayList<E> powerSet(Expression[] expressions)
processback to summary
public void process()
rollUpback to summary
private static HsqlArrayList<E> rollUp(Expression[] expressions)