public class FastBatchingCellReader extends Object
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 and Description |
---|
FastBatchingCellReader(Execution execution,
RolapCube cube,
AggregationManager aggMgr)
Creates a FastBatchingCellReader.
|
Modifier and Type | Method and Description |
---|---|
Object |
get(RolapEvaluator evaluator)
Returns the value of the cell which has the context described by the
evaluator.
|
int |
getHitCount() |
int |
getMissCount()
Returns the number of times this cell reader has told a lie
(since creation), because the required cell value is not in the
cache.
|
int |
getPendingCount() |
boolean |
isDirty()
Returns whether this reader has told a lie.
|
void |
recordCellRequest(CellRequest request) |
public FastBatchingCellReader(Execution execution, RolapCube cube, AggregationManager aggMgr)
execution
- Execution that calling statement belongs to. Allows us
to check for cancelcube
- Cube that requests belong toaggMgr
- Aggregation managerpublic Object get(RolapEvaluator evaluator)
If no aggregation contains the required cell, returns null.
If the value is null, returns Util.nullValue
.
Util.nullValue
if
the value is nullpublic int getMissCount()
public int getHitCount()
public int getPendingCount()
public final void recordCellRequest(CellRequest request)
public boolean isDirty()
setDirty(boolean)
has been
called.Copyright © 2019 Hitachi Vantara. All rights reserved.