Repository: asterixdb Updated Branches: refs/heads/master 38644bb38 -> dabad4725
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/dabad472/hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/EnforceStructuralPropertiesRule.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/EnforceStructuralPropertiesRule.java b/hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/EnforceStructuralPropertiesRule.java index 159bcf5..0b3a57e 100644 --- a/hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/EnforceStructuralPropertiesRule.java +++ b/hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/EnforceStructuralPropertiesRule.java @@ -93,6 +93,8 @@ import org.apache.hyracks.dataflow.common.data.partition.range.IRangeMap; public class EnforceStructuralPropertiesRule implements IAlgebraicRewriteRule { + private static final String HASH_MERGE = "hash_merge"; + private static final String TRUE_CONSTANT = "true"; private PhysicalOptimizationConfig physicalOptimizationConfig; @Override @@ -552,6 +554,11 @@ public class EnforceStructuralPropertiesRule implements IAlgebraicRewriteRule { } case UNORDERED_PARTITIONED: { List<LogicalVariable> varList = new ArrayList<>(((UnorderedPartitionedProperty) pp).getColumnSet()); + String hashMergeHint = context.getMetadataProvider().getConfig().get(HASH_MERGE); + if (hashMergeHint == null || !hashMergeHint.equalsIgnoreCase(TRUE_CONSTANT)) { + pop = new HashPartitionExchangePOperator(varList, domain); + break; + } List<ILocalStructuralProperty> cldLocals = deliveredByChild.getLocalProperties(); List<ILocalStructuralProperty> reqdLocals = required.getLocalProperties(); boolean propWasSet = false;
