public abstract class RolapAggregationManager extends Object
RolapAggregationManager
manages all
Segment
s in the system.
The bits of the implementation which depend upon dimensional concepts
RolapMember
, etc.) live in this class, and the other bits live
in the derived class, AggregationManager
.
Modifier and Type | Class and Description |
---|---|
static interface |
RolapAggregationManager.PinSet
A set of segments which are pinned (prevented from garbage collection)
for a short duration as a result of a cache inquiry.
|
Modifier | Constructor and Description |
---|---|
protected |
RolapAggregationManager()
Creates the RolapAggregationManager.
|
Modifier and Type | Method and Description |
---|---|
abstract RolapAggregationManager.PinSet |
createPinSet()
Creates a
RolapAggregationManager.PinSet . |
mondrian.rolap.CellReader |
getCacheCellReader()
Returns a
CellReader which reads cells from cache. |
abstract Object |
getCellFromCache(CellRequest request)
Retrieves the value of a cell from the cache.
|
abstract Object |
getCellFromCache(CellRequest request,
RolapAggregationManager.PinSet pinSet) |
abstract String |
getDrillThroughSql(DrillThroughCellRequest request,
StarPredicate starPredicateSlicer,
List<OlapElement> fields,
boolean countOnly)
Generates a SQL statement which will return the rows which contribute to
this request.
|
static RolapCacheRegion |
makeCacheRegion(RolapStar star,
CacheControl.CellRegion region) |
static DrillThroughCellRequest |
makeDrillThroughRequest(Member[] members,
boolean extendedContext,
RolapCube cube,
List<OlapElement> returnClauseMembers)
Creates a request for the fact-table rows underlying the cell identified
by
members . |
static CellRequest |
makeRequest(Member[] members)
Creates a request to evaluate the cell identified by
members . |
static CellRequest |
makeRequest(RolapEvaluator evaluator)
Creates a request to evaluate the cell identified by the context
specified in
evaluator . |
protected RolapAggregationManager()
public static CellRequest makeRequest(Member[] members)
members
.
If any of the members is the null member, returns null, since there is no cell. If the measure is calculated, returns null.
members
- Set of members which constrain the cellpublic static DrillThroughCellRequest makeDrillThroughRequest(Member[] members, boolean extendedContext, RolapCube cube, List<OlapElement> returnClauseMembers)
members
.
If any of the members is the null member, returns null, since there is no cell. If the measure is calculated, returns null.
members
- Set of members which constrain the cellextendedContext
- If true, add non-constraining columns to the
query for levels below each current member.
This additional context makes the drill-through
queries easier for humans to understand.cube
- Cubepublic static CellRequest makeRequest(RolapEvaluator evaluator)
evaluator
.
If any of the members from the context is the null member, returns null, since there is no cell. If the measure is calculated, returns null.
evaluator
- the cell specified by the evaluator contextpublic abstract Object getCellFromCache(CellRequest request)
request
- Cell requestUtil.nullValue
if cell's value is nullpublic abstract Object getCellFromCache(CellRequest request, RolapAggregationManager.PinSet pinSet)
public abstract String getDrillThroughSql(DrillThroughCellRequest request, StarPredicate starPredicateSlicer, List<OlapElement> fields, boolean countOnly)
request
- Cell requestcountOnly
- If true, return a statment which returns only the countstarPredicateSlicer
- A StarPredicate representing slicer positions
that could not be represented by the CellRequest, or
null
if no additional predicate is necessary.public static RolapCacheRegion makeCacheRegion(RolapStar star, CacheControl.CellRegion region)
public mondrian.rolap.CellReader getCacheCellReader()
CellReader
which reads cells from cache.public abstract RolapAggregationManager.PinSet createPinSet()
RolapAggregationManager.PinSet
.Copyright © 2019 Hitachi Vantara. All rights reserved.