static class RolapNativeFilter.FilterConstraint extends RolapNativeSet.SetConstraint
| Modifier and Type | Field and Description |
|---|---|
(package private) Exp |
filterExpr |
args| Constructor and Description |
|---|
RolapNativeFilter.FilterConstraint(CrossJoinArg[] args,
RolapEvaluator evaluator,
Exp filterExpr) |
| 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.
|
Object |
getCacheKey()
returns a key to cache the result
|
protected boolean |
isJoinRequired()
Returns whether a join with the fact table is required.
|
getMemberChildrenConstraintaddLevelConstraint, addMemberConstraint, addMemberConstraint, getEvaluator, isValidContext, isValidContextExp filterExpr
public RolapNativeFilter.FilterConstraint(CrossJoinArg[] args, RolapEvaluator evaluator, Exp filterExpr)
protected boolean isJoinRequired()
If there is a crossjoin, we need to join the fact table - even if the evaluator context is empty.
Overriding isJoinRequired() for native filters because we have to force a join to the fact table if the filter expression references a measure.
isJoinRequired in class RolapNativeSet.SetConstraintpublic void addConstraint(SqlQuery sqlQuery, RolapCube baseCube, AggStar aggStar)
SqlContextConstraintaddConstraint in interface TupleConstraintaddConstraint in class RolapNativeSet.SetConstraintsqlQuery - the query to modifybaseCube - base cube for virtual cube constraintsaggStar - aggregate star to usepublic Object getCacheKey()
RolapNativeSet.SetConstraintgetCacheKey in interface SqlConstraintgetCacheKey in class RolapNativeSet.SetConstraint