mondrian.rolap
Class BatchLoader.Batch

java.lang.Object
  extended by mondrian.rolap.BatchLoader.Batch
Enclosing class:
BatchLoader

public class BatchLoader.Batch
extends Object


Field Summary
(package private)  AggregationKey batchKey
           
(package private)  RolapStar.Column[] columns
           
(package private)  List<RolapStar.Measure> measuresList
           
(package private)  Set<StarColumnPredicate>[] valueSets
           
 
Constructor Summary
BatchLoader.Batch(CellRequest request)
           
 
Method Summary
 void add(CellRequest request)
           
(package private)  boolean canBatch(BatchLoader.Batch other)
          Returns whether another Batch can be batched to this Batch.
 SegmentCacheManager getCacheMgr()
           
 BitKey getConstrainedColumnsBitKey()
           
(package private)  RolapStar.Measure getFirstDistinctMeasure(List<RolapStar.Measure> measuresList)
          Returns the first measure based upon a distinct aggregation, or null if there is none.
(package private)  boolean hasDistinctCountMeasure()
           
(package private)  boolean hasOverlappingBitKeys(BatchLoader.Batch other)
           
(package private)  boolean hasSameCompoundPredicate(BatchLoader.Batch other)
           
(package private)  boolean haveSameClosureColumns(BatchLoader.Batch other)
          Returns whether this batch has the same closure columns as another.
(package private)  boolean haveSameStarAndAggregation(BatchLoader.Batch other)
           
(package private)  boolean haveSameValues(BatchLoader.Batch other)
          Return whether have same values for overlapping columns or has all children for others.
(package private)  void loadAggregation(GroupingSetsCollector groupingSetsCollector, List<Future<Map<Segment,SegmentWithData>>> segmentFutures)
           
 void loadAggregation(List<Future<Map<Segment,SegmentWithData>>> segmentFutures)
           
 String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

columns

final RolapStar.Column[] columns

measuresList

final List<RolapStar.Measure> measuresList

valueSets

final Set<StarColumnPredicate>[] valueSets

batchKey

final AggregationKey batchKey
Constructor Detail

BatchLoader.Batch

public BatchLoader.Batch(CellRequest request)
Method Detail

toString

public String toString()
Overrides:
toString in class Object

add

public final void add(CellRequest request)

getConstrainedColumnsBitKey

public BitKey getConstrainedColumnsBitKey()

getCacheMgr

public SegmentCacheManager getCacheMgr()

loadAggregation

public final void loadAggregation(List<Future<Map<Segment,SegmentWithData>>> segmentFutures)

loadAggregation

final void loadAggregation(GroupingSetsCollector groupingSetsCollector,
                           List<Future<Map<Segment,SegmentWithData>>> segmentFutures)

getFirstDistinctMeasure

final RolapStar.Measure getFirstDistinctMeasure(List<RolapStar.Measure> measuresList)
Returns the first measure based upon a distinct aggregation, or null if there is none.


canBatch

boolean canBatch(BatchLoader.Batch other)
Returns whether another Batch can be batched to this Batch.

This is possible if:

  • columns list is super set of other batch's constraint columns; and
  • both have same Fact Table; and
  • matching columns of this and other batch has the same value; and
  • non matching columns of this batch have ALL VALUES


  • hasOverlappingBitKeys

    boolean hasOverlappingBitKeys(BatchLoader.Batch other)

    hasDistinctCountMeasure

    boolean hasDistinctCountMeasure()

    hasSameCompoundPredicate

    boolean hasSameCompoundPredicate(BatchLoader.Batch other)

    haveSameStarAndAggregation

    boolean haveSameStarAndAggregation(BatchLoader.Batch other)

    haveSameClosureColumns

    boolean haveSameClosureColumns(BatchLoader.Batch other)
    Returns whether this batch has the same closure columns as another.

    Ensures that we do not group together a batch that includes a level of a parent-child closure dimension with a batch that does not. It is not safe to roll up from a parent-child closure level; due to multiple accounting, the 'all' level is less than the sum of the members of the closure level.

    Parameters:
    other - Other batch
    Returns:
    Whether batches have the same closure columns

    haveSameValues

    boolean haveSameValues(BatchLoader.Batch other)
    Return whether have same values for overlapping columns or has all children for others.


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