Ejemplo n.º 1
0
  private int resetPlanNodeIds(AbstractPlanNode node, int nextId) {
    nextId = node.overrideId(nextId);
    for (AbstractPlanNode inNode : node.getInlinePlanNodes().values()) {
      // Inline nodes also need their ids to be overridden to make sure
      // the subquery node ids are also globaly unique
      nextId = resetPlanNodeIds(inNode, nextId);
    }

    for (int i = 0; i < node.getChildCount(); i++) {
      AbstractPlanNode child = node.getChild(i);
      assert (child != null);
      nextId = resetPlanNodeIds(child, nextId);
    }

    return nextId;
  }