Class 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 Detail

      • 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 Detail

      • 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.