mondrian.rolap
Class BatchLoader

java.lang.Object
  extended by mondrian.rolap.BatchLoader

 class BatchLoader
extends Object

Context for processing a request to the cache manager for segments matching a collection of cell requests. All methods except the constructor are executed by the cache manager's dedicated thread.


Nested Class Summary
 class BatchLoader.Batch
           
(package private) static class BatchLoader.CompositeBatch
          Set of Batches which can grouped together.
static class BatchLoader.LoadBatchCommand
          Command that loads the segments required for a collection of cell requests.
(package private) static class BatchLoader.LoadBatchResponse
          Request sent from cache manager to a worker to load segments into the cache, create segments by rolling up, and to wait for segments being loaded via SQL.
static class BatchLoader.RollupInfo
           
 
Constructor Summary
BatchLoader(Locus locus, SegmentCacheManager cacheMgr, Dialect dialect, RolapCube cube)
           
 
Method Summary
(package private) static void addToCompositeBatch(Map<AggregationKey,BatchLoader.CompositeBatch> batchGroups, BatchLoader.Batch detailedBatch, BatchLoader.Batch summaryBatch)
           
(package private) static List<BatchLoader.CompositeBatch> groupBatches(List<BatchLoader.Batch> batchList)
           
(package private)  BatchLoader.LoadBatchResponse load(List<CellRequest> cellRequests)
          Determines which segments need to be loaded from external cache, created using roll up, or created using SQL to satisfy a given list of cell requests.
(package private)  boolean shouldUseGroupingFunction()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BatchLoader

public BatchLoader(Locus locus,
                   SegmentCacheManager cacheMgr,
                   Dialect dialect,
                   RolapCube cube)
Method Detail

shouldUseGroupingFunction

final boolean shouldUseGroupingFunction()

load

BatchLoader.LoadBatchResponse load(List<CellRequest> cellRequests)
Determines which segments need to be loaded from external cache, created using roll up, or created using SQL to satisfy a given list of cell requests.

Returns:
List of segment futures. Each segment future may or may not be already present (it depends on the current location of the segment body). Each future will return a not-null segment (or throw).

groupBatches

static List<BatchLoader.CompositeBatch> groupBatches(List<BatchLoader.Batch> batchList)

addToCompositeBatch

static void addToCompositeBatch(Map<AggregationKey,BatchLoader.CompositeBatch> batchGroups,
                                BatchLoader.Batch detailedBatch,
                                BatchLoader.Batch summaryBatch)

Get Mondrian at SourceForge.net. Fast, secure and free Open Source software downloads