Skip to content

Commit 8124d8e

Browse files
committed
Change GroupedAccumulatorState groupId from long to int
1 parent c511c91 commit 8124d8e

32 files changed

+98
-90
lines changed

core/trino-main/src/main/java/io/trino/operator/aggregation/AccumulatorCompiler.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -356,7 +356,7 @@ private static void generateGetEstimatedSize(ClassDefinition definition, List<Fi
356356

357357
private static void generateSetGroupCount(ClassDefinition definition, List<FieldDefinition> stateFields)
358358
{
359-
Parameter groupCount = arg("groupCount", long.class);
359+
Parameter groupCount = arg("groupCount", int.class);
360360

361361
MethodDefinition method = definition.declareMethod(a(PUBLIC), "setGroupCount", type(void.class), groupCount);
362362
BytecodeBlock body = method.getBody();
@@ -781,7 +781,7 @@ private static void generateAddIntermediateAsCombine(
781781
for (FieldDefinition stateField : stateFields) {
782782
if (grouped) {
783783
Variable groupIds = scope.getVariable("groupIds");
784-
loopBody.append(thisVariable.getField(stateField).invoke("setGroupId", void.class, groupIds.getElement(position).cast(long.class)));
784+
loopBody.append(thisVariable.getField(stateField).invoke("setGroupId", void.class, groupIds.getElement(position)));
785785
}
786786
loopBody.append(thisVariable.getField(stateField));
787787
}
@@ -805,7 +805,7 @@ private static void generateSetGroupIdFromGroupIds(Scope scope, List<FieldDefini
805805
Variable groupIds = scope.getVariable("groupIds");
806806
for (FieldDefinition stateField : stateFields) {
807807
BytecodeExpression state = scope.getThis().getField(stateField);
808-
block.append(state.invoke("setGroupId", void.class, groupIds.getElement(position).cast(long.class)));
808+
block.append(state.invoke("setGroupId", void.class, groupIds.getElement(position)));
809809
}
810810
}
811811

@@ -875,14 +875,14 @@ private static void generateGroupedEvaluateIntermediate(ClassDefinition definiti
875875
BytecodeExpression stateSerializer = thisVariable.getField(getOnlyElement(stateFieldAndDescriptors).getStateSerializerField());
876876
BytecodeExpression state = thisVariable.getField(getOnlyElement(stateFieldAndDescriptors).getStateField());
877877

878-
body.append(state.invoke("setGroupId", void.class, groupId.cast(long.class)))
878+
body.append(state.invoke("setGroupId", void.class, groupId))
879879
.append(stateSerializer.invoke("serialize", void.class, state.cast(AccumulatorState.class), out))
880880
.ret();
881881
}
882882
else {
883883
for (StateFieldAndDescriptor stateFieldAndDescriptor : stateFieldAndDescriptors) {
884884
BytecodeExpression state = thisVariable.getField(stateFieldAndDescriptor.getStateField());
885-
body.append(state.invoke("setGroupId", void.class, groupId.cast(long.class)));
885+
body.append(state.invoke("setGroupId", void.class, groupId));
886886
}
887887

888888
generateSerializeState(definition, stateFieldAndDescriptors, out, thisVariable, body);
@@ -966,7 +966,7 @@ private static void generateGroupedEvaluateFinal(
966966

967967
for (FieldDefinition stateField : stateFields) {
968968
BytecodeExpression state = thisVariable.getField(stateField);
969-
body.append(state.invoke("setGroupId", void.class, groupId.cast(long.class)));
969+
body.append(state.invoke("setGroupId", void.class, groupId));
970970
states.add(state);
971971
}
972972

core/trino-main/src/main/java/io/trino/operator/aggregation/AggregationLoopBuilder.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -194,7 +194,7 @@ private static MethodDefinition buildCoreLoop(
194194
Variable groupId = scope.declareVariable(int.class, "groupId");
195195
invokeFunction.append(groupId.set(aggregationParameters.groupIds().get().getElement(position)));
196196
for (Parameter stateParameter : aggregationParameters.states()) {
197-
invokeFunction.append(stateParameter.cast(GroupedAccumulatorState.class).invoke("setGroupId", void.class, groupId.cast(long.class)));
197+
invokeFunction.append(stateParameter.cast(GroupedAccumulatorState.class).invoke("setGroupId", void.class, groupId));
198198
}
199199
}
200200
invokeFunction.append(invoke(binder.bind(function), "input", aggregationArguments.build()));

core/trino-main/src/main/java/io/trino/operator/aggregation/DistinctAccumulatorFactory.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -202,7 +202,7 @@ public long getEstimatedSize()
202202
}
203203

204204
@Override
205-
public void setGroupCount(long groupCount)
205+
public void setGroupCount(int groupCount)
206206
{
207207
accumulator.setGroupCount(groupCount);
208208
}

core/trino-main/src/main/java/io/trino/operator/aggregation/GroupedAccumulator.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ public interface GroupedAccumulator
2121
{
2222
long getEstimatedSize();
2323

24-
void setGroupCount(long groupCount);
24+
void setGroupCount(int groupCount);
2525

2626
void addInput(int[] groupIds, Page page, AggregationMask mask);
2727

core/trino-main/src/main/java/io/trino/operator/aggregation/GroupedMapAggregationState.java

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,6 @@
2020

2121
import java.lang.invoke.MethodHandle;
2222

23-
import static java.lang.Math.toIntExact;
24-
2523
public class GroupedMapAggregationState
2624
extends AbstractMapAggregationState
2725
implements GroupedAccumulatorState
@@ -53,15 +51,15 @@ public GroupedMapAggregationState(
5351
}
5452

5553
@Override
56-
public void setGroupId(long groupId)
54+
public void setGroupId(int groupId)
5755
{
58-
this.groupId = toIntExact(groupId);
56+
this.groupId = groupId;
5957
}
6058

6159
@Override
62-
public void ensureCapacity(long size)
60+
public void ensureCapacity(int size)
6361
{
64-
setMaxGroupId(toIntExact(size));
62+
setMaxGroupId(size);
6563
}
6664

6765
@Override

core/trino-main/src/main/java/io/trino/operator/aggregation/LongApproximateMostFrequentStateFactory.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ public void set(ApproximateMostFrequentHistogram<Long> histogram)
8484
}
8585

8686
@Override
87-
public void ensureCapacity(long size)
87+
public void ensureCapacity(int size)
8888
{
8989
histograms.ensureCapacity(size);
9090
}

core/trino-main/src/main/java/io/trino/operator/aggregation/NumericHistogramStateFactory.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ public static class GroupedState
4242
private long size;
4343

4444
@Override
45-
public void ensureCapacity(long size)
45+
public void ensureCapacity(int size)
4646
{
4747
histograms.ensureCapacity(size);
4848
}

core/trino-main/src/main/java/io/trino/operator/aggregation/OrderedAccumulatorFactory.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -207,7 +207,7 @@ public long getEstimatedSize()
207207
}
208208

209209
@Override
210-
public void setGroupCount(long groupCount)
210+
public void setGroupCount(int groupCount)
211211
{
212212
this.groupCount = max(this.groupCount, groupCount);
213213
accumulator.setGroupCount(groupCount);

core/trino-main/src/main/java/io/trino/operator/aggregation/StringApproximateMostFrequentStateFactory.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ public void set(ApproximateMostFrequentHistogram<Slice> histogram)
8585
}
8686

8787
@Override
88-
public void ensureCapacity(long size)
88+
public void ensureCapacity(int size)
8989
{
9090
histograms.ensureCapacity(size);
9191
}

core/trino-main/src/main/java/io/trino/operator/aggregation/arrayagg/GroupArrayAggregationState.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@
2525
import static io.airlift.slice.SizeOf.instanceSize;
2626
import static io.airlift.slice.SizeOf.sizeOf;
2727
import static java.lang.Math.clamp;
28-
import static java.lang.Math.toIntExact;
2928

3029
public final class GroupArrayAggregationState
3130
extends AbstractGroupedAccumulatorState
@@ -55,10 +54,10 @@ public long getEstimatedSize()
5554
}
5655

5756
@Override
58-
public void ensureCapacity(long maxGroupId)
57+
public void ensureCapacity(int maxGroupId)
5958
{
6059
checkArgument(maxGroupId + 1 < MAX_ARRAY_SIZE, "Maximum array size exceeded");
61-
int requiredSize = toIntExact(maxGroupId + 1);
60+
int requiredSize = maxGroupId + 1;
6261
if (requiredSize > groupHeadPositions.length) {
6362
int newSize = clamp(requiredSize * 2L, 1024, MAX_ARRAY_SIZE);
6463
int oldSize = groupHeadPositions.length;

0 commit comments

Comments
 (0)