Package mondrian.rolap.sql
Class CrossJoinArgFactory
- java.lang.Object
-
- mondrian.rolap.sql.CrossJoinArgFactory
-
public class CrossJoinArgFactory extends Object
Creates CrossJoinArgs for use in constraining SQL queries.- Since:
- Dec 15, 2009
- Author:
- kwalker
-
-
Field Summary
Fields Modifier and Type Field Description protected static org.apache.log4j.LoggerLOGGER
-
Constructor Summary
Constructors Constructor Description CrossJoinArgFactory(boolean restrictMemberTypes)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Set<CrossJoinArg>buildConstraintFromAllAxes(RolapEvaluator evaluator)List<CrossJoinArg[]>checkCrossJoin(RolapEvaluator evaluator, FunDef fun, Exp[] args, boolean returnAny)Checks forCrossJoin(<set1>, <set2>), where set1 and set2 are one ofmember.children,level.membersormember.descendants.List<CrossJoinArg[]>checkCrossJoinArg(RolapEvaluator evaluator, Exp exp)Scans for memberChildren, levelMembers, memberDescendants, crossJoin.(package private) List<CrossJoinArg[]>checkCrossJoinArg(RolapEvaluator evaluator, Exp exp, boolean returnAny)Checks whether an expression can be natively evaluated.
-
-
-
Method Detail
-
buildConstraintFromAllAxes
public Set<CrossJoinArg> buildConstraintFromAllAxes(RolapEvaluator evaluator)
-
checkCrossJoinArg
public List<CrossJoinArg[]> checkCrossJoinArg(RolapEvaluator evaluator, Exp exp)
Scans for memberChildren, levelMembers, memberDescendants, crossJoin.
-
checkCrossJoinArg
List<CrossJoinArg[]> checkCrossJoinArg(RolapEvaluator evaluator, Exp exp, boolean returnAny)
Checks whether an expression can be natively evaluated. The following expressions can be natively evaluated:- member.Children
- level.members
- descendents of a member
- member list
- filter on a dimension
- Parameters:
evaluator- Evaluatorexp- Expresssion- Returns:
- List of CrossJoinArg arrays. The first array represent the CJ CrossJoinArg and the second array represent the additional constraints.
-
checkCrossJoin
public List<CrossJoinArg[]> checkCrossJoin(RolapEvaluator evaluator, FunDef fun, Exp[] args, boolean returnAny)
Checks forCrossJoin(<set1>, <set2>), where set1 and set2 are one ofmember.children,level.membersormember.descendants.- Parameters:
evaluator- Evaluator to use if inputs are to be evaluatedfun- The function, either "CrossJoin" or "NonEmptyCrossJoin"args- Inputs to the CrossJoinreturnAny- indicates we should return any valid crossjoin args- Returns:
- array of CrossJoinArg representing the inputs
-
-