|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object mondrian.rolap.agg.SegmentLoader
public class SegmentLoader
The SegmentLoader
queries database and loads the data into
the given set of segments.
It reads a segment of measure
, where columns
are
constrained to values
. Each entry in values
can be null, meaning don't constrain, or can have several values. For
example, getSegment({Unit_sales}, {Region, State, Year}, {"West"},
{"CA", "OR", "WA"}, null})
returns sales in states CA, OR and WA
in the Western region, for all years.
Constructor Summary | |
---|---|
SegmentLoader()
|
Method Summary | |
---|---|
(package private) SqlStatement |
createExecuteSql(GroupingSetsList groupingSetsList,
List<StarPredicate> compoundPredicateList)
Creates and executes a SQL statement to retrieve the set of cells specified by a GroupingSetsList. |
(package private) SortedSet<Comparable<?>>[] |
getDistinctValueWorkspace(int arity)
|
(package private) List<RolapStar.Column[]> |
getGroupingColumnsList(RolapStar.Column[] detailedBatchColumns,
List<GroupingSet> aggBatchDetails)
|
(package private) BitKey |
getRollupBitKey(int arity,
Object[] row,
int k)
Generates bit key representing roll up columns |
void |
load(List<GroupingSet> groupingSets,
RolapAggregationManager.PinSet pinnedSegments,
List<StarPredicate> compoundPredicateList)
Loads data for all the segments of the GroupingSets. |
(package private) List<Object[]> |
loadData(SqlStatement stmt,
GroupingSetsList groupingSetsList)
|
(package private) List<Object[]> |
processData(SqlStatement stmt,
boolean[] axisContainsNull,
SortedSet<Comparable<?>>[] axisValueSets,
GroupingSetsList groupingSetsList)
|
(package private) void |
setFailOnStillLoadingSegments(GroupingSetsList groupingSetsList)
|
(package private) boolean |
useSparse(boolean sparse,
int n,
List<Object[]> rows)
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public SegmentLoader()
Method Detail |
---|
public void load(List<GroupingSet> groupingSets, RolapAggregationManager.PinSet pinnedSegments, List<StarPredicate> compoundPredicateList)
SqlQuery.Dialect.supportsGroupingSets()
then
grouping sets list should always have only one element in it.
For example, if list has 2 grouping sets with columns A, B, C and B, C respectively, then the SQL will be "GROUP BY GROUPING SETS ((A, B, C), (B, C))".
Else if the list has only one grouping set then sql would be without grouping sets.
The groupingSets
list should be topological order, with
more detailed higher-level grouping sets occuring first. In other words,
the first element of the list should always be the detailed grouping
set (default grouping set), followed by grouping sets which can be
rolled-up on this detailed grouping set.
In the example (A, B, C) is the detailed grouping set and (B, C) is
rolled-up using the detailed.
groupingSets
- List of grouping sets whose segments are loadedpinnedSegments
- Pinned segmentsvoid setFailOnStillLoadingSegments(GroupingSetsList groupingSetsList)
boolean useSparse(boolean sparse, int n, List<Object[]> rows)
SqlStatement createExecuteSql(GroupingSetsList groupingSetsList, List<StarPredicate> compoundPredicateList)
This method may be overridden in tests.
groupingSetsList
- Grouping
List<Object[]> processData(SqlStatement stmt, boolean[] axisContainsNull, SortedSet<Comparable<?>>[] axisValueSets, GroupingSetsList groupingSetsList) throws SQLException
SQLException
BitKey getRollupBitKey(int arity, Object[] row, int k)
List<Object[]> loadData(SqlStatement stmt, GroupingSetsList groupingSetsList) throws SQLException
SQLException
List<RolapStar.Column[]> getGroupingColumnsList(RolapStar.Column[] detailedBatchColumns, List<GroupingSet> aggBatchDetails)
SortedSet<Comparable<?>>[] getDistinctValueWorkspace(int arity)
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |