Class RolapNativeSet.SetConstraint

    • Method Detail

      • 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.

        Overrides:
        isJoinRequired in class SqlContextConstraint
      • canApplyCrossJoinArgConstraint

        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