Package mondrian.rolap
Implements the data access layer for the olap package.
When a member expression like member.children is evaluated, the function
requests the SchemaReader from the Evaluator. The RolapEvaluator
uses the RolapSchemaReader which delegates most calls to one
of its MemberReaders (one per dimension). In most cases, a SmartMemberReader
will be used, which returns the requested members immediately.
Cells are evaluated multiple times. For the first time,
a FastBatchingCellReader is used. When a cell is evaluated,
Evaluator.evaluateCurrent() is called. The FastBatchingCellReader
will not compute the cells value but record a CellRequest for that cell
and return (not throw) an exception. After all CellRequests for all cells
have been recorded, the Aggregation will generate SQL to load all cells
with a single SQL query. After that the cells are evaluated again with
an AggregatingCellReader that will return the cell values from the cache.
MemberReader

CellReader

-
Interface Summary Interface Description BitKey Represents a set of bits.CacheControlImpl.CellRegionImpl CacheControlImpl.CellRegionVisitor Visitor that visits various sub-types ofCacheControl.CellRegion
.CacheControlImpl.MemberEditCommandPlus Implementation-specific extensions to theCacheControl.MemberEditCommand
interface.CacheControlImpl.MemberSetPlus Implementation-specific extensions to theCacheControl.MemberSet
interface.CacheControlImpl.MemberSetVisitor Visits the subclasses ofCacheControlImpl.MemberSetPlus
.CellKey ACellKey
is used as a key in maps which access cells by their position.
CellReader ACellReader
finds the cell value for the current context held byevaluator
.MemberCache AMemberCache
can retrieve members based upon their parent and name.MemberReader AMemberReader
implements common operations to retrieve members from a hierarchy.MemberSource AMemberSource
has the basic operations to read the members of ahierarchy
.Modulos Modulos implementations encapsulate algorithms to map between integral ordinals and position arrays.RolapAggregationManager.PinSet A set of segments which are pinned (prevented from garbage collection) for a short duration as a result of a cache inquiry.RolapCalculation Entry in the evaluation context that indicates a calculation that needs to be performed before we get to the atomic stored cells.RolapCubeHierarchy.RolapCubeHierarchyMemberReader TODO: Since this is part of a caching strategy, should be implemented as a Strategy Pattern, avoiding hierarchy.RolapCubeLevel.LevelReader Encapsulation of the difference between levels in terms of how constraints are generated.RolapMeasure Interface implemented by all measures (both stored and calculated).RolapMember ARolapMember
is a member of aRolapHierarchy
.RolapMemberBase.PropertyValueMapFactory Interface definition for the pluggable factory used to decide which implementation ofMap
to use to store property string/value pairs for member properties.RolapMemberInCube Extension toRolapMember
that knows the current cube.RolapNative.Listener RolapNativeSet.SchemaReaderWithMemberReaderAvailable RolapNativeSql.SqlCompiler Translates an expression into SQLRolapResult.CellInfoContainer API for the creation and lookup ofRolapResult.CellInfo
objects.RolapResult.CellInfoPool.CellKeyMaker Implementations of CellKeyMaker convert the Cell position integer array to along
.RolapResult.ValueFormatter Formatter to convert values into formatted strings.RolapStoredMeasure A measure which is implemented by a SQL column or SQL expression (as opposed to aRolapCalculatedMember
.RolapUtil.ExecuteQueryHook SqlMemberSource.ValuePoolFactory Interface definition for the pluggable factory used to decide which implementation ofMap
to use to pool reusable values.SqlStatement.Accessor StarColumnPredicate Refinement ofStarPredicate
which constrains precisely one column.StarPredicate Condition which constrains a set of values of a singleRolapStar.Column
or a set of columns.TupleReader Describes the public methods ofSqlTupleReader
.TupleReader.MemberBuilder Factory to create new members for a hierarchy from SQL result. -
Class Summary Class Description ArrayMemberSource ArrayMemberSource
implements a flat, static hierarchy.BatchLoader Context for processing a request to the cache manager for segments matching a collection of cell requests.BatchLoader.CompositeBatch Set of Batches which can grouped together.BatchLoader.LoadBatchCommand Command that loads the segments required for a collection of cell requests.BatchLoader.LoadBatchResponse Request sent from cache manager to a worker to load segments into the cache, create segments by rolling up, and to wait for segments being loaded via SQL.BatchLoader.RollupInfo BatchTestCase To support allBatch
related tests.BatchTestCase.CellRequestConstraint BatchTestCase.TestListener Gets notified on various test events: when a matching native evaluator was found when SQL is executed when result is found in the cacheBitKey.AbstractBitKey Abstract implementation ofBitKey
.BitKey.Big Implementation ofBitKey
with more than 64 bits.BitKey.Factory BitKey.Mid128 Implementation ofBitKey
good for sizes less than 128.BitKey.Small Implementation ofBitKey
for bit counts less than 64.BitKeyTest Unit test forBitKey
.CacheControlImpl Implementation ofCacheControl
API.CacheControlImpl.CrossjoinCellRegion Cell region formed by a cartesian product of two or more CellRegions.CacheControlImpl.EmptyCellRegion An empty cell region.CacheControlImpl.EmptyMemberSet Member set containing no members.CacheControlImpl.MemberCellRegion Cell region formed by a list of members.CacheControlImpl.MemberRangeCellRegion Cell region formed a range of members between a lower and upper bound.CacheControlImpl.MemberSetVisitorImpl Default implementation ofCacheControlImpl.MemberSetVisitor
.CacheControlImpl.RangeMemberSet Member set defined by a range of members between a lower and upper bound.CacheControlImpl.SimpleMemberSet Member set defined by a list of members from one hierarchy.CacheControlImpl.UnionMemberSet Member set defined by the union of other member sets.CacheControlTest Unit-test for cache-flushing functionality.CacheMemberReader CellKey.Four CellKey.Generator CellKey.Many CellKey.One CellKey.Three CellKey.Two CellKey.Zero CellKeyTest Test that the implementations of the CellKey interface are correct.ChildByNameConstraint Constraint which optimizes the search for a child by name.CompoundPredicateInfo Constructs a Pairbased on an tuple list and measure, along with the string representation of the predicate. ConnectionKey Globally unique identifier for the definition of a JDBC database connection.DataSourceChangeListenerTest Tests for testing the DataSourceChangeListener plugin.DefaultMemberChildrenConstraint Restricts the SQL result set to the parent member of a MemberChildren query.DefaultTupleConstraint TupleConstraint which does not restrict the result.DelegatingMemberReader ADelegatingMemberReader
is aMemberReader
which redirects all method calls to an underlyingMemberReader
.DelegatingRolapMember Implementation ofRolapMember
that delegates all calls to an underlying member.DescendantsConstraint TupleConstaint which restricts the result of a tuple sqlQuery to a set of parents.FastBatchingCellReader AFastBatchingCellReader
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.FastBatchingCellReaderTest Test forFastBatchingCellReader
.FastBatchingCellReaderTest.MyDelegatingInvocationHandler FilterTest Tests for Filter and native Filters.GroupingSetQueryTest Test support for generating SQL queries with theGROUPING SETS
construct, if the DBMS supports it.GroupingSetsCollector TheGroupingSetsCollector
collects the GroupinpSets and pass the consolidated list to form group by grouping sets sqlHierarchyUsage AHierarchyUsage
is the usage of a hierarchy in the context of a cube.HighCardSqlTupleReader Deprecated. Deprecated for Mondrian 4.0.HighDimensionsTest Unit-test for non cacheable elementos of high dimensions.IndexedValuesTest Test case for '&[..]' capability in MDX identifiers.MeasureMemberSource AMeasureMemberSource
implements theMemberReader
interface for the special Measures dimension.MemberCacheControlTest Unit tests for flushing member cache and editing cached member properties.MemberCacheHelper Encapsulation of member caching.MemberCacheHelperTest MemberExcludeConstraint Constraint which excludes the members in the list received in constructor.MemberKey MemberKey
todo:MemberNoCacheHelper Encapsulation of member caching for no caching.Modulos.Base Modulos.Generator Modulos.Many Modulos.One Modulos.Three Modulos.Two Modulos.Zero ModulosTest Test that the implementations of the Modulos interface are correct.NativeFilterAgainstAggTableTest NativeFilterMatchingTest Test case for pushing MDX filter conditions down to SQL.NoCacheMemberReader NoCacheMemberReader
implementsMemberReader
but without doing any kind of caching and avoiding to read all members.NonEmptyPropertyForAllAxisTest Tests theMondrianProperties.EnableNonEmptyOnAllAxis
property.NonEmptyTest Tests for NON EMPTY Optimization, includes SqlConstraint type hierarchy and RolapNative classes.RestrictedMemberReader ARestrictedMemberReader
reads only the members of a hierarchy allowed by a role's access profile.RestrictedMemberReader.MultiCardinalityDefaultMember This is a special subclass ofDelegatingRolapMember
.ResultLoader Loader to be iterated to load all results from database.RolapAggregationManager RolapAggregationManager
manages allSegment
s in the system.RolapAggregator Describes an aggregation operator, such as "sum" or "count".RolapAggregator.AvgFromAvg Aggregator used for aggregate tables implementing the average aggregator.RolapAggregator.AvgFromSum Aggregator used for aggregate tables implementing the average aggregator.RolapAggregator.BaseAggor This is the base class for implementing aggregators over sum and average columns in an aggregate table.RolapAggregator.SumFromAvg This is an aggregator used for aggregate tables implementing the sum aggregator.RolapAllCubeMember The 'All' member of aRolapCubeHierarchy
.RolapAxis Implementation of the Axis interface.RolapAxisTest Unit test for lists and iterators over members and tuples.RolapBaseCubeMeasure Measure which is computed from a SQL column (or expression) and which is defined in a non-virtual cube.RolapCacheRegion ARolapCacheRegion
represents a region of multidimensional space in the cache.RolapCalculatedMember ARolapCalculatedMember
is a member based upon aFormula
.RolapCell RolapConnection ARolapConnection
is a connection to a Mondrian OLAP Server.RolapConnection.NonEmptyResult ANonEmptyResult
filters a result by removing empty rows on a particular axis.RolapConnectionPool Singleton class that holds a connection pool.RolapConnectionTest Unit test forRolapConnection
.RolapCube RolapCube
implementsCube
for a ROLAP database.RolapCube.CubeComparator RolapCubeDimension RolapCubeDimension wraps a RolapDimension for a specific Cube.RolapCubeHierarchy Hierarchy that is associated with a specific Cube.RolapCubeHierarchy.RolapCubeSqlMemberSource RolapCubeLevel RolapCubeLevel wraps a RolapLevel for a specific Cube.RolapCubeLevel.AllLevelReaderImpl Level reader for the level which contains the 'all' member.RolapCubeLevel.NullLevelReader Level reader for the level which contains the null member.RolapCubeLevel.ParentChildLevelReaderImpl Level reader for a parent-child level which has a closed peer level.RolapCubeLevel.RegularLevelReader Level reader for a regular level.RolapCubeMember RolapCubeMember wraps RolapMembers and binds them to a specific cube.RolapCubeTest Unit test forRolapCube
.RolapCubeUsages Provides the base cubes that a virtual cube uses and specifies if unrelated dimensions to measures from these cubes should be ignored.RolapDependencyTestingEvaluator Evaluator which checks dependencies of expressions.RolapDependencyTestingEvaluator.DteCompiler Expression compiler which introduces dependency testing.RolapDependencyTestingEvaluator.DteRoot Holds context for a tree ofRolapDependencyTestingEvaluator
.RolapDimension RolapDimension
implementsDimension
for a ROLAP database.RolapEvaluator RolapEvaluator
evaluates expressions in a dimensional environment.RolapEvaluatorRoot Context at the root of a tree of evaluators.RolapEvaluatorTest RolapHierarchy RolapHierarchy
implementsHierarchy
for a ROLAP database.RolapHierarchy.LimitedRollupMember Substitute for a member in a hierarchy whose rollup policy is 'partial' or 'hidden'.RolapHierarchy.RolapCalculatedMeasure Calculated member which is also a measure (that is, a member of the [Measures] dimension).RolapHierarchy.RolapNullMember ARolapNullMember
is the null member of its hierarchy.RolapLevel RolapLevel
implementsLevel
for a ROLAP database.RolapMemberBase Basic implementation of a member in aRolapHierarchy
.RolapMemberBase.DefaultPropertyValueMapFactory DefaultRolapMemberBase.PropertyValueMapFactory
implementation, used ifMondrianProperties.PropertyValueMapFactoryClass
is not set.RolapMemberBase.PropertyValueMapFactoryFactory Creates the PropertyValueMapFactory which is in turn used to create property-value maps for member properties.RolapMemberCalculation Implementation ofRolapCalculation
that wraps acalculated member
.RolapNamedSetEvaluator Evaluation context for a particular named set.RolapNative A factory forNativeEvaluator
.RolapNative.NativeEvent RolapNative.TupleEvent RolapNativeCrossJoin Creates aNativeEvaluator
that evaluates NON EMPTY CrossJoin in SQL.RolapNativeCrossJoin.NonEmptyCrossJoinConstraint Constraint that restricts the result to the current context.RolapNativeFilter Computes a Filter(set, condition) in SQL.RolapNativeFilter.FilterConstraint RolapNativeRegistry Composite ofRolapNative
s.RolapNativeSet Analyses set expressions and executes them in SQL if possible.RolapNativeSet.SetConstraint Constraint for non empty {crossjoin, member.children, member.descendants, level.members}RolapNativeSql Creates SQL from parse tree nodes.RolapNativeSql.CompositeSqlCompiler Implementation ofRolapNativeSql.SqlCompiler
that uses chain of responsibility to find a matching sql compiler.RolapNativeTopCount Computes a TopCount in SQL.RolapNativeTopCount.TopCountConstraint RolapNativeTopCountTest RolapNativeTopCountTestCases RolapNativeTopCountVersusNonNativeTest RolapProfilingEvaluator Evaluator that collects profiling information as it evaluates expressions.RolapProfilingEvaluator.ProfilingEvaluatorCompiler Expression compiler which introduces dependency testing.RolapProperty RolapProperty
is the definition of a member property.RolapResult ARolapResult
is the result of running a query.RolapResult.CellFormatterValueFormatter A CellFormatterValueFormatter uses a user-definedCellFormatter
to format values.RolapResult.CellInfo A CellInfo contains all of the information that a Cell requires.RolapResult.CellInfoMap Implementation ofRolapResult.CellInfoContainer
which uses aMap
to store CellInfo Objects.RolapResult.CellInfoPool Implementation ofRolapResult.CellInfoContainer
which uses anObjectPool
to storeRolapResult.CellInfo
Objects.RolapResult.CellInfoPool.Four For axis of size 4.RolapResult.CellInfoPool.One For axis of size 1.RolapResult.CellInfoPool.Three For axis of size 3.RolapResult.CellInfoPool.Two For axis of size 2.RolapResult.CellInfoPool.Zero For axis of size 0.RolapResult.FormatValueFormatter RolapResult.RolapResultEvaluatorRoot Extension toRolapEvaluatorRoot
which is capable of evaluating sets and named sets.RolapResultShepherd A utility class forRolapConnection
.RolapResultTest Testcase forRolapSchema RolapSchema.RolapSchemaFunctionTable Function table which contains all of the user-defined functions in this schema, plus all of the standard functions.RolapSchemaParameter Parameter that is defined in a schema.RolapSchemaPool A collection of schemas, identified by their connection properties (catalog name, JDBC URL, and so forth).RolapSchemaPoolConcurrencyTest RolapSchemaPoolTest Test forRolapSchemaPool
.RolapSchemaPoolTest.NotReallyDynamicSchemaProcessor RolapSchemaReader ARolapSchemaReader
allows you to read schema objects while observing the access-control profile specified by a given role.RolapSchemaReaderTest Unit test forSchemaReader
.RolapSetEvaluator Evaluation context to be able to expand a generic expression that returns a setRolapStar ARolapStar
is a star schema.RolapStar.AliasReplacer Creates a copy of an expression, everywhere replacing one alias with another.RolapStar.Bar Temporary.RolapStar.Column A column in a star schema.RolapStar.ColumnComparator Comparator to compare columns based on their nameRolapStar.Condition RolapStar.Measure Definition of a measure in a star schema.RolapStar.Table Definition of a table in a star schema.RolapStarTest Unit test forRolapStar
.RolapStarTest.RolapStarForTests RolapStatisticsCache Provides and caches statistics.RolapTupleCalculation Implementation ofRolapCalculation
that changes one or more dimensions, then evaluates a given calculation.RolapUtil Utility methods for classes in themondrian.rolap
package.RolapUtil.TeeWriter Writes to a string and also to an underlying writer.RolapVirtualCubeMeasure Measure which is defined in a virtual cube, and based on a stored measure in one of the virtual cube's base cubes.ScenarioImpl Implementation ofScenario
.SchemaContentKey Globally unique identifier for the metadata content of a schema.SchemaKey Key for an instance of a schema.SharedDimensionTest Unit test for shared dimensions.SmartIncrementalCache<K,V extends Collection> Uses a SmartCache to store a collection of values.SmartMemberListCache<K,V> Uses aSmartCache
to store lists of members, where the key depends on aSqlConstraint
.SmartMemberReader SmartMemberReader
implementsMemberReader
by keeping a cache of members and their children.SmartRestrictedMemberReader ASmartRestrictedMemberReader
is a subclass ofRestrictedMemberReader
which caches the access rights per children's list.SqlConstraintFactory Creates the right constraint for common tasks.SqlConstraintUtils Utility class used by implementations ofSqlConstraint
, used to generate constraints intoSqlQuery
.SqlContextConstraint limits the result of a Member SQL query to the current evaluation context.SqlMemberSource ASqlMemberSource
reads members from a SQL database.SqlMemberSource.NullValuePoolFactory DefaultSqlMemberSource.ValuePoolFactory
implementation, used ifMondrianProperties.SqlMemberSourceValuePoolFactoryClass
is not set.SqlMemberSource.ValuePoolFactoryFactory Creates the ValuePoolFactory which is in turn used to create property-value maps for member properties.SqlStatement SqlStatement contains a SQL statement and associated resources throughout its lifetime.SqlStatement.MyDelegatingInvocationHandler Reflectively implements theResultSet
interface by routing method calls to the result set inside aSqlStatement
.SqlStatement.StatementLocus SqlStatementTest SqlTupleReader Reads the members of a single level (level.members) or of multiple levels (crossjoin).StarColumnPredicate.Overlap Returned byStarColumnPredicate.intersect(mondrian.rolap.StarColumnPredicate)
, describes whether two predicates overlap, and if so, the remaining predicate.StringList StringList
makes it easy to build up a comma-separated string.SubstitutingMemberReader Implementation ofMemberReader
which replaces given members with a substitute.Target Deprecated. Deprecated for Mondrian 4.0.TargetBase Base helper class for the SQL tuple readersHighCardSqlTupleReader
andSqlTupleReader
.Test todo:TestAggregationManager Unit test forAggregationManager
.TopCountNativeEvaluatorTest This class contains tests for some cases related to creating native evaluator forTOPCOUNT
function.TopCountWithTwoParamsVersusHeadTest According to MSDN page, whenTOPCOUNT
function is called with two parameters it should mimic the behaviour ofHEAD
function.VirtualCubeTest Unit tests for virtual cubes. -
Enum Summary Enum Description HierarchyUsage.Kind RolapBaseCubeMeasure.DataType RolapConnectionProperties RolapConnectionProperties
enumerates the allowable values of keywords in a Mondrian connect string.RolapLevel.HideMemberCondition Conditions under which a level's members may be hidden (thereby creating a ragged hierarchy).ScenarioImpl.CellRelation Decribes the relationship between two cells.SqlStatement.Type The approximate JDBC type of a column.SqlTupleReader.WhichSelect Description of the position of a SELECT statement in a UNION. -
Error Summary Error Description BatchTestCase.Bomb Fake exception to interrupt the test when we see the desired query.