protected abstract static class RolapNativeSet.SetConstraint extends SqlContextConstraint
Modifier and Type | Field and Description |
---|---|
(package private) CrossJoinArg[] |
args |
Constructor and Description |
---|
SetConstraint(CrossJoinArg[] args,
RolapEvaluator evaluator,
boolean strict) |
Modifier and Type | Method and Description |
---|---|
void |
addConstraint(SqlQuery sqlQuery,
RolapCube baseCube,
AggStar aggStar)
Called from LevelMembers: restricts the SQL resultset to the current
context.
|
protected boolean |
canApplyCrossJoinArgConstraint(CrossJoinArg arg)
If the cross join argument has calculated members in its
enumerated set, ignore the constraint since we won't
produce that set through the native sql and instead
will simply enumerate through the members in the set
|
Object |
getCacheKey()
returns a key to cache the result
|
MemberChildrenConstraint |
getMemberChildrenConstraint(RolapMember parent)
Returns null to prevent the member/childern from being cached.
|
protected boolean |
isJoinRequired()
Returns whether a join with the fact table is required.
|
addLevelConstraint, addMemberConstraint, addMemberConstraint, getEvaluator, isValidContext, isValidContext, supportsAggTables
CrossJoinArg[] args
SetConstraint(CrossJoinArg[] args, RolapEvaluator evaluator, boolean strict)
protected boolean isJoinRequired()
If there is a crossjoin, we need to join the fact table - even if the evaluator context is empty.
isJoinRequired
in class SqlContextConstraint
public void addConstraint(SqlQuery sqlQuery, RolapCube baseCube, AggStar aggStar)
SqlContextConstraint
addConstraint
in interface TupleConstraint
addConstraint
in class SqlContextConstraint
sqlQuery
- the query to modifybaseCube
- base cube for virtual cube constraintsaggStar
- aggregate star to useprotected boolean canApplyCrossJoinArgConstraint(CrossJoinArg arg)
public MemberChildrenConstraint getMemberChildrenConstraint(RolapMember parent)
getMemberChildrenConstraint
in interface TupleConstraint
getMemberChildrenConstraint
in class SqlContextConstraint
public Object getCacheKey()
getCacheKey
in interface SqlConstraint
getCacheKey
in class SqlContextConstraint