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 |
protected static org.apache.log4j.Logger |
LOGGER
|
|
Method Summary |
Set<CrossJoinArg> |
buildConstraintFromAllAxes(RolapEvaluator evaluator)
|
List<CrossJoinArg[]> |
checkCrossJoin(RolapEvaluator evaluator,
FunDef fun,
Exp[] args,
boolean returnAny)
Checks for CrossJoin(<set1>, <set2>), where
set1 and set2 are one of
member.children, level.members or
member.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. |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
LOGGER
protected static final org.apache.log4j.Logger LOGGER
CrossJoinArgFactory
public CrossJoinArgFactory(boolean restrictMemberTypes)
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 for
CrossJoin(<set1>, <set2>), where
set1 and set2 are one of
member.children, level.members or
member.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