@Override public PlanWithProperties visitSort(SortNode node, StreamPreferredProperties parentPreferences) { if (isDistributedSortEnabled(session)) { PlanWithProperties sortPlan = planAndEnforceChildren(node, fixedParallelism(), fixedParallelism()); if (!sortPlan.getProperties().isSingleStream()) { return deriveProperties( mergingExchange( idAllocator.getNextId(), LOCAL, sortPlan.getNode(), node.getOrderingScheme()), sortPlan.getProperties()); } return sortPlan; } // sort requires that all data be in one stream // this node changes the input organization completely, so we do not pass through parent preferences return planAndEnforceChildren(node, singleStream(), defaultParallelism(session)); }
@Override public PlanWithProperties visitSort(SortNode node, StreamPreferredProperties parentPreferences) { if (isDistributedSortEnabled(session)) { PlanWithProperties sortPlan = planAndEnforceChildren(node, fixedParallelism(), fixedParallelism()); if (!sortPlan.getProperties().isSingleStream()) { return deriveProperties( mergingExchange( idAllocator.getNextId(), LOCAL, sortPlan.getNode(), node.getOrderingScheme()), sortPlan.getProperties()); } return sortPlan; } // sort requires that all data be in one stream // this node changes the input organization completely, so we do not pass through parent preferences return planAndEnforceChildren(node, singleStream(), defaultParallelism(session)); }
mergingExchange( idAllocator.getNextId(), REMOTE,
mergingExchange( idAllocator.getNextId(), REMOTE,