diff --git a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/HiveSortLimitPullUpConstantsRule.java b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/HiveSortLimitPullUpConstantsRule.java index cc318db..6f1579e 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/HiveSortLimitPullUpConstantsRule.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/HiveSortLimitPullUpConstantsRule.java @@ -68,15 +68,13 @@ private HiveSortLimitPullUpConstantsRule( Class sortClass, RelBuilderFactory relBuilderFactory) { - super(operand(RelNode.class, - operand(sortClass, any())), - relBuilderFactory, null); + super(operand(sortClass, any()), + relBuilderFactory, null); } @Override public void onMatch(RelOptRuleCall call) { - final RelNode parent = call.rel(0); - final Sort sort = call.rel(1); + final Sort sort = call.rel(0); final int count = sort.getInput().getRowType().getFieldCount(); if (count == 1) { @@ -158,7 +156,7 @@ public void onMatch(RelOptRuleCall call) { relBuilder.project(topChildExprs, topChildExprsFields); relBuilder.convert(sort.getRowType(), false); - call.transformTo(parent.copy(parent.getTraitSet(), ImmutableList.of(relBuilder.build()))); + call.transformTo(relBuilder.build()); } }