public class RolapDependencyTestingEvaluator extends RolapEvaluator
For each expression evaluation, this valuator evaluates each expression more times, and makes sure that the results of the expression are independent of dimensions which the expression claims to be independent of.
Since it evaluates each expression twice, it also exposes function implementations which change the context of the evaluator.
Modifier and Type | Class and Description |
---|---|
(package private) static class |
RolapDependencyTestingEvaluator.DteCompiler
Expression compiler which introduces dependency testing.
|
(package private) static class |
RolapDependencyTestingEvaluator.DteRoot
Holds context for a tree of
RolapDependencyTestingEvaluator . |
Evaluator.NamedSetEvaluator, Evaluator.SetEvaluator
aggregationLists, cellReader, root
Constructor and Description |
---|
RolapDependencyTestingEvaluator(RolapResult result,
int expDeps)
Creates an dependency-testing evaluator.
|
Modifier and Type | Method and Description |
---|---|
RolapEvaluator |
_push(List<List<Member>> aggregationList)
Creates a clone of the current validator.
|
Object |
evaluate(Calc calc,
Hierarchy[] independentHierarchies,
String mdxString) |
addCalculation, clearExpResultCache, create, currentIsEmpty, equals, evaluateCurrent, format, format, getActiveNativeExpansions, getAggregationLists, getCachedResult, getConnectionLocale, getContext, getContext, getCube, getDepth, getDialect, getExpanding, getFormatString, getIterationLength, getLogger, getMeasureCube, getMembers, getMissCount, getNamedSetEvaluator, getNonAllMembers, getParameterValue, getParent, getPreviousContext, getProperty, getQuery, getQueryStartTime, getSchemaReader, getSetEvaluator, getSlicerMembers, getTiming, hashCode, isEvalAxes, isNonEmpty, mightReturnNullForUnrelatedDimension, nativeEnabled, needToReturnNullForUnrelatedDimension, newEvalException, push, push, push, push, push, pushAggregation, removeCalculation, restore, savepoint, setCellReader, setContext, setContext, setContext, setContext, setContext, setContext, setEvalAxes, setExpanding, setIterationLength, setNativeEnabled, setNonEmpty, setSlicerContext, shouldIgnoreUnrelatedDimensions
RolapDependencyTestingEvaluator(RolapResult result, int expDeps)
result
- Result we are buildingexpDeps
- Number of dependencies to checkpublic RolapEvaluator _push(List<List<Member>> aggregationList)
RolapEvaluator
_push
in class RolapEvaluator
aggregationList
- List of tuples to add to aggregation context,
or null