Package mondrian.rolap
Class RolapAggregationManager
java.lang.Object
mondrian.rolap.RolapAggregationManager
- Direct Known Subclasses:
AggregationManager
RolapAggregationManager manages all
Segments 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.
- Since:
- 30 August, 2001
- Author:
- jhyde
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic interfaceA set of segments which are pinned (prevented from garbage collection) for a short duration as a result of a cache inquiry. -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedCreates the RolapAggregationManager. -
Method Summary
Modifier and TypeMethodDescriptionabstract RolapAggregationManager.PinSetCreates aRolapAggregationManager.PinSet.mondrian.rolap.CellReaderReturns aCellReaderwhich reads cells from cache.abstract ObjectgetCellFromCache(CellRequest request) Retrieves the value of a cell from the cache.abstract ObjectgetCellFromCache(CellRequest request, RolapAggregationManager.PinSet pinSet) abstract StringgetDrillThroughSql(DrillThroughCellRequest request, StarPredicate starPredicateSlicer, List<OlapElement> fields, boolean countOnly) Generates a SQL statement which will return the rows which contribute to this request.static RolapCacheRegionmakeCacheRegion(RolapStar star, CacheControl.CellRegion region) static DrillThroughCellRequestmakeDrillThroughRequest(Member[] members, boolean extendedContext, RolapCube cube, List<OlapElement> returnClauseMembers) Creates a request for the fact-table rows underlying the cell identified bymembers.static CellRequestmakeRequest(Member[] members) Creates a request to evaluate the cell identified bymembers.static CellRequestmakeRequest(RolapEvaluator evaluator) Creates a request to evaluate the cell identified by the context specified inevaluator.
-
Constructor Details
-
RolapAggregationManager
protected RolapAggregationManager()Creates the RolapAggregationManager.
-
-
Method Details
-
makeRequest
Creates a request to evaluate the cell identified bymembers.If any of the members is the null member, returns null, since there is no cell. If the measure is calculated, returns null.
- Parameters:
members- Set of members which constrain the cell- Returns:
- Cell request, or null if the requst is unsatisfiable
-
makeDrillThroughRequest
public static DrillThroughCellRequest makeDrillThroughRequest(Member[] members, boolean extendedContext, RolapCube cube, List<OlapElement> returnClauseMembers) Creates a request for the fact-table rows underlying the cell identified bymembers.If any of the members is the null member, returns null, since there is no cell. If the measure is calculated, returns null.
- Parameters:
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- Cube- Returns:
- Cell request, or null if the requst is unsatisfiable
-
makeRequest
Creates a request to evaluate the cell identified by the context specified inevaluator.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.
- Parameters:
evaluator- the cell specified by the evaluator context- Returns:
- Cell request, or null if the requst is unsatisfiable
-
getCellFromCache
Retrieves the value of a cell from the cache.- Parameters:
request- Cell request- Returns:
- Cell value, or null if cell is not in any aggregation in cache,
or
Util.nullValueif cell's value is null
-
getCellFromCache
-
getDrillThroughSql
public 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.- Parameters:
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, ornullif no additional predicate is necessary.- Returns:
- SQL statement
-
makeCacheRegion
-
getCacheCellReader
public mondrian.rolap.CellReader getCacheCellReader()Returns aCellReaderwhich reads cells from cache. -
createPinSet
Creates aRolapAggregationManager.PinSet.- Returns:
- a new PinSet
-