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
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.
CellReader
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.-
Interface Summary Interface Description BitKey Represents a set of bits.CellKey ACellKeyis used as a key in maps which access cells by their position.MemberSource AMemberSourcehas 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.RolapCubeHierarchy.RolapCubeHierarchyMemberReader TODO: Since this is part of a caching strategy, should be implemented as a Strategy Pattern, avoiding hierarchy.RolapMeasure Interface implemented by all measures (both stored and calculated).RolapMember ARolapMemberis a member of aRolapHierarchy.RolapMemberBase.PropertyValueMapFactory Interface definition for the pluggable factory used to decide which implementation ofMapto use to store property string/value pairs for member properties.RolapMemberInCube Extension toRolapMemberthat knows the current cube.RolapNativeSet.SchemaReaderWithMemberReaderAvailable RolapStoredMeasure A measure which is implemented by a SQL column or SQL expression (as opposed to aRolapCalculatedMember.RolapUtil.ExecuteQueryHook SqlStatement.Accessor StarColumnPredicate Refinement ofStarPredicatewhich constrains precisely one column.StarPredicate Condition which constrains a set of values of a singleRolapStar.Columnor 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 BitKey.AbstractBitKey Abstract implementation ofBitKey.BitKey.Big Implementation ofBitKeywith more than 64 bits.BitKey.Factory BitKey.Mid128 Implementation ofBitKeygood for sizes less than 128.BitKey.Small Implementation ofBitKeyfor bit counts less than 64.CacheControlImpl Implementation ofCacheControlAPI.CacheControlImpl.MemberSetVisitorImpl Default implementation ofCacheControlImpl.MemberSetVisitor.CellKey.Four CellKey.Generator CellKey.Many CellKey.One CellKey.Three CellKey.Two CellKey.Zero CompoundPredicateInfo Constructs a Pairbased on an tuple list and measure, along with the string representation of the predicate. DefaultMemberChildrenConstraint Restricts the SQL result set to the parent member of a MemberChildren query.DefaultTupleConstraint TupleConstraint which does not restrict the result.DelegatingRolapMember Implementation ofRolapMemberthat delegates all calls to an underlying member.FastBatchingCellReader AFastBatchingCellReaderdoesn'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.GroupingSetsCollector TheGroupingSetsCollectorcollects the GroupinpSets and pass the consolidated list to form group by grouping sets sqlHierarchyUsage AHierarchyUsageis the usage of a hierarchy in the context of a cube.HighCardSqlTupleReader Deprecated. Deprecated for Mondrian 4.0.MemberCacheHelper Encapsulation of member caching.MemberNoCacheHelper Encapsulation of member caching for no caching.Modulos.Base Modulos.Generator Modulos.Many Modulos.One Modulos.Three Modulos.Two Modulos.Zero NoCacheMemberReader NoCacheMemberReaderimplementsMemberReaderbut without doing any kind of caching and avoiding to read all members.ResultLoader Loader to be iterated to load all results from database.RolapAggregationManager RolapAggregationManagermanages allSegments 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.RolapAxis Implementation of the Axis interface.RolapBaseCubeMeasure Measure which is computed from a SQL column (or expression) and which is defined in a non-virtual cube.RolapCacheRegion ARolapCacheRegionrepresents a region of multidimensional space in the cache.RolapCalculatedMember ARolapCalculatedMemberis a member based upon aFormula.RolapCell RolapConnection ARolapConnectionis a connection to a Mondrian OLAP Server.RolapCube RolapCubeimplementsCubefor 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.RolapCubeMember RolapCubeMember wraps RolapMembers and binds them to a specific cube.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.RolapEvaluator RolapEvaluatorevaluates expressions in a dimensional environment.RolapHierarchy RolapHierarchyimplementsHierarchyfor a ROLAP database.RolapHierarchy.LimitedRollupMember Substitute for a member in a hierarchy whose rollup policy is 'partial' or 'hidden'.RolapLevel RolapLevelimplementsLevelfor a ROLAP database.RolapMemberBase Basic implementation of a member in aRolapHierarchy.RolapMemberBase.DefaultPropertyValueMapFactory DefaultRolapMemberBase.PropertyValueMapFactoryimplementation, used ifMondrianProperties.PropertyValueMapFactoryClassis not set.RolapMemberBase.PropertyValueMapFactoryFactory Creates the PropertyValueMapFactory which is in turn used to create property-value maps for member properties.RolapNative A factory forNativeEvaluator.RolapNativeCrossJoin Creates aNativeEvaluatorthat evaluates NON EMPTY CrossJoin in SQL.RolapNativeFilter Computes a Filter(set, condition) in SQL.RolapNativeRegistry Composite ofRolapNatives.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.RolapNativeTopCount Computes a TopCount in SQL.RolapProfilingEvaluator Evaluator that collects profiling information as it evaluates expressions.RolapResult ARolapResultis the result of running a query.RolapResult.RolapResultEvaluatorRoot Extension toRolapEvaluatorRootwhich is capable of evaluating sets and named sets.RolapResultShepherd A utility class forRolapConnection.RolapSchema RolapSchemaParameter Parameter that is defined in a schema.RolapSchemaReader ARolapSchemaReaderallows you to read schema objects while observing the access-control profile specified by a given role.RolapStar ARolapStaris 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 name and table that contains themRolapStar.Condition RolapStar.Measure Definition of a measure in a star schema.RolapStar.Table Definition of a table in a star schema.RolapStatisticsCache Provides and caches statistics.RolapUtil Utility methods for classes in themondrian.rolappackage.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.SchemaKey Key for an instance of a schema.SmartIncrementalCache<K,V extends Collection> Uses a SmartCache to store a collection of values.SmartMemberListCache<K,V> Uses aSmartCacheto store lists of members, where the key depends on aSqlConstraint.SmartMemberReader SmartMemberReaderimplementsMemberReaderby keeping a cache of members and their children.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.SqlStatement SqlStatement contains a SQL statement and associated resources throughout its lifetime.SqlStatement.MyDelegatingInvocationHandler Reflectively implements theResultSetinterface by routing method calls to the result set inside aSqlStatement.SqlStatement.StatementLocus 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.SubstitutingMemberReader Implementation ofMemberReaderwhich replaces given members with a substitute.Target Deprecated. Deprecated for Mondrian 4.0.TargetBase Base helper class for the SQL tuple readersHighCardSqlTupleReaderandSqlTupleReader.Test todo:TupleConstraintStruct -
Enum Summary Enum Description RolapConnectionProperties RolapConnectionPropertiesenumerates 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).SqlStatement.Type The approximate JDBC type of a column.