diff --git a/src/main/java/com/facebook/presto/HashAggregation.java b/src/main/java/com/facebook/presto/HashAggregation.java index 1c4aa189af551..9e45abd9636ad 100644 --- a/src/main/java/com/facebook/presto/HashAggregation.java +++ b/src/main/java/com/facebook/presto/HashAggregation.java @@ -23,7 +23,8 @@ public class HashAggregation private long position; private final TupleInfo tupleInfo; - public HashAggregation(TupleInfo tupleInfo, Iterator keySource, + public HashAggregation(TupleInfo outputTupleInfo, + Iterator keySource, SeekableIterator valueSource, Provider functionProvider) { @@ -31,7 +32,7 @@ public HashAggregation(TupleInfo tupleInfo, Iterator keyS this.aggregationSource = valueSource; this.functionProvider = functionProvider; - this.tupleInfo = tupleInfo; + this.tupleInfo = outputTupleInfo; } @Override diff --git a/src/main/java/com/facebook/presto/SumAggregation.java b/src/main/java/com/facebook/presto/SumAggregation.java index 16f37533488d1..1de5ff602e8f7 100644 --- a/src/main/java/com/facebook/presto/SumAggregation.java +++ b/src/main/java/com/facebook/presto/SumAggregation.java @@ -1,7 +1,5 @@ package com.facebook.presto; -import static com.facebook.presto.SizeOf.SIZE_OF_LONG; - public class SumAggregation implements AggregationFunction { @@ -26,8 +24,8 @@ public void add(ValueBlock values, PositionBlock relevantPositions) @Override public Tuple evaluate() { - Slice slice = Slices.allocate(SIZE_OF_LONG); - slice.setLong(0, sum); - return new Tuple(slice, getTupleInfo()); + return getTupleInfo().builder() + .append(sum) + .build(); } } diff --git a/src/test/java/com/facebook/presto/TestSumAggregation.java b/src/test/java/com/facebook/presto/TestAggregations.java similarity index 96% rename from src/test/java/com/facebook/presto/TestSumAggregation.java rename to src/test/java/com/facebook/presto/TestAggregations.java index 1ef993744d18b..9af3027aec9c2 100644 --- a/src/test/java/com/facebook/presto/TestSumAggregation.java +++ b/src/test/java/com/facebook/presto/TestAggregations.java @@ -1,6 +1,5 @@ package com.facebook.presto; -import com.google.common.base.Charsets; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; import com.google.common.collect.PeekingIterator; @@ -14,13 +13,11 @@ import java.util.List; import java.util.Map; -import static com.facebook.presto.SizeOf.SIZE_OF_LONG; -import static com.facebook.presto.SizeOf.SIZE_OF_SHORT; import static com.facebook.presto.TupleInfo.Type.FIXED_INT_64; import static com.facebook.presto.TupleInfo.Type.VARIABLE_BINARY; import static com.google.common.base.Charsets.UTF_8; -public class TestSumAggregation +public class TestAggregations { @Test public void testPipelinedAggregation()