@Override public SourceAndDamReport hasDamOnPathDownTo(PlanNode source) { if (source == this) { return FOUND_SOURCE; } SourceAndDamReport fromOutside = super.hasDamOnPathDownTo(source); if (fromOutside == FOUND_SOURCE_AND_DAM) { return FOUND_SOURCE_AND_DAM; } else if (fromOutside == FOUND_SOURCE) { // we always have a dam in the solution set index return FOUND_SOURCE_AND_DAM; } else { SourceAndDamReport fromNextWorkset = nextWorkSetPlanNode.hasDamOnPathDownTo(source); if (fromNextWorkset == FOUND_SOURCE_AND_DAM){ return FOUND_SOURCE_AND_DAM; } else if (fromNextWorkset == FOUND_SOURCE){ return FOUND_SOURCE_AND_DAM; } else { return this.solutionSetDeltaPlanNode.hasDamOnPathDownTo(source); } } }
@Override public SourceAndDamReport hasDamOnPathDownTo(PlanNode source) { if (source == this) { return FOUND_SOURCE; } SourceAndDamReport fromOutside = super.hasDamOnPathDownTo(source); if (fromOutside == FOUND_SOURCE_AND_DAM) { return FOUND_SOURCE_AND_DAM; } else if (fromOutside == FOUND_SOURCE) { // we always have a dam in the solution set index return FOUND_SOURCE_AND_DAM; } else { SourceAndDamReport fromNextWorkset = nextWorkSetPlanNode.hasDamOnPathDownTo(source); if (fromNextWorkset == FOUND_SOURCE_AND_DAM){ return FOUND_SOURCE_AND_DAM; } else if (fromNextWorkset == FOUND_SOURCE){ return FOUND_SOURCE_AND_DAM; } else { return this.solutionSetDeltaPlanNode.hasDamOnPathDownTo(source); } } }
@Override public SourceAndDamReport hasDamOnPathDownTo(PlanNode source) { if (source == this) { return FOUND_SOURCE; } SourceAndDamReport fromOutside = super.hasDamOnPathDownTo(source); if (fromOutside == FOUND_SOURCE_AND_DAM) { return FOUND_SOURCE_AND_DAM; } else if (fromOutside == FOUND_SOURCE) { // we always have a dam in the solution set index return FOUND_SOURCE_AND_DAM; } else { SourceAndDamReport fromNextWorkset = nextWorkSetPlanNode.hasDamOnPathDownTo(source); if (fromNextWorkset == FOUND_SOURCE_AND_DAM){ return FOUND_SOURCE_AND_DAM; } else if (fromNextWorkset == FOUND_SOURCE){ return FOUND_SOURCE_AND_DAM; } else { return this.solutionSetDeltaPlanNode.hasDamOnPathDownTo(source); } } }
@Override public SourceAndDamReport hasDamOnPathDownTo(PlanNode source) { if (source == this) { return FOUND_SOURCE; } SourceAndDamReport fromOutside = super.hasDamOnPathDownTo(source); if (fromOutside == FOUND_SOURCE_AND_DAM) { return FOUND_SOURCE_AND_DAM; } else if (fromOutside == FOUND_SOURCE) { // we always have a dam in the solution set index return FOUND_SOURCE_AND_DAM; } else { SourceAndDamReport fromNextWorkset = nextWorkSetPlanNode.hasDamOnPathDownTo(source); if (fromNextWorkset == FOUND_SOURCE_AND_DAM){ return FOUND_SOURCE_AND_DAM; } else if (fromNextWorkset == FOUND_SOURCE){ return FOUND_SOURCE_AND_DAM; } else { return this.solutionSetDeltaPlanNode.hasDamOnPathDownTo(source); } } }
@Override public SourceAndDamReport hasDamOnPathDownTo(PlanNode source) { if (source == this) { return FOUND_SOURCE; } SourceAndDamReport fromOutside = super.hasDamOnPathDownTo(source); if (fromOutside == FOUND_SOURCE_AND_DAM) { return FOUND_SOURCE_AND_DAM; } else if (fromOutside == FOUND_SOURCE) { // we always have a dam in the solution set index return FOUND_SOURCE_AND_DAM; } else { SourceAndDamReport fromNextWorkset = nextWorkSetPlanNode.hasDamOnPathDownTo(source); if (fromNextWorkset == FOUND_SOURCE_AND_DAM){ return FOUND_SOURCE_AND_DAM; } else if (fromNextWorkset == FOUND_SOURCE){ return FOUND_SOURCE_AND_DAM; } else { return this.solutionSetDeltaPlanNode.hasDamOnPathDownTo(source); } } }