diff --git a/ql/src/java/org/apache/hadoop/hive/ql/exec/GroupByOperator.java b/ql/src/java/org/apache/hadoop/hive/ql/exec/GroupByOperator.java index 7918194..2fba9bc 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/exec/GroupByOperator.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/exec/GroupByOperator.java @@ -733,25 +733,7 @@ public void processOp(Object row, int tag) throws HiveException { newKeys.getNewKey(row, rowInspector); if (groupingSetsPresent) { - Object[] newKeysArray = newKeys.getKeyArray(); - Object[] cloneNewKeysArray = new Object[newKeysArray.length]; - for (int keyPos = 0; keyPos < groupingSetsPosition; keyPos++) { - cloneNewKeysArray[keyPos] = newKeysArray[keyPos]; - } - for (int groupingSetPos = 0; groupingSetPos < groupingSets.size(); groupingSetPos++) { - for (int keyPos = 0; keyPos < groupingSetsPosition; keyPos++) { - newKeysArray[keyPos] = null; - } - - FastBitSet bitset = groupingSetsBitSet[groupingSetPos]; - // Some keys need to be left to null corresponding to that grouping set. - for (int keyPos = bitset.nextSetBit(0); keyPos >= 0; - keyPos = bitset.nextSetBit(keyPos+1)) { - newKeysArray[keyPos] = cloneNewKeysArray[keyPos]; - } - - newKeysArray[groupingSetsPosition] = newKeysGroupingSets[groupingSetPos]; processKey(row, rowInspector); } } else {