diff --git a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/translator/HiveGBOpConvUtil.java b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/translator/HiveGBOpConvUtil.java index a0e2e67..e083db0 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/translator/HiveGBOpConvUtil.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/translator/HiveGBOpConvUtil.java @@ -233,8 +233,7 @@ private static GBInfo getGBInfo(HiveAggregate aggRel, OpAttr inputOpAf, HiveConf if (udafAttrs.isDistinctUDAF) { ExprNodeDesc argExpr = argExps.get(i); Integer found = ExprNodeDescUtils.indexOf(argExpr, gbInfo.gbKeys); - distColIndicesOfUDAF.add(found < 0 ? distParamInRefsToOutputPos.get(argLst.get(i)) + gbInfo.gbKeys.size() + - (gbInfo.grpSets.size() > 0 ? 1 : 0) : found); + distColIndicesOfUDAF.add(found < 0 ? gbInfo.gbKeys.size() : found); distUDAFParamsIndxInDistExprs.add(distParamInRefsToOutputPos.get(argLst.get(i))); } else { // TODO: this seems wrong (following what Hive Regular does)