Class FastBatchingCellReader

java.lang.Object
mondrian.rolap.FastBatchingCellReader

public class FastBatchingCellReader extends Object
A FastBatchingCellReader doesn't really Read cells: when asked to look up the values of stored measures, it lies, and records the fact that the value was asked for. Later, we can look over the values which are required, fetch them in an efficient way, and re-run the evaluation with a real evaluator.

NOTE: When it doesn't know the answer, it lies by returning an error object. The calling code must be able to deal with that.

This class tries to minimize the amount of storage needed to record the fact that a cell was requested.

  • Constructor Details

    • FastBatchingCellReader

      public FastBatchingCellReader(Execution execution, RolapCube cube, AggregationManager aggMgr)
      Creates a FastBatchingCellReader.
      Parameters:
      execution - Execution that calling statement belongs to. Allows us to check for cancel
      cube - Cube that requests belong to
      aggMgr - Aggregation manager
  • Method Details

    • get

      public Object get(RolapEvaluator evaluator)
    • getMissCount

      public int getMissCount()
    • getHitCount

      public int getHitCount()
    • getPendingCount

      public int getPendingCount()
    • recordCellRequest

      public final void recordCellRequest(CellRequest request)
    • isDirty

      public boolean isDirty()
      Returns whether this reader has told a lie. This is the case if there are pending batches to load or if setDirty(boolean) has been called.