Class ConflictDetectionHelper

java.lang.Object
org.apache.calcite.rel.rules.ConflictDetectionHelper

public class ConflictDetectionHelper extends Object
Conflict detection algorithm based on CD-C. More details are in paper: On the correct and complete enumeration of the core search space.
  • Method Details

    • makeConflictRules

      public static List<ConflictRule> makeConflictRules(List<HyperEdge> leftSubEdges, List<HyperEdge> rightSubEdges, JoinRelType joinType)
      Make conflict rules for join operator based on CD-C. See Figure.11 in paper.
      Parameters:
      leftSubEdges - left sub operators
      rightSubEdges - right sub operators
      joinType - current join operator
      Returns:
      conflict rule list
    • isCommutative

      public static boolean isCommutative(JoinRelType operator)
    • isAssociative

      public static boolean isAssociative(JoinRelType operatorA, JoinRelType operatorB)
    • isLeftAsscom

      public static boolean isLeftAsscom(JoinRelType operatorA, JoinRelType operatorB)
    • isRightAsscom

      public static boolean isRightAsscom(JoinRelType operatorA, JoinRelType operatorB)