Ejemplo n.º 1
0
  protected void addLocalCandidates(
      Channel template,
      List<Set<? extends NamedChannel>> broadcastPlanChannels,
      RequestedGlobalProperties rgps,
      List<PlanNode> target,
      CostEstimator estimator) {
    for (RequestedLocalProperties ilp :
        this.inConn.getInterestingProperties().getLocalProperties()) {
      final Channel in = template.clone();
      ilp.parameterizeChannel(in);

      // instantiate a candidate, if the instantiated local properties meet one possible local
      // property set
      outer:
      for (OperatorDescriptorSingle dps : getPossibleProperties()) {
        for (RequestedLocalProperties ilps : dps.getPossibleLocalProperties()) {
          if (ilps.isMetBy(in.getLocalProperties())) {
            in.setRequiredLocalProps(ilps);
            instantiateCandidate(dps, in, broadcastPlanChannels, target, estimator, rgps, ilp);
            break outer;
          }
        }
      }
    }
  }