Package mondrian.rolap
Class DefaultMemberChildrenConstraint
java.lang.Object
mondrian.rolap.DefaultMemberChildrenConstraint
- All Implemented Interfaces:
MemberChildrenConstraint
,SqlConstraint
Restricts the SQL result set to the parent member of a
MemberChildren query. If called with a calculated member an
exception will be thrown.
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
addLevelConstraint
(SqlQuery query, RolapCube baseCube, AggStar aggStar, RolapLevel level) Will be called once for the level that contains the children of a Member.Children query.void
addMemberConstraint
(SqlQuery sqlQuery, RolapCube baseCube, AggStar aggStar, List<RolapMember> parents) Modifies aMember.Children
query so that (all or some) children of all parent members contained inparents
will be returned in the result set.void
addMemberConstraint
(SqlQuery sqlQuery, RolapCube baseCube, AggStar aggStar, RolapMember parent) Modifies aMember.Children
query so that only the children ofparent
will be returned in the result set.Returns a key that becomes part of the key for caching the result of the SQL query.static MemberChildrenConstraint
instance()
toString()
-
Constructor Details
-
DefaultMemberChildrenConstraint
protected DefaultMemberChildrenConstraint()
-
-
Method Details
-
addMemberConstraint
public void addMemberConstraint(SqlQuery sqlQuery, RolapCube baseCube, AggStar aggStar, RolapMember parent) Description copied from interface:MemberChildrenConstraint
Modifies aMember.Children
query so that only the children ofparent
will be returned in the result set.- Specified by:
addMemberConstraint
in interfaceMemberChildrenConstraint
- Parameters:
sqlQuery
- the query to modifybaseCube
- base cube for virtual membersaggStar
- Aggregate star, if we are reading from an aggregate table,parent
- the parent member that restricts the returned children
-
addMemberConstraint
public void addMemberConstraint(SqlQuery sqlQuery, RolapCube baseCube, AggStar aggStar, List<RolapMember> parents) Description copied from interface:MemberChildrenConstraint
Modifies aMember.Children
query so that (all or some) children of all parent members contained inparents
will be returned in the result set.- Specified by:
addMemberConstraint
in interfaceMemberChildrenConstraint
- Parameters:
sqlQuery
- Query to modifybaseCube
- Base cube for virtual membersaggStar
- Aggregate table, or null if query is against fact tableparents
- List of parent members that restrict the returned children
-
addLevelConstraint
public void addLevelConstraint(SqlQuery query, RolapCube baseCube, AggStar aggStar, RolapLevel level) Description copied from interface:MemberChildrenConstraint
Will be called once for the level that contains the children of a Member.Children query. If the condition requires so, it may join the levels table to the fact table.- Specified by:
addLevelConstraint
in interfaceMemberChildrenConstraint
- Parameters:
query
- the query to modifybaseCube
- base cube for virtual membersaggStar
- Aggregate table, or null if query is against fact tablelevel
- the level that contains the children
-
toString
-
getCacheKey
Description copied from interface:SqlConstraint
Returns a key that becomes part of the key for caching the result of the SQL query. So SqlConstraint instances that produce the same SQL resultset must return equal keys in terms of equal() and hashCode().- Specified by:
getCacheKey
in interfaceSqlConstraint
- Returns:
- valid key or null to prevent the result from being cached
-
instance
-