Package mondrian.rolap
Class RolapDependencyTestingEvaluator
- java.lang.Object
-
- mondrian.rolap.RolapEvaluator
-
- mondrian.rolap.RolapDependencyTestingEvaluator
-
- All Implemented Interfaces:
Evaluator
public class RolapDependencyTestingEvaluator extends RolapEvaluator
Evaluator which checks dependencies of expressions.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.
- Since:
- September, 2005
- Author:
- jhyde
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) static class
RolapDependencyTestingEvaluator.DteCompiler
Expression compiler which introduces dependency testing.(package private) static class
RolapDependencyTestingEvaluator.DteRoot
Holds context for a tree ofRolapDependencyTestingEvaluator
.-
Nested classes/interfaces inherited from interface mondrian.olap.Evaluator
Evaluator.NamedSetEvaluator, Evaluator.SetEvaluator
-
-
Field Summary
-
Fields inherited from class mondrian.rolap.RolapEvaluator
aggregationLists, cellReader, root, slicerPredicateInfo
-
-
Constructor Summary
Constructors Constructor Description RolapDependencyTestingEvaluator(RolapResult result, int expDeps)
Creates an dependency-testing evaluator.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description RolapEvaluator
_push(java.util.List<java.util.List<Member>> aggregationList)
Creates a clone of the current validator.java.lang.Object
evaluate(Calc calc, Hierarchy[] independentHierarchies, java.lang.String mdxString)
-
Methods inherited from class mondrian.rolap.RolapEvaluator
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, getOptimizedSlicerTuples, getParameterValue, getParent, getPreviousContext, getProperty, getQuery, getQueryStartTime, getSchemaReader, getSetEvaluator, getSlicerMembers, getSlicerPredicateInfo, getSlicerTuples, getTiming, hashCode, isDisjointSlicerTuple, isEvalAxes, isMultiLevelSlicerTuple, 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, setSlicerTuples, shouldIgnoreUnrelatedDimensions
-
-
-
-
Constructor Detail
-
RolapDependencyTestingEvaluator
RolapDependencyTestingEvaluator(RolapResult result, int expDeps)
Creates an dependency-testing evaluator.- Parameters:
result
- Result we are buildingexpDeps
- Number of dependencies to check
-
-
Method Detail
-
evaluate
public java.lang.Object evaluate(Calc calc, Hierarchy[] independentHierarchies, java.lang.String mdxString)
-
_push
public RolapEvaluator _push(java.util.List<java.util.List<Member>> aggregationList)
Description copied from class:RolapEvaluator
Creates a clone of the current validator.- Overrides:
_push
in classRolapEvaluator
- Parameters:
aggregationList
- List of tuples to add to aggregation context, or null
-
-