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 Details

    • LOGGER

      protected static final org.apache.logging.log4j.Logger LOGGER
  • Constructor Details

    • CrossJoinArgFactory

      public CrossJoinArgFactory(boolean restrictMemberTypes)
  • Method Details

    • buildConstraintFromAllAxes

      public Set<CrossJoinArg> buildConstraintFromAllAxes(RolapEvaluator evaluator)
    • checkCrossJoinArg

      public List<CrossJoinArg[]> checkCrossJoinArg(RolapEvaluator evaluator, Exp exp)
      Scans for memberChildren, levelMembers, memberDescendants, crossJoin.
    • 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 evaluated
      fun - The function, either "CrossJoin" or "NonEmptyCrossJoin"
      args - Inputs to the CrossJoin
      returnAny - indicates we should return any valid crossjoin args
      Returns:
      array of CrossJoinArg representing the inputs