mondrian.rolap
Class RolapNativeFilter.FilterConstraint
java.lang.Object
mondrian.rolap.SqlContextConstraint
mondrian.rolap.RolapNativeSet.SetConstraint
mondrian.rolap.RolapNativeFilter.FilterConstraint
- All Implemented Interfaces:
- MemberChildrenConstraint, SqlConstraint, TupleConstraint
- Enclosing class:
- RolapNativeFilter
static class RolapNativeFilter.FilterConstraint
- extends RolapNativeSet.SetConstraint
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
filterExpr
Exp filterExpr
RolapNativeFilter.FilterConstraint
public RolapNativeFilter.FilterConstraint(RolapNativeSet.CrossJoinArg[] args,
RolapEvaluator evaluator,
Exp filterExpr)
isJoinRequired
protected boolean isJoinRequired()
- Returns whether a join with the fact table is required. A join is
required if the context contains members from dimensions other than
level. If we are interested in the members of a level or a members
children then it does not make sense to join only one dimension (the one
that contains the requested members) with the fact table for NON EMPTY
optimization.
If there is a crossjoin, we need to join the fact table - even if
the evaluator context is empty.
A FilterConstraint always needs to join the fact table because we
want to evaluate the filter expression against a fact.
- Overrides:
isJoinRequired
in class RolapNativeSet.SetConstraint
addConstraint
public void addConstraint(SqlQuery sqlQuery,
RolapCube baseCube,
AggStar aggStar)
- Description copied from class:
SqlContextConstraint
- Called from LevelMembers: restricts the SQL resultset to the current
context.
- Specified by:
addConstraint
in interface TupleConstraint
- Overrides:
addConstraint
in class RolapNativeSet.SetConstraint
- Parameters:
sqlQuery
- the query to modifybaseCube
- base cube for virtual cube constraintsaggStar
- aggregate star to use
getCacheKey
public Object getCacheKey()
- Description copied from class:
RolapNativeSet.SetConstraint
- returns a key to cache the result
- Specified by:
getCacheKey
in interface SqlConstraint
- Overrides:
getCacheKey
in class RolapNativeSet.SetConstraint
- Returns:
- valid key or null to prevent the result from being cached