java.lang.Object
se.liu.ida.hefquin.engine.queryproc.impl.loptimizer.heuristics.PullUpLtgOverUnion
All Implemented Interfaces:
HeuristicForLogicalOptimization

public class PullUpLtgOverUnion extends Object implements HeuristicForLogicalOptimization
  • Constructor Details

    • PullUpLtgOverUnion

      public PullUpLtgOverUnion()
  • Method Details

    • apply

      public LogicalPlan apply(LogicalPlan inputPlan)
      Description copied from interface: HeuristicForLogicalOptimization
      Applies this heuristics to the given plan and returns the resulting, potentially rewritten plan.
      Specified by:
      apply in interface HeuristicForLogicalOptimization
    • checkIfLtgCanBeExtractedOverUnion

      public static boolean checkIfLtgCanBeExtractedOverUnion(LogicalPlan unionPlan)
      Check if l2g operator can be pulled up over union by checking: i) the root operator is a union (binary or multiway), ii) every subplan under this join has an l2g operator as its root, and iii) all these l2g operators have the same vocab.mapping
    • extractLtgOverNaryOp

      protected static LogicalPlan extractLtgOverNaryOp(LogicalPlan inputPlan)