Class PullUpLtgOverJoin

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

public class PullUpLtgOverJoin extends Object implements HeuristicForLogicalOptimization
  • Constructor Details

    • PullUpLtgOverJoin

      public PullUpLtgOverJoin()
  • Method Details

    • apply

      public LogicalPlan apply(LogicalPlan inputPlan, QueryProcContext ctxt2)
      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
    • apply

      public LogicalPlan apply(LogicalPlan inputPlan)
    • checkIfLtgCanBeExtractedOverJoin

      public static boolean checkIfLtgCanBeExtractedOverJoin(LogicalPlan inputPlan)
      Check if l2g operator can be pulled up over join by checking: i) the root operator is a join (binary or multiway), ii) every subplan under this join has an l2g operator as its root, iii) all these l2g operators have the same vocab.mapping, and iv) that vocab.mapping is an "equivalence-only" mapping.