public class RolapProfilingEvaluator extends RolapEvaluator
TODO: Cleanup tasks as part of explain/profiling project:
1. Obsolete AbstractCalc.calcs member, AbstractCalc.getCalcs(), and Calc[] constructor parameter to many Calc subclasses. Store the tree structure (children of a calc, parent of a calc) in RolapEvaluatorRoot.compiledExps.
Rationale: Children calcs are
used in about 50 places, but mostly for dependency-checking (e.g.
AbstractCalc.anyDepends(mondrian.calc.Calc[], mondrian.olap.Hierarchy)
). A few places uses
the calcs array but should use more strongly typed members. e.g.
FilterFunDef.MutableMemberIterCalc should have data members
'MemberListCalc listCalc' and 'BooleanCalc conditionCalc'.
2. Split Query into parse tree, plan, statement. Fits better into the createStatement - prepare - execute JDBC lifecycle. Currently Query has aspects of all of these, and some other state is held in RolapResult (computed in the constructor, unfortunately) and RolapEvaluatorRoot. This cleanup may not be essential for the explain/profiling task but should happen soon afterwards.
Evaluator.NamedSetEvaluator, Evaluator.SetEvaluator
aggregationLists, cellReader, root, slicerPredicateInfo
Modifier and Type | Method and Description |
---|---|
protected RolapEvaluator |
_push(List<List<Member>> aggregationList)
Creates a clone of the current validator.
|
clearExpResultCache, create, currentIsEmpty, equals, evaluateCurrent, format, format, getActiveNativeExpansions, getAggregationLists, getCachedResult, getConnectionLocale, getContext, getContext, getCube, getDepth, getDialect, 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, restore, savepoint, setContext, setContext, setContext, setContext, setContext, setContext, setEvalAxes, setIterationLength, setNativeEnabled, setNonEmpty, setSlicerContext, setSlicerTuples, shouldIgnoreUnrelatedDimensions
protected RolapEvaluator _push(List<List<Member>> aggregationList)
RolapEvaluator
_push
in class RolapEvaluator
aggregationList
- List of tuples to add to aggregation context,
or nullCopyright © 2018 Hitachi Vantara. All rights reserved.