diff --git a/core/trino-main/src/main/java/io/trino/connector/system/QuerySystemTable.java b/core/trino-main/src/main/java/io/trino/connector/system/QuerySystemTable.java index 49c147a1a2cf..dd28498188e6 100644 --- a/core/trino-main/src/main/java/io/trino/connector/system/QuerySystemTable.java +++ b/core/trino-main/src/main/java/io/trino/connector/system/QuerySystemTable.java @@ -142,7 +142,7 @@ private static Block resourceGroupIdToBlock(ResourceGroupId resourceGroupId) { requireNonNull(resourceGroupId, "resourceGroupId is null"); List segments = resourceGroupId.getSegments(); - BlockBuilder blockBuilder = createUnboundedVarcharType().createBlockBuilder(null, segments.size()); + BlockBuilder blockBuilder = createUnboundedVarcharType().createBlockBuilder(segments.size()); for (String segment : segments) { createUnboundedVarcharType().writeSlice(blockBuilder, utf8Slice(segment)); } diff --git a/core/trino-main/src/main/java/io/trino/connector/system/RuleStatsSystemTable.java b/core/trino-main/src/main/java/io/trino/connector/system/RuleStatsSystemTable.java index 92c5a5e99e97..19301ab5d0af 100644 --- a/core/trino-main/src/main/java/io/trino/connector/system/RuleStatsSystemTable.java +++ b/core/trino-main/src/main/java/io/trino/connector/system/RuleStatsSystemTable.java @@ -88,7 +88,7 @@ public ConnectorPageSource pageSource(ConnectorTransactionHandle transactionHand int positionCount = ruleStats.size(); Map blockBuilders = ruleStatsTable.getColumns().stream() - .collect(toImmutableMap(ColumnMetadata::getName, column -> column.getType().createBlockBuilder(null, positionCount))); + .collect(toImmutableMap(ColumnMetadata::getName, column -> column.getType().createBlockBuilder(positionCount))); for (Map.Entry, RuleStats> entry : ruleStats.entrySet()) { RuleStats stats = entry.getValue(); diff --git a/core/trino-main/src/main/java/io/trino/connector/system/TransactionsSystemTable.java b/core/trino-main/src/main/java/io/trino/connector/system/TransactionsSystemTable.java index e114ff52ab25..b5cea372f908 100644 --- a/core/trino-main/src/main/java/io/trino/connector/system/TransactionsSystemTable.java +++ b/core/trino-main/src/main/java/io/trino/connector/system/TransactionsSystemTable.java @@ -104,7 +104,7 @@ public RecordCursor cursor(ConnectorTransactionHandle transactionHandle, Connect private static Block createStringsBlock(List values) { VarcharType varchar = createUnboundedVarcharType(); - BlockBuilder builder = varchar.createBlockBuilder(null, values.size()); + BlockBuilder builder = varchar.createBlockBuilder(values.size()); for (String value : values) { if (value == null) { builder.appendNull(); diff --git a/core/trino-main/src/main/java/io/trino/operator/ExplainAnalyzeOperator.java b/core/trino-main/src/main/java/io/trino/operator/ExplainAnalyzeOperator.java index 8455c785430e..a5a35315b692 100644 --- a/core/trino-main/src/main/java/io/trino/operator/ExplainAnalyzeOperator.java +++ b/core/trino-main/src/main/java/io/trino/operator/ExplainAnalyzeOperator.java @@ -169,7 +169,7 @@ public Page getOutput() operatorContext.getSession(), verbose, version); - BlockBuilder builder = VARCHAR.createBlockBuilder(null, 1); + BlockBuilder builder = VARCHAR.createBlockBuilder(1); VARCHAR.writeString(builder, plan); outputConsumed = true; diff --git a/core/trino-main/src/main/java/io/trino/operator/FlatGroupByHash.java b/core/trino-main/src/main/java/io/trino/operator/FlatGroupByHash.java index b1cf4246bdbc..b437d5558439 100644 --- a/core/trino-main/src/main/java/io/trino/operator/FlatGroupByHash.java +++ b/core/trino-main/src/main/java/io/trino/operator/FlatGroupByHash.java @@ -98,7 +98,7 @@ public FlatGroupByHash(FlatGroupByHash other) return null; } ValueBlock valueBlock = builder.buildValueBlock(); - BlockBuilder newBuilder = builder.newBlockBuilderLike(null); + BlockBuilder newBuilder = builder.newBlockBuilderLike(); newBuilder.appendRange(valueBlock, 0, valueBlock.getPositionCount()); return newBuilder; }) diff --git a/core/trino-main/src/main/java/io/trino/operator/aggregation/partial/SkipAggregationBuilder.java b/core/trino-main/src/main/java/io/trino/operator/aggregation/partial/SkipAggregationBuilder.java index 152ea594dbdd..0a4039b551f1 100644 --- a/core/trino-main/src/main/java/io/trino/operator/aggregation/partial/SkipAggregationBuilder.java +++ b/core/trino-main/src/main/java/io/trino/operator/aggregation/partial/SkipAggregationBuilder.java @@ -131,7 +131,7 @@ private Page buildOutputPage(Page page) for (int i = 0; i < aggregatorFactories.size(); i++) { GroupedAggregator groupedAggregator = aggregatorFactories.get(i).createGroupedAggregator(aggregationMetrics); groupedAggregator.processPage(positionCount, groupIds, page); - BlockBuilder outputBuilder = groupedAggregator.getType().createBlockBuilder(null, positionCount); + BlockBuilder outputBuilder = groupedAggregator.getType().createBlockBuilder(positionCount); for (int position = 0; position < positionCount; position++) { groupedAggregator.evaluate(position, outputBuilder); } diff --git a/core/trino-main/src/main/java/io/trino/operator/function/RegularTableFunctionPartition.java b/core/trino-main/src/main/java/io/trino/operator/function/RegularTableFunctionPartition.java index 5658ac514a8a..d55681f3e4f0 100644 --- a/core/trino-main/src/main/java/io/trino/operator/function/RegularTableFunctionPartition.java +++ b/core/trino-main/src/main/java/io/trino/operator/function/RegularTableFunctionPartition.java @@ -378,7 +378,7 @@ public NonPartitioningColumnProvider(int inputChannel, int indexChannel) public Block getPassThroughColumn(Page page) { Block indexes = page.getBlock(indexChannel); - BlockBuilder builder = type.createBlockBuilder(null, page.getPositionCount()); + BlockBuilder builder = type.createBlockBuilder(page.getPositionCount()); for (int position = 0; position < page.getPositionCount(); position++) { if (indexes.isNull(position)) { builder.appendNull(); diff --git a/core/trino-main/src/main/java/io/trino/operator/output/PositionsAppenderFactory.java b/core/trino-main/src/main/java/io/trino/operator/output/PositionsAppenderFactory.java index a9cb6a2a85a7..170bafb87586 100644 --- a/core/trino-main/src/main/java/io/trino/operator/output/PositionsAppenderFactory.java +++ b/core/trino-main/src/main/java/io/trino/operator/output/PositionsAppenderFactory.java @@ -55,7 +55,7 @@ private PositionsAppender createPrimitiveAppender(Type type, int expectedPositio // it is guaranteed Math.min will not overflow; safe to cast int expectedBytes = (int) min((long) expectedPositions * EXPECTED_VARIABLE_WIDTH_BYTES_PER_ENTRY, maxPageSizeInBytes); expectedBytes = min(expectedBytes, MAX_ARRAY_SIZE); - return new TypedPositionsAppender(new VariableWidthBlockBuilder(null, expectedPositions, expectedBytes)); + return new TypedPositionsAppender(new VariableWidthBlockBuilder(expectedPositions, expectedBytes)); } return new TypedPositionsAppender(type, expectedPositions); } diff --git a/core/trino-main/src/main/java/io/trino/operator/output/RowPositionsAppender.java b/core/trino-main/src/main/java/io/trino/operator/output/RowPositionsAppender.java index 58023f9afc37..1abfd561daf4 100644 --- a/core/trino-main/src/main/java/io/trino/operator/output/RowPositionsAppender.java +++ b/core/trino-main/src/main/java/io/trino/operator/output/RowPositionsAppender.java @@ -227,7 +227,7 @@ else if (hasNullRow) { result = RunLengthEncodedBlock.create(nullRowBlock, positionCount); } else { - result = type.createBlockBuilder(null, 0).build(); + result = type.createBlockBuilder(0).build(); } reset(); diff --git a/core/trino-main/src/main/java/io/trino/operator/output/TypedPositionsAppender.java b/core/trino-main/src/main/java/io/trino/operator/output/TypedPositionsAppender.java index 7f266d6a6909..fbd95cdf0f5e 100644 --- a/core/trino-main/src/main/java/io/trino/operator/output/TypedPositionsAppender.java +++ b/core/trino-main/src/main/java/io/trino/operator/output/TypedPositionsAppender.java @@ -30,7 +30,7 @@ final class TypedPositionsAppender TypedPositionsAppender(Type type, int expectedPositions) { - this.blockBuilder = type.createBlockBuilder(null, expectedPositions); + this.blockBuilder = type.createBlockBuilder(expectedPositions); } public TypedPositionsAppender(BlockBuilder blockBuilder) @@ -74,7 +74,7 @@ public Block build() public void reset() { if (blockBuilder.getPositionCount() > 0) { - blockBuilder = blockBuilder.newBlockBuilderLike(null); + blockBuilder = blockBuilder.newBlockBuilderLike(); } } diff --git a/core/trino-main/src/main/java/io/trino/operator/project/GeneratedPageProjection.java b/core/trino-main/src/main/java/io/trino/operator/project/GeneratedPageProjection.java index afe1079fd869..f3b3a0dcc8b9 100644 --- a/core/trino-main/src/main/java/io/trino/operator/project/GeneratedPageProjection.java +++ b/core/trino-main/src/main/java/io/trino/operator/project/GeneratedPageProjection.java @@ -42,7 +42,7 @@ public GeneratedPageProjection(RowExpression projection, boolean isDeterministic this.isDeterministic = isDeterministic; this.inputChannels = requireNonNull(inputChannels, "inputChannels is null"); this.pageProjectionWorkFactory = requireNonNull(pageProjectionWorkFactory, "pageProjectionWorkFactory is null"); - this.blockBuilder = projection.type().createBlockBuilder(null, 1); + this.blockBuilder = projection.type().createBlockBuilder(1); } @Override @@ -60,7 +60,7 @@ public InputChannels getInputChannels() @Override public Block project(ConnectorSession session, SourcePage page, SelectedPositions selectedPositions) { - blockBuilder = blockBuilder.newBlockBuilderLike(selectedPositions.size(), null); + blockBuilder = blockBuilder.newBlockBuilderLike(selectedPositions.size()); try { return ((PageProjectionWork) pageProjectionWorkFactory.invoke(blockBuilder, session, page, selectedPositions)).process(); } diff --git a/core/trino-main/src/main/java/io/trino/operator/scalar/ArrayCombinationsFunction.java b/core/trino-main/src/main/java/io/trino/operator/scalar/ArrayCombinationsFunction.java index 6ea939faabe5..e5039e18f8a7 100644 --- a/core/trino-main/src/main/java/io/trino/operator/scalar/ArrayCombinationsFunction.java +++ b/core/trino-main/src/main/java/io/trino/operator/scalar/ArrayCombinationsFunction.java @@ -18,7 +18,6 @@ import io.trino.spi.block.ArrayBlock; import io.trino.spi.block.Block; import io.trino.spi.block.DictionaryBlock; -import io.trino.spi.block.PageBuilderStatus; import io.trino.spi.function.Description; import io.trino.spi.function.ScalarFunction; import io.trino.spi.function.SqlType; @@ -61,7 +60,7 @@ public static Block combinations( ArrayType arrayType = new ArrayType(elementType); if (combinationLength > arrayLength) { - return arrayType.createBlockBuilder(new PageBuilderStatus().createBlockBuilderStatus(), 0).build(); + return arrayType.createBlockBuilder(0).build(); } int combinationCount = combinationCount(arrayLength, combinationLength); diff --git a/core/trino-main/src/main/java/io/trino/operator/scalar/ArrayConcatUtils.java b/core/trino-main/src/main/java/io/trino/operator/scalar/ArrayConcatUtils.java index 633412f873e4..95d55770a904 100644 --- a/core/trino-main/src/main/java/io/trino/operator/scalar/ArrayConcatUtils.java +++ b/core/trino-main/src/main/java/io/trino/operator/scalar/ArrayConcatUtils.java @@ -26,7 +26,7 @@ private ArrayConcatUtils() {} @UsedByGeneratedCode public static Block appendElement(Type elementType, Block block, long value) { - BlockBuilder blockBuilder = elementType.createBlockBuilder(null, block.getPositionCount() + 1); + BlockBuilder blockBuilder = elementType.createBlockBuilder(block.getPositionCount() + 1); blockBuilder.appendBlockRange(block, 0, block.getPositionCount()); elementType.writeLong(blockBuilder, value); @@ -37,7 +37,7 @@ public static Block appendElement(Type elementType, Block block, long value) @UsedByGeneratedCode public static Block appendElement(Type elementType, Block block, boolean value) { - BlockBuilder blockBuilder = elementType.createBlockBuilder(null, block.getPositionCount() + 1); + BlockBuilder blockBuilder = elementType.createBlockBuilder(block.getPositionCount() + 1); blockBuilder.appendBlockRange(block, 0, block.getPositionCount()); elementType.writeBoolean(blockBuilder, value); @@ -48,7 +48,7 @@ public static Block appendElement(Type elementType, Block block, boolean value) @UsedByGeneratedCode public static Block appendElement(Type elementType, Block block, double value) { - BlockBuilder blockBuilder = elementType.createBlockBuilder(null, block.getPositionCount() + 1); + BlockBuilder blockBuilder = elementType.createBlockBuilder(block.getPositionCount() + 1); blockBuilder.appendBlockRange(block, 0, block.getPositionCount()); elementType.writeDouble(blockBuilder, value); @@ -59,7 +59,7 @@ public static Block appendElement(Type elementType, Block block, double value) @UsedByGeneratedCode public static Block appendElement(Type elementType, Block block, Slice value) { - BlockBuilder blockBuilder = elementType.createBlockBuilder(null, block.getPositionCount() + 1); + BlockBuilder blockBuilder = elementType.createBlockBuilder(block.getPositionCount() + 1); blockBuilder.appendBlockRange(block, 0, block.getPositionCount()); elementType.writeSlice(blockBuilder, value); @@ -70,7 +70,7 @@ public static Block appendElement(Type elementType, Block block, Slice value) @UsedByGeneratedCode public static Block appendElement(Type elementType, Block block, Object value) { - BlockBuilder blockBuilder = elementType.createBlockBuilder(null, block.getPositionCount() + 1); + BlockBuilder blockBuilder = elementType.createBlockBuilder(block.getPositionCount() + 1); blockBuilder.appendBlockRange(block, 0, block.getPositionCount()); elementType.writeObject(blockBuilder, value); @@ -82,7 +82,7 @@ public static Block appendElement(Type elementType, Block block, Object value) @UsedByGeneratedCode public static Block prependElement(Type elementType, Slice value, Block block) { - BlockBuilder blockBuilder = elementType.createBlockBuilder(null, block.getPositionCount() + 1); + BlockBuilder blockBuilder = elementType.createBlockBuilder(block.getPositionCount() + 1); elementType.writeSlice(blockBuilder, value); blockBuilder.appendBlockRange(block, 0, block.getPositionCount()); @@ -93,7 +93,7 @@ public static Block prependElement(Type elementType, Slice value, Block block) @UsedByGeneratedCode public static Block prependElement(Type elementType, Object value, Block block) { - BlockBuilder blockBuilder = elementType.createBlockBuilder(null, block.getPositionCount() + 1); + BlockBuilder blockBuilder = elementType.createBlockBuilder(block.getPositionCount() + 1); elementType.writeObject(blockBuilder, value); blockBuilder.appendBlockRange(block, 0, block.getPositionCount()); @@ -104,7 +104,7 @@ public static Block prependElement(Type elementType, Object value, Block block) @UsedByGeneratedCode public static Block prependElement(Type elementType, long value, Block block) { - BlockBuilder blockBuilder = elementType.createBlockBuilder(null, block.getPositionCount() + 1); + BlockBuilder blockBuilder = elementType.createBlockBuilder(block.getPositionCount() + 1); elementType.writeLong(blockBuilder, value); blockBuilder.appendBlockRange(block, 0, block.getPositionCount()); @@ -115,7 +115,7 @@ public static Block prependElement(Type elementType, long value, Block block) @UsedByGeneratedCode public static Block prependElement(Type elementType, boolean value, Block block) { - BlockBuilder blockBuilder = elementType.createBlockBuilder(null, block.getPositionCount() + 1); + BlockBuilder blockBuilder = elementType.createBlockBuilder(block.getPositionCount() + 1); elementType.writeBoolean(blockBuilder, value); blockBuilder.appendBlockRange(block, 0, block.getPositionCount()); @@ -126,7 +126,7 @@ public static Block prependElement(Type elementType, boolean value, Block block) @UsedByGeneratedCode public static Block prependElement(Type elementType, double value, Block block) { - BlockBuilder blockBuilder = elementType.createBlockBuilder(null, block.getPositionCount() + 1); + BlockBuilder blockBuilder = elementType.createBlockBuilder(block.getPositionCount() + 1); elementType.writeDouble(blockBuilder, value); blockBuilder.appendBlockRange(block, 0, block.getPositionCount()); diff --git a/core/trino-main/src/main/java/io/trino/operator/scalar/ArrayFlattenFunction.java b/core/trino-main/src/main/java/io/trino/operator/scalar/ArrayFlattenFunction.java index 6ce63a65ec5e..6f4207c6c13c 100644 --- a/core/trino-main/src/main/java/io/trino/operator/scalar/ArrayFlattenFunction.java +++ b/core/trino-main/src/main/java/io/trino/operator/scalar/ArrayFlattenFunction.java @@ -68,10 +68,10 @@ protected SpecializedSqlScalarFunction specialize(BoundSignature boundSignature) public static Block flatten(Type type, Type arrayType, Block array) { if (array.getPositionCount() == 0) { - return type.createBlockBuilder(null, 0).build(); + return type.createBlockBuilder(0).build(); } - BlockBuilder builder = type.createBlockBuilder(null, array.getPositionCount(), toIntExact(array.getSizeInBytes() / array.getPositionCount())); + BlockBuilder builder = type.createBlockBuilder(array.getPositionCount(), toIntExact(array.getSizeInBytes() / array.getPositionCount())); for (int i = 0; i < array.getPositionCount(); i++) { if (!array.isNull(i)) { Block subArray = (Block) arrayType.getObject(array, i); diff --git a/core/trino-main/src/main/java/io/trino/operator/scalar/ArrayHistogramFunction.java b/core/trino-main/src/main/java/io/trino/operator/scalar/ArrayHistogramFunction.java index 21d62c4da32f..5a228e506a91 100644 --- a/core/trino-main/src/main/java/io/trino/operator/scalar/ArrayHistogramFunction.java +++ b/core/trino-main/src/main/java/io/trino/operator/scalar/ArrayHistogramFunction.java @@ -78,7 +78,7 @@ public static SqlMap arrayHistogram( histogram.add(0, valueBlock, position, 1L); } } - MapBlockBuilder blockBuilder = mapType.createBlockBuilder(null, histogram.size()); + MapBlockBuilder blockBuilder = mapType.createBlockBuilder(histogram.size()); histogram.serialize(0, blockBuilder); MapBlock mapBlock = (MapBlock) blockBuilder.build(); return mapType.getObject(mapBlock, 0); diff --git a/core/trino-main/src/main/java/io/trino/operator/scalar/ArraySliceFunction.java b/core/trino-main/src/main/java/io/trino/operator/scalar/ArraySliceFunction.java index 4e8699035748..23ee43c77a22 100644 --- a/core/trino-main/src/main/java/io/trino/operator/scalar/ArraySliceFunction.java +++ b/core/trino-main/src/main/java/io/trino/operator/scalar/ArraySliceFunction.java @@ -53,7 +53,7 @@ public static Block slice( long toIndex = Math.min(fromIndex + length, size + 1); if (fromIndex >= toIndex || fromIndex < 1) { - return type.createBlockBuilder(null, 0).build(); + return type.createBlockBuilder(0).build(); } return array.getRegion((int) (fromIndex - 1), (int) (toIndex - fromIndex)); diff --git a/core/trino-main/src/main/java/io/trino/operator/scalar/ArrayToArrayCast.java b/core/trino-main/src/main/java/io/trino/operator/scalar/ArrayToArrayCast.java index 60e6125a62fb..611218ea4e6a 100644 --- a/core/trino-main/src/main/java/io/trino/operator/scalar/ArrayToArrayCast.java +++ b/core/trino-main/src/main/java/io/trino/operator/scalar/ArrayToArrayCast.java @@ -45,7 +45,7 @@ public static Block filter( throws Throwable { int positionCount = array.getPositionCount(); - BlockBuilder resultBuilder = resultType.createBlockBuilder(null, positionCount); + BlockBuilder resultBuilder = resultType.createBlockBuilder(positionCount); for (int position = 0; position < positionCount; position++) { if (array.isNull(position)) { resultBuilder.appendNull(); diff --git a/core/trino-main/src/main/java/io/trino/operator/scalar/ArrayUnionFunction.java b/core/trino-main/src/main/java/io/trino/operator/scalar/ArrayUnionFunction.java index 0d672bc33828..50ab5eeedb0b 100644 --- a/core/trino-main/src/main/java/io/trino/operator/scalar/ArrayUnionFunction.java +++ b/core/trino-main/src/main/java/io/trino/operator/scalar/ArrayUnionFunction.java @@ -70,7 +70,7 @@ public static Block union( set.add(rightArray, i); } - BlockBuilder blockBuilder = type.createBlockBuilder(null, set.size()); + BlockBuilder blockBuilder = type.createBlockBuilder(set.size()); set.getAllWithSizeLimit(blockBuilder, "array_union", MAX_FUNCTION_MEMORY); return blockBuilder.build(); } diff --git a/core/trino-main/src/main/java/io/trino/operator/scalar/JoniRegexpFunctions.java b/core/trino-main/src/main/java/io/trino/operator/scalar/JoniRegexpFunctions.java index 1fa2a7ed1a0d..b7ddce63bc0b 100644 --- a/core/trino-main/src/main/java/io/trino/operator/scalar/JoniRegexpFunctions.java +++ b/core/trino-main/src/main/java/io/trino/operator/scalar/JoniRegexpFunctions.java @@ -211,7 +211,7 @@ public static Block regexpExtractAll(@SqlType("varchar(x)") Slice source, @SqlTy { Matcher matcher = pattern.matcher(source.getBytes()); validateGroup(groupIndex, matcher.getEagerRegion()); - BlockBuilder blockBuilder = VARCHAR.createBlockBuilder(null, 32); + BlockBuilder blockBuilder = VARCHAR.createBlockBuilder(32); int group = toIntExact(groupIndex); int nextStart = 0; @@ -278,7 +278,7 @@ public static Slice regexpExtract(@SqlType("varchar(x)") Slice source, @SqlType( public static Block regexpSplit(@SqlType("varchar(x)") Slice source, @SqlType(JoniRegexpType.NAME) JoniRegexp pattern) { Matcher matcher = pattern.matcher(source.getBytes()); - BlockBuilder blockBuilder = VARCHAR.createBlockBuilder(null, 32); + BlockBuilder blockBuilder = VARCHAR.createBlockBuilder(32); int lastEnd = 0; int nextStart = 0; diff --git a/core/trino-main/src/main/java/io/trino/operator/scalar/JsonStringArrayExtractScalar.java b/core/trino-main/src/main/java/io/trino/operator/scalar/JsonStringArrayExtractScalar.java index 577ef54828fc..db33e5c0a065 100644 --- a/core/trino-main/src/main/java/io/trino/operator/scalar/JsonStringArrayExtractScalar.java +++ b/core/trino-main/src/main/java/io/trino/operator/scalar/JsonStringArrayExtractScalar.java @@ -99,7 +99,7 @@ public static Block extract(Slice json, JsonPath jsonPath) if (jsonParser.getCurrentToken() == JsonToken.VALUE_NULL) { return null; } - BlockBuilder blockBuilder = ARRAY_TYPE.createBlockBuilder(null, 1); + BlockBuilder blockBuilder = ARRAY_TYPE.createBlockBuilder(1); append(jsonParser, jsonPath.getScalarExtractor(), blockBuilder); Block block = blockBuilder.build(); return ARRAY_TYPE.getObject(block, 0); diff --git a/core/trino-main/src/main/java/io/trino/operator/scalar/JsonToArrayCast.java b/core/trino-main/src/main/java/io/trino/operator/scalar/JsonToArrayCast.java index 2e940d2f79bc..2c53e506038f 100644 --- a/core/trino-main/src/main/java/io/trino/operator/scalar/JsonToArrayCast.java +++ b/core/trino-main/src/main/java/io/trino/operator/scalar/JsonToArrayCast.java @@ -100,7 +100,7 @@ public static Block toArray(ArrayType arrayType, BlockBuilderAppender arrayAppen return null; } - BlockBuilder blockBuilder = arrayType.createBlockBuilder(null, 1); + BlockBuilder blockBuilder = arrayType.createBlockBuilder(1); arrayAppender.append(jsonParser, blockBuilder); if (jsonParser.nextToken() != null) { throw new JsonCastException(format("Unexpected trailing token: %s", jsonParser.getText())); diff --git a/core/trino-main/src/main/java/io/trino/operator/scalar/JsonToMapCast.java b/core/trino-main/src/main/java/io/trino/operator/scalar/JsonToMapCast.java index d69d10a3794d..05c0b47b177f 100644 --- a/core/trino-main/src/main/java/io/trino/operator/scalar/JsonToMapCast.java +++ b/core/trino-main/src/main/java/io/trino/operator/scalar/JsonToMapCast.java @@ -104,7 +104,7 @@ public static SqlMap toMap(MapType mapType, BlockBuilderAppender mapAppender, Co return null; } - BlockBuilder blockBuilder = mapType.createBlockBuilder(null, 1); + BlockBuilder blockBuilder = mapType.createBlockBuilder(1); mapAppender.append(jsonParser, blockBuilder); if (jsonParser.nextToken() != null) { throw new JsonCastException(format("Unexpected trailing token: %s", jsonParser.getText())); diff --git a/core/trino-main/src/main/java/io/trino/operator/scalar/JsonToRowCast.java b/core/trino-main/src/main/java/io/trino/operator/scalar/JsonToRowCast.java index 81de2460a155..2296fc479ede 100644 --- a/core/trino-main/src/main/java/io/trino/operator/scalar/JsonToRowCast.java +++ b/core/trino-main/src/main/java/io/trino/operator/scalar/JsonToRowCast.java @@ -109,7 +109,7 @@ public static SqlRow toRow( return null; } - BlockBuilder blockBuilder = rowType.createBlockBuilder(null, 1); + BlockBuilder blockBuilder = rowType.createBlockBuilder(1); rowAppender.append(jsonParser, blockBuilder); if (jsonParser.nextToken() != null) { throw new JsonCastException(format("Unexpected trailing token: %s", jsonParser.getText())); diff --git a/core/trino-main/src/main/java/io/trino/operator/scalar/MapToMapCast.java b/core/trino-main/src/main/java/io/trino/operator/scalar/MapToMapCast.java index 1dd184f0e254..aed519e9033c 100644 --- a/core/trino-main/src/main/java/io/trino/operator/scalar/MapToMapCast.java +++ b/core/trino-main/src/main/java/io/trino/operator/scalar/MapToMapCast.java @@ -255,7 +255,7 @@ public static SqlMap mapCast( // Cast the keys into a new block Type toKeyType = toType.getKeyType(); - BlockBuilder keyBlockBuilder = toKeyType.createBlockBuilder(null, size); + BlockBuilder keyBlockBuilder = toKeyType.createBlockBuilder(size); for (int i = 0; i < size; i++) { try { keyProcessFunction.invokeExact(rawKeyBlock, rawOffset + i, session, keyBlockBuilder); @@ -268,7 +268,7 @@ public static SqlMap mapCast( // Cast the values into a new block Type toValueType = toType.getValueType(); - BlockBuilder valueBlockBuilder = toValueType.createBlockBuilder(null, size); + BlockBuilder valueBlockBuilder = toValueType.createBlockBuilder(size); for (int i = 0; i < size; i++) { if (rawValueBlock.isNull(rawOffset + i)) { valueBlockBuilder.appendNull(); diff --git a/core/trino-main/src/main/java/io/trino/operator/scalar/RepeatFunction.java b/core/trino-main/src/main/java/io/trino/operator/scalar/RepeatFunction.java index 8af21c361cf8..f507b63f7f0e 100644 --- a/core/trino-main/src/main/java/io/trino/operator/scalar/RepeatFunction.java +++ b/core/trino-main/src/main/java/io/trino/operator/scalar/RepeatFunction.java @@ -123,7 +123,7 @@ private static BlockBuilder createBlockBuilder(Type type, long count) { checkCondition(count <= MAX_RESULT_ENTRIES, INVALID_FUNCTION_ARGUMENT, "count argument of repeat function must be less than or equal to 10000"); checkCondition(count >= 0, INVALID_FUNCTION_ARGUMENT, "count argument of repeat function must be greater than or equal to 0"); - return type.createBlockBuilder(null, toIntExact(count)); + return type.createBlockBuilder(toIntExact(count)); } private static Block repeatNullValues(BlockBuilder blockBuilder, long count) diff --git a/core/trino-main/src/main/java/io/trino/operator/scalar/RowToRowCast.java b/core/trino-main/src/main/java/io/trino/operator/scalar/RowToRowCast.java index 46156341f3c6..bfc34b2687ac 100644 --- a/core/trino-main/src/main/java/io/trino/operator/scalar/RowToRowCast.java +++ b/core/trino-main/src/main/java/io/trino/operator/scalar/RowToRowCast.java @@ -28,7 +28,6 @@ import io.trino.spi.TrinoException; import io.trino.spi.block.Block; import io.trino.spi.block.BlockBuilder; -import io.trino.spi.block.BlockBuilderStatus; import io.trino.spi.block.SqlRow; import io.trino.spi.connector.ConnectorSession; import io.trino.spi.function.BoundSignature; @@ -55,7 +54,6 @@ import static io.airlift.bytecode.Parameter.arg; import static io.airlift.bytecode.ParameterizedType.type; import static io.airlift.bytecode.expression.BytecodeExpressions.constantInt; -import static io.airlift.bytecode.expression.BytecodeExpressions.constantNull; import static io.airlift.bytecode.expression.BytecodeExpressions.invokeDynamic; import static io.airlift.bytecode.expression.BytecodeExpressions.newArray; import static io.airlift.bytecode.expression.BytecodeExpressions.newInstance; @@ -198,7 +196,6 @@ private static Class generateRowCast(Type fromType, Type toType, FunctionDepe body.append(fieldBuilder.set(constantType(binder, toElementType).invoke( "createBlockBuilder", BlockBuilder.class, - constantNull(BlockBuilderStatus.class), constantInt(1)))); if (fromElementType.equals(UNKNOWN)) { diff --git a/core/trino-main/src/main/java/io/trino/operator/scalar/SessionFunctions.java b/core/trino-main/src/main/java/io/trino/operator/scalar/SessionFunctions.java index aceb53998efb..c9e6e247a95b 100644 --- a/core/trino-main/src/main/java/io/trino/operator/scalar/SessionFunctions.java +++ b/core/trino-main/src/main/java/io/trino/operator/scalar/SessionFunctions.java @@ -76,7 +76,7 @@ public static Slice currentSchema(ConnectorSession session) public static Block currentGroups(ConnectorSession session) { Set groups = session.getIdentity().getGroups(); - BlockBuilder blockBuilder = VARCHAR.createBlockBuilder(null, groups.size()); + BlockBuilder blockBuilder = VARCHAR.createBlockBuilder(groups.size()); for (String group : groups) { VARCHAR.writeSlice(blockBuilder, utf8Slice(group)); } diff --git a/core/trino-main/src/main/java/io/trino/operator/scalar/StringFunctions.java b/core/trino-main/src/main/java/io/trino/operator/scalar/StringFunctions.java index 0b071cfa1704..32b870ab217d 100644 --- a/core/trino-main/src/main/java/io/trino/operator/scalar/StringFunctions.java +++ b/core/trino-main/src/main/java/io/trino/operator/scalar/StringFunctions.java @@ -402,7 +402,7 @@ public static Block split(@SqlType("varchar(x)") Slice string, @SqlType("varchar checkCondition(limit > 0, INVALID_FUNCTION_ARGUMENT, "Limit must be positive"); checkCondition(limit <= Integer.MAX_VALUE, INVALID_FUNCTION_ARGUMENT, "Limit is too large"); checkCondition(delimiter.length() > 0, INVALID_FUNCTION_ARGUMENT, "The delimiter may not be the empty string"); - BlockBuilder parts = VARCHAR.createBlockBuilder(null, 1, string.length()); + BlockBuilder parts = VARCHAR.createBlockBuilder(1, string.length()); // If limit is one, the last and only element is the complete string if (limit == 1) { VARCHAR.writeSlice(parts, string); diff --git a/core/trino-main/src/main/java/io/trino/operator/scalar/ZipFunction.java b/core/trino-main/src/main/java/io/trino/operator/scalar/ZipFunction.java index 6f0078b98469..d1ae5323d343 100644 --- a/core/trino-main/src/main/java/io/trino/operator/scalar/ZipFunction.java +++ b/core/trino-main/src/main/java/io/trino/operator/scalar/ZipFunction.java @@ -102,7 +102,7 @@ public static Block zip(List types, Block... arrays) biggestCardinality = Math.max(biggestCardinality, array.getPositionCount()); } RowType rowType = RowType.anonymous(types); - RowBlockBuilder outputBuilder = rowType.createBlockBuilder(null, biggestCardinality); + RowBlockBuilder outputBuilder = rowType.createBlockBuilder(biggestCardinality); for (int outputPosition = 0; outputPosition < biggestCardinality; outputPosition++) { buildRow(outputBuilder, outputPosition, arrays); } diff --git a/core/trino-main/src/main/java/io/trino/operator/window/pattern/MatchAggregation.java b/core/trino-main/src/main/java/io/trino/operator/window/pattern/MatchAggregation.java index 134a5c55a938..022cd52215b7 100644 --- a/core/trino-main/src/main/java/io/trino/operator/window/pattern/MatchAggregation.java +++ b/core/trino-main/src/main/java/io/trino/operator/window/pattern/MatchAggregation.java @@ -138,7 +138,7 @@ public Block aggregate(int currentRow, ArrayView matchedLabels, long matchNumber memoryContext.setBytes(accumulator.getEstimatedSize() + setEvaluator.getAllPositionsSizeInBytes()); } - BlockBuilder blockBuilder = boundSignature.getReturnType().createBlockBuilder(null, 1); + BlockBuilder blockBuilder = boundSignature.getReturnType().createBlockBuilder(1); accumulator.output(blockBuilder); return blockBuilder.build(); } @@ -156,7 +156,7 @@ public Block aggregateEmpty() if (resultOnEmpty != null) { return resultOnEmpty; } - BlockBuilder blockBuilder = boundSignature.getReturnType().createBlockBuilder(null, 1); + BlockBuilder blockBuilder = boundSignature.getReturnType().createBlockBuilder(1); accumulatorFactory.get().output(blockBuilder); resultOnEmpty = blockBuilder.build(); return resultOnEmpty; diff --git a/core/trino-main/src/main/java/io/trino/server/protocol/spooling/SpooledMetadataBlockSerde.java b/core/trino-main/src/main/java/io/trino/server/protocol/spooling/SpooledMetadataBlockSerde.java index 2d13ba73e3b2..26656e507a3e 100644 --- a/core/trino-main/src/main/java/io/trino/server/protocol/spooling/SpooledMetadataBlockSerde.java +++ b/core/trino-main/src/main/java/io/trino/server/protocol/spooling/SpooledMetadataBlockSerde.java @@ -62,7 +62,7 @@ public static Page serialize(SpooledMetadataBlock block) public static Page serialize(List blocks) { - RowBlockBuilder rowBlockBuilder = SPOOLING_METADATA_TYPE.createBlockBuilder(null, blocks.size()); + RowBlockBuilder rowBlockBuilder = SPOOLING_METADATA_TYPE.createBlockBuilder(blocks.size()); for (SpooledMetadataBlock block : blocks) { rowBlockBuilder.buildEntry(rowEntryBuilder -> { diff --git a/core/trino-main/src/main/java/io/trino/sql/gen/ArrayConstructorCodeGenerator.java b/core/trino-main/src/main/java/io/trino/sql/gen/ArrayConstructorCodeGenerator.java index 9576e19ec3ca..0a46834223b3 100644 --- a/core/trino-main/src/main/java/io/trino/sql/gen/ArrayConstructorCodeGenerator.java +++ b/core/trino-main/src/main/java/io/trino/sql/gen/ArrayConstructorCodeGenerator.java @@ -20,7 +20,6 @@ import io.airlift.bytecode.control.IfStatement; import io.trino.spi.block.Block; import io.trino.spi.block.BlockBuilder; -import io.trino.spi.block.BlockBuilderStatus; import io.trino.spi.type.ArrayType; import io.trino.spi.type.Type; import io.trino.sql.relational.RowExpression; @@ -30,7 +29,6 @@ import static io.airlift.bytecode.expression.BytecodeExpressions.constantFalse; import static io.airlift.bytecode.expression.BytecodeExpressions.constantInt; -import static io.airlift.bytecode.expression.BytecodeExpressions.constantNull; import static io.trino.sql.gen.SqlTypeBytecodeExpression.constantType; public class ArrayConstructorCodeGenerator @@ -54,7 +52,7 @@ public BytecodeNode generateExpression(BytecodeGeneratorContext context) BytecodeBlock block = new BytecodeBlock().setDescription("Constructor for array(%s)".formatted(elementType)); Variable blockBuilder = scope.getOrCreateTempVariable(BlockBuilder.class); - block.append(blockBuilder.set(constantType(binder, elementType).invoke("createBlockBuilder", BlockBuilder.class, constantNull(BlockBuilderStatus.class), constantInt(elements.size())))); + block.append(blockBuilder.set(constantType(binder, elementType).invoke("createBlockBuilder", BlockBuilder.class, constantInt(elements.size())))); Variable element = scope.getOrCreateTempVariable(elementType.getJavaType()); diff --git a/core/trino-main/src/main/java/io/trino/sql/gen/ArrayMapBytecodeExpression.java b/core/trino-main/src/main/java/io/trino/sql/gen/ArrayMapBytecodeExpression.java index 263d737c959a..b920d78c94cf 100644 --- a/core/trino-main/src/main/java/io/trino/sql/gen/ArrayMapBytecodeExpression.java +++ b/core/trino-main/src/main/java/io/trino/sql/gen/ArrayMapBytecodeExpression.java @@ -24,7 +24,6 @@ import io.airlift.bytecode.expression.BytecodeExpression; import io.trino.spi.block.Block; import io.trino.spi.block.BlockBuilder; -import io.trino.spi.block.BlockBuilderStatus; import io.trino.spi.type.Type; import io.trino.type.UnknownType; @@ -34,7 +33,6 @@ import static io.airlift.bytecode.ParameterizedType.type; import static io.airlift.bytecode.expression.BytecodeExpressions.constantInt; -import static io.airlift.bytecode.expression.BytecodeExpressions.constantNull; import static io.airlift.bytecode.expression.BytecodeExpressions.lessThan; import static io.airlift.bytecode.instruction.VariableInstruction.incrementVariable; import static io.trino.sql.gen.SqlTypeBytecodeExpression.constantType; @@ -60,7 +58,7 @@ public ArrayMapBytecodeExpression( body = new BytecodeBlock(); Variable blockBuilder = scope.declareVariable(BlockBuilder.class, "blockBuilder_" + NEXT_VARIABLE_ID.getAndIncrement()); - body.append(blockBuilder.set(constantType(binder, toType).invoke("createBlockBuilder", BlockBuilder.class, constantNull(BlockBuilderStatus.class), array.invoke("getPositionCount", int.class)))); + body.append(blockBuilder.set(constantType(binder, toType).invoke("createBlockBuilder", BlockBuilder.class, array.invoke("getPositionCount", int.class)))); // get element, apply function, and write new element to block builder Variable position = scope.declareVariable(int.class, "position_" + NEXT_VARIABLE_ID.getAndIncrement()); diff --git a/core/trino-main/src/main/java/io/trino/sql/gen/RowConstructorCodeGenerator.java b/core/trino-main/src/main/java/io/trino/sql/gen/RowConstructorCodeGenerator.java index 25c4239953a7..fc2ab08780df 100644 --- a/core/trino-main/src/main/java/io/trino/sql/gen/RowConstructorCodeGenerator.java +++ b/core/trino-main/src/main/java/io/trino/sql/gen/RowConstructorCodeGenerator.java @@ -24,7 +24,6 @@ import io.trino.annotation.UsedByGeneratedCode; import io.trino.spi.block.Block; import io.trino.spi.block.BlockBuilder; -import io.trino.spi.block.BlockBuilderStatus; import io.trino.spi.block.SqlRow; import io.trino.spi.type.RowType; import io.trino.spi.type.Type; @@ -40,7 +39,6 @@ import static io.airlift.bytecode.ParameterizedType.type; import static io.airlift.bytecode.expression.BytecodeExpressions.constantFalse; import static io.airlift.bytecode.expression.BytecodeExpressions.constantInt; -import static io.airlift.bytecode.expression.BytecodeExpressions.constantNull; import static io.airlift.bytecode.expression.BytecodeExpressions.invokeStatic; import static io.airlift.bytecode.expression.BytecodeExpressions.newArray; import static io.airlift.bytecode.expression.BytecodeExpressions.newInstance; @@ -88,7 +86,6 @@ public BytecodeNode generateExpression(BytecodeGeneratorContext context) block.append(blockBuilder.set(constantType(binder, fieldType).invoke( "createBlockBuilder", BlockBuilder.class, - constantNull(BlockBuilderStatus.class), constantInt(1)))); block.comment("Clean wasNull and Generate + " + i + "-th field of row"); @@ -195,7 +192,7 @@ public static BlockBuilder[] createFieldBlockBuildersForSingleRow(Type rowType) List fieldTypes = rowType.getTypeParameters(); BlockBuilder[] fieldBlockBuilders = new BlockBuilder[fieldTypes.size()]; for (int i = 0; i < fieldTypes.size(); i++) { - fieldBlockBuilders[i] = fieldTypes.get(i).createBlockBuilder(null, 1); + fieldBlockBuilders[i] = fieldTypes.get(i).createBlockBuilder(1); } return fieldBlockBuilders; } diff --git a/core/trino-main/src/main/java/io/trino/sql/ir/Constant.java b/core/trino-main/src/main/java/io/trino/sql/ir/Constant.java index e7c202ccc43a..c35f9a48cc81 100644 --- a/core/trino-main/src/main/java/io/trino/sql/ir/Constant.java +++ b/core/trino-main/src/main/java/io/trino/sql/ir/Constant.java @@ -50,7 +50,7 @@ public static Constant fromJson( @JsonProperty public Block getValueAsBlock() { - BlockBuilder blockBuilder = type.createBlockBuilder(null, 1); + BlockBuilder blockBuilder = type.createBlockBuilder(1); writeNativeValue(type, blockBuilder, value); return blockBuilder.build(); } diff --git a/core/trino-main/src/main/java/io/trino/sql/ir/optimizer/IrExpressionEvaluator.java b/core/trino-main/src/main/java/io/trino/sql/ir/optimizer/IrExpressionEvaluator.java index f1ca97d6455d..61eecc16722c 100644 --- a/core/trino-main/src/main/java/io/trino/sql/ir/optimizer/IrExpressionEvaluator.java +++ b/core/trino-main/src/main/java/io/trino/sql/ir/optimizer/IrExpressionEvaluator.java @@ -391,7 +391,7 @@ private Object evaluateInternal(Array expression, Session session, Map evaluate(e, session, bindings)) .toList(); - BlockBuilder builder = expression.elementType().createBlockBuilder(null, values.size()); + BlockBuilder builder = expression.elementType().createBlockBuilder(values.size()); for (Object element : values) { writeNativeValue(expression.elementType(), builder, element); } diff --git a/core/trino-main/src/main/java/io/trino/sql/ir/optimizer/rule/EvaluateArray.java b/core/trino-main/src/main/java/io/trino/sql/ir/optimizer/rule/EvaluateArray.java index 7205c560ab2b..241a262cd283 100644 --- a/core/trino-main/src/main/java/io/trino/sql/ir/optimizer/rule/EvaluateArray.java +++ b/core/trino-main/src/main/java/io/trino/sql/ir/optimizer/rule/EvaluateArray.java @@ -41,7 +41,7 @@ public Optional apply(Expression expression, Session session, Map types) this.types = ImmutableList.copyOf(requireNonNull(types, "types is null")); ImmutableList.Builder builders = ImmutableList.builderWithExpectedSize(this.types.size()); for (Type type : types) { - builders.add(type.createBlockBuilder(null, 1)); + builders.add(type.createBlockBuilder(1)); } this.builders = builders.build(); checkArgument(!this.builders.isEmpty(), "At least one value info is required"); diff --git a/core/trino-main/src/test/java/io/trino/block/AbstractTestBlock.java b/core/trino-main/src/test/java/io/trino/block/AbstractTestBlock.java index c1d6e3c80c2f..63e752f4a4c4 100644 --- a/core/trino-main/src/test/java/io/trino/block/AbstractTestBlock.java +++ b/core/trino-main/src/test/java/io/trino/block/AbstractTestBlock.java @@ -19,7 +19,6 @@ import io.airlift.slice.SliceOutput; import io.trino.spi.block.Block; import io.trino.spi.block.BlockBuilder; -import io.trino.spi.block.BlockBuilderStatus; import io.trino.spi.block.BlockEncodingSerde; import io.trino.spi.block.ByteArrayBlock; import io.trino.spi.block.DictionaryBlock; @@ -114,11 +113,6 @@ private static void assertRetainedSize(Block block) retainedSize += slice.getRetainedSize(); } } - else if (type == BlockBuilderStatus.class) { - if (field.get(block) != null) { - retainedSize += BlockBuilderStatus.INSTANCE_SIZE; - } - } else if (Block.class.isAssignableFrom(type)) { retainedSize += ((Block) field.get(block)).getRetainedSizeInBytes(); } @@ -323,7 +317,7 @@ protected static void assertEstimatedDataSizeForStats(BlockBuilder blockBuilder, assertThat(block.getEstimatedDataSizeForStats(i)).isEqualTo(expectedSize); } - Block nullValueBlock = blockBuilder.newBlockBuilderLike(null).appendNull().build(); + Block nullValueBlock = blockBuilder.newBlockBuilderLike().appendNull().build(); assertThat(nullValueBlock.getEstimatedDataSizeForStats(0)).isEqualTo(0); } diff --git a/core/trino-main/src/test/java/io/trino/block/BenchmarkBlockBuilder.java b/core/trino-main/src/test/java/io/trino/block/BenchmarkBlockBuilder.java index 74460d312cd6..050762b1eeff 100644 --- a/core/trino-main/src/test/java/io/trino/block/BenchmarkBlockBuilder.java +++ b/core/trino-main/src/test/java/io/trino/block/BenchmarkBlockBuilder.java @@ -54,7 +54,7 @@ public class BenchmarkBlockBuilder @Benchmark public Block benchmarkAppendRange(BlockData data) { - BlockBuilder builder = data.trinoType.createBlockBuilder(null, POSITIONS); + BlockBuilder builder = data.trinoType.createBlockBuilder(POSITIONS); // Append twice to simulate "merging" two adjacent blocks builder.appendRange(data.valueBlock, data.offset, data.length); builder.appendRange(data.valueBlock, data.offset, data.length); @@ -94,7 +94,7 @@ public void setup() private static ValueBlock createBigintBlock(Random random, int offset, int length, float nullRate) { - BlockBuilder builder = BIGINT.createBlockBuilder(null, offset + length); + BlockBuilder builder = BIGINT.createBlockBuilder(offset + length); int position = 0; // Fill the beginning range with nulls to prevent the isNull array from being suppressed for (; position < offset; position++) { @@ -113,7 +113,7 @@ private static ValueBlock createBigintBlock(Random random, int offset, int lengt private static ValueBlock createVarcharBlock(Random random, int offset, int length, float nullRate) { - BlockBuilder builder = VARCHAR.createBlockBuilder(null, offset + length); + BlockBuilder builder = VARCHAR.createBlockBuilder(offset + length); int position = 0; // Fill the beginning range with nulls to prevent the isNull array from being suppressed for (; position < offset; position++) { diff --git a/core/trino-main/src/test/java/io/trino/block/BenchmarkMapCopy.java b/core/trino-main/src/test/java/io/trino/block/BenchmarkMapCopy.java index 38c95ecaecf9..9156505d0253 100644 --- a/core/trino-main/src/test/java/io/trino/block/BenchmarkMapCopy.java +++ b/core/trino-main/src/test/java/io/trino/block/BenchmarkMapCopy.java @@ -77,7 +77,7 @@ public static class BenchmarkData public void setup() { MapType mapType = mapType(VARCHAR, BIGINT); - blockBuilder = mapType.createBlockBuilder(null, POSITIONS); + blockBuilder = mapType.createBlockBuilder(POSITIONS); for (int position = 0; position < POSITIONS; position++) { blockBuilder.buildEntry((keyBuilder, valueBuilder) -> { for (int i = 0; i < mapSize; i++) { @@ -97,7 +97,7 @@ public Block getDataBlock() public BlockBuilder getBlockBuilder() { - return blockBuilder.newBlockBuilderLike(null); + return blockBuilder.newBlockBuilderLike(); } } diff --git a/core/trino-main/src/test/java/io/trino/block/BenchmarkRowBlockBuilder.java b/core/trino-main/src/test/java/io/trino/block/BenchmarkRowBlockBuilder.java index 48ed91a58455..e328e820f449 100644 --- a/core/trino-main/src/test/java/io/trino/block/BenchmarkRowBlockBuilder.java +++ b/core/trino-main/src/test/java/io/trino/block/BenchmarkRowBlockBuilder.java @@ -79,7 +79,7 @@ public void setup() { types = Collections.nCopies(typesLength, BIGINT); RowType rowType = RowType.anonymous(types); - blockBuilder = rowType.createBlockBuilder(null, rows); + blockBuilder = rowType.createBlockBuilder(rows); random = new Random(1024L); } diff --git a/core/trino-main/src/test/java/io/trino/block/BlockAssertions.java b/core/trino-main/src/test/java/io/trino/block/BlockAssertions.java index 9737c046f7f1..2b76a20afa4c 100644 --- a/core/trino-main/src/test/java/io/trino/block/BlockAssertions.java +++ b/core/trino-main/src/test/java/io/trino/block/BlockAssertions.java @@ -394,7 +394,7 @@ public static VariableWidthBlock createStringsBlock(String... values) public static VariableWidthBlock createStringsBlock(Iterable values) { - VariableWidthBlockBuilder builder = VARCHAR.createBlockBuilder(null, 100); + VariableWidthBlockBuilder builder = VARCHAR.createBlockBuilder(100); for (String value : values) { if (value == null) { @@ -426,7 +426,7 @@ public static ValueBlock createSlicesBlock(Type type, Iterable values) public static ValueBlock createStringSequenceBlock(int start, int end) { - BlockBuilder builder = VARCHAR.createBlockBuilder(null, 100); + BlockBuilder builder = VARCHAR.createBlockBuilder(100); for (int i = start; i < end; i++) { VARCHAR.writeString(builder, String.valueOf(i)); @@ -440,7 +440,7 @@ public static Block createStringDictionaryBlock(int start, int length) checkArgument(length > 5, "block must have more than 5 entries"); int dictionarySize = length / 5; - BlockBuilder builder = VARCHAR.createBlockBuilder(null, dictionarySize); + BlockBuilder builder = VARCHAR.createBlockBuilder(dictionarySize); for (int i = start; i < start + dictionarySize; i++) { VARCHAR.writeString(builder, String.valueOf(i)); } @@ -454,7 +454,7 @@ public static Block createStringDictionaryBlock(int start, int length) public static ValueBlock createStringArraysBlock(Iterable> values) { ArrayType arrayType = new ArrayType(VARCHAR); - BlockBuilder builder = arrayType.createBlockBuilder(null, 100); + BlockBuilder builder = arrayType.createBlockBuilder(100); for (Iterable value : values) { if (value == null) { @@ -609,7 +609,7 @@ public static ValueBlock createIntsBlock(Iterable values) public static RowBlock createRowBlock(List fieldTypes, Object[]... rows) { - RowBlockBuilder rowBlockBuilder = new RowBlockBuilder(fieldTypes, null, 1); + RowBlockBuilder rowBlockBuilder = new RowBlockBuilder(fieldTypes, 1); for (Object[] row : rows) { if (row == null) { rowBlockBuilder.appendNull(); @@ -805,7 +805,7 @@ public static ValueBlock createDoubleSequenceBlock(int start, int end) public static ValueBlock createArrayBigintBlock(Iterable> values) { ArrayType arrayType = new ArrayType(BIGINT); - BlockBuilder builder = arrayType.createBlockBuilder(null, 100); + BlockBuilder builder = arrayType.createBlockBuilder(100); for (Iterable value : values) { if (value == null) { @@ -899,7 +899,7 @@ public static Block createRepeatedValuesBlock(long value, int positionCount) private static ValueBlock createBlock(Type type, ValueWriter valueWriter, Iterable values) { - BlockBuilder builder = type.createBlockBuilder(null, 100); + BlockBuilder builder = type.createBlockBuilder(100); for (T value : values) { if (value == null) { diff --git a/core/trino-main/src/test/java/io/trino/block/TestArrayBlock.java b/core/trino-main/src/test/java/io/trino/block/TestArrayBlock.java index 9ccf63b77632..ea52e50d85e5 100644 --- a/core/trino-main/src/test/java/io/trino/block/TestArrayBlock.java +++ b/core/trino-main/src/test/java/io/trino/block/TestArrayBlock.java @@ -124,9 +124,9 @@ public void testLazyBlockBuilderInitialization() for (int i = 0; i < ARRAY_SIZES.length; i++) { expectedValues[i] = rand.longs(ARRAY_SIZES[i]).toArray(); } - ArrayBlockBuilder emptyBlockBuilder = new ArrayBlockBuilder(BIGINT, null, 0, 0); + ArrayBlockBuilder emptyBlockBuilder = new ArrayBlockBuilder(BIGINT, 0, 0); - BlockBuilder blockBuilder = new ArrayBlockBuilder(BIGINT, null, 100, 100); + BlockBuilder blockBuilder = new ArrayBlockBuilder(BIGINT, 100, 100); assertThat(blockBuilder.getSizeInBytes()).isEqualTo(emptyBlockBuilder.getSizeInBytes()); assertThat(blockBuilder.getRetainedSizeInBytes()).isEqualTo(emptyBlockBuilder.getRetainedSizeInBytes()); @@ -134,7 +134,7 @@ public void testLazyBlockBuilderInitialization() assertThat(blockBuilder.getSizeInBytes() > emptyBlockBuilder.getSizeInBytes()).isTrue(); assertThat(blockBuilder.getRetainedSizeInBytes() > emptyBlockBuilder.getRetainedSizeInBytes()).isTrue(); - blockBuilder = blockBuilder.newBlockBuilderLike(null); + blockBuilder = blockBuilder.newBlockBuilderLike(); assertThat(blockBuilder.getSizeInBytes()).isEqualTo(emptyBlockBuilder.getSizeInBytes()); assertThat(blockBuilder.getRetainedSizeInBytes()).isEqualTo(emptyBlockBuilder.getRetainedSizeInBytes()); } @@ -183,7 +183,7 @@ public void testCompactBlock() private static BlockBuilder createBlockBuilderWithValues(long[][][] expectedValues) { - ArrayBlockBuilder blockBuilder = new ArrayBlockBuilder(new ArrayBlockBuilder(BIGINT, null, 100, 100), null, 100); + ArrayBlockBuilder blockBuilder = new ArrayBlockBuilder(new ArrayBlockBuilder(BIGINT, 100, 100), 100); for (long[][] expectedValue : expectedValues) { if (expectedValue == null) { blockBuilder.appendNull(); @@ -206,7 +206,7 @@ private static BlockBuilder createBlockBuilderWithValues(long[][][] expectedValu private static BlockBuilder createBlockBuilderWithValues(long[][] expectedValues) { - ArrayBlockBuilder blockBuilder = new ArrayBlockBuilder(BIGINT, null, 100, 100); + ArrayBlockBuilder blockBuilder = new ArrayBlockBuilder(BIGINT, 100, 100); return writeValues(expectedValues, blockBuilder); } @@ -229,7 +229,7 @@ private static BlockBuilder writeValues(long[][] expectedValues, BlockBuilder bl private static BlockBuilder createBlockBuilderWithValues(Slice[][] expectedValues) { - ArrayBlockBuilder blockBuilder = new ArrayBlockBuilder(VARCHAR, null, 100, 100); + ArrayBlockBuilder blockBuilder = new ArrayBlockBuilder(VARCHAR, 100, 100); for (Slice[] expectedValue : expectedValues) { if (expectedValue == null) { blockBuilder.appendNull(); diff --git a/core/trino-main/src/test/java/io/trino/block/TestByteArrayBlock.java b/core/trino-main/src/test/java/io/trino/block/TestByteArrayBlock.java index 1ec65f9ea873..964d59d6c577 100644 --- a/core/trino-main/src/test/java/io/trino/block/TestByteArrayBlock.java +++ b/core/trino-main/src/test/java/io/trino/block/TestByteArrayBlock.java @@ -48,9 +48,9 @@ public void testCopyPositions() public void testLazyBlockBuilderInitialization() { Byte[] expectedValues = createTestValue(100); - BlockBuilder emptyBlockBuilder = new ByteArrayBlockBuilder(null, 0); + BlockBuilder emptyBlockBuilder = new ByteArrayBlockBuilder(0); - ByteArrayBlockBuilder blockBuilder = new ByteArrayBlockBuilder(null, expectedValues.length); + ByteArrayBlockBuilder blockBuilder = new ByteArrayBlockBuilder(expectedValues.length); assertThat(blockBuilder.getSizeInBytes()).isEqualTo(emptyBlockBuilder.getSizeInBytes()); assertThat(blockBuilder.getRetainedSizeInBytes()).isEqualTo(emptyBlockBuilder.getRetainedSizeInBytes()); @@ -58,7 +58,7 @@ public void testLazyBlockBuilderInitialization() assertThat(blockBuilder.getSizeInBytes() > emptyBlockBuilder.getSizeInBytes()).isTrue(); assertThat(blockBuilder.getRetainedSizeInBytes() > emptyBlockBuilder.getRetainedSizeInBytes()).isTrue(); - blockBuilder = (ByteArrayBlockBuilder) blockBuilder.newBlockBuilderLike(null); + blockBuilder = (ByteArrayBlockBuilder) blockBuilder.newBlockBuilderLike(); assertThat(blockBuilder.getSizeInBytes()).isEqualTo(emptyBlockBuilder.getSizeInBytes()); assertThat(blockBuilder.getRetainedSizeInBytes()).isEqualTo(emptyBlockBuilder.getRetainedSizeInBytes()); } @@ -72,7 +72,7 @@ public void testEstimatedDataSizeForStats() assertThat(block.getEstimatedDataSizeForStats(i)).isEqualTo(Byte.BYTES); } - assertThat(new ShortArrayBlockBuilder(null, 22).appendNull().build().getEstimatedDataSizeForStats(0)).isEqualTo(0); + assertThat(new ShortArrayBlockBuilder(22).appendNull().build().getEstimatedDataSizeForStats(0)).isEqualTo(0); } @Test @@ -94,7 +94,7 @@ private void assertFixedWithValues(Byte[] expectedValues) private static BlockBuilder createBlockBuilderWithValues(Byte[] expectedValues) { - ByteArrayBlockBuilder blockBuilder = new ByteArrayBlockBuilder(null, expectedValues.length); + ByteArrayBlockBuilder blockBuilder = new ByteArrayBlockBuilder(expectedValues.length); writeValues(expectedValues, blockBuilder); return blockBuilder; } diff --git a/core/trino-main/src/test/java/io/trino/block/TestDictionaryBlock.java b/core/trino-main/src/test/java/io/trino/block/TestDictionaryBlock.java index 1eddf21d2f4a..3c7ce5c009f4 100644 --- a/core/trino-main/src/test/java/io/trino/block/TestDictionaryBlock.java +++ b/core/trino-main/src/test/java/io/trino/block/TestDictionaryBlock.java @@ -366,7 +366,7 @@ private static DictionaryBlock createDictionaryBlock(Slice[] expectedValues, int private static BlockBuilder createBlockBuilder() { - return new VariableWidthBlockBuilder(null, 100, 1); + return new VariableWidthBlockBuilder(100, 1); } private static void assertDictionaryIds(DictionaryBlock dictionaryBlock, int... expected) diff --git a/core/trino-main/src/test/java/io/trino/block/TestFixed12Block.java b/core/trino-main/src/test/java/io/trino/block/TestFixed12Block.java index 2b925055afd2..0c91050e0484 100644 --- a/core/trino-main/src/test/java/io/trino/block/TestFixed12Block.java +++ b/core/trino-main/src/test/java/io/trino/block/TestFixed12Block.java @@ -48,9 +48,9 @@ public void testCopyPositions() public void testLazyBlockBuilderInitialization() { Slice[] expectedValues = createTestValue(100); - Fixed12BlockBuilder emptyBlockBuilder = new Fixed12BlockBuilder(null, 0); + Fixed12BlockBuilder emptyBlockBuilder = new Fixed12BlockBuilder(0); - Fixed12BlockBuilder blockBuilder = new Fixed12BlockBuilder(null, expectedValues.length); + Fixed12BlockBuilder blockBuilder = new Fixed12BlockBuilder(expectedValues.length); assertThat(blockBuilder.getSizeInBytes()).isEqualTo(emptyBlockBuilder.getSizeInBytes()); assertThat(blockBuilder.getRetainedSizeInBytes()).isEqualTo(emptyBlockBuilder.getRetainedSizeInBytes()); @@ -58,7 +58,7 @@ public void testLazyBlockBuilderInitialization() assertThat(blockBuilder.getSizeInBytes() > emptyBlockBuilder.getSizeInBytes()).isTrue(); assertThat(blockBuilder.getRetainedSizeInBytes() > emptyBlockBuilder.getRetainedSizeInBytes()).isTrue(); - blockBuilder = (Fixed12BlockBuilder) blockBuilder.newBlockBuilderLike(null); + blockBuilder = (Fixed12BlockBuilder) blockBuilder.newBlockBuilderLike(); assertThat(blockBuilder.getSizeInBytes()).isEqualTo(emptyBlockBuilder.getSizeInBytes()); assertThat(blockBuilder.getRetainedSizeInBytes()).isEqualTo(emptyBlockBuilder.getRetainedSizeInBytes()); } @@ -95,7 +95,7 @@ private void assertFixedWithValues(Slice[] expectedValues) private static BlockBuilder createBlockBuilderWithValues(Slice[] expectedValues) { - Fixed12BlockBuilder blockBuilder = new Fixed12BlockBuilder(null, expectedValues.length); + Fixed12BlockBuilder blockBuilder = new Fixed12BlockBuilder(expectedValues.length); writeValues(expectedValues, blockBuilder); return blockBuilder; } diff --git a/core/trino-main/src/test/java/io/trino/block/TestInt128ArrayBlock.java b/core/trino-main/src/test/java/io/trino/block/TestInt128ArrayBlock.java index 78775e8f2e4b..25bcce63b4b2 100644 --- a/core/trino-main/src/test/java/io/trino/block/TestInt128ArrayBlock.java +++ b/core/trino-main/src/test/java/io/trino/block/TestInt128ArrayBlock.java @@ -49,9 +49,9 @@ public void testCopyPositions() public void testLazyBlockBuilderInitialization() { Int128[] expectedValues = createTestValue(100); - BlockBuilder emptyBlockBuilder = new Int128ArrayBlockBuilder(null, 0); + BlockBuilder emptyBlockBuilder = new Int128ArrayBlockBuilder(0); - BlockBuilder blockBuilder = new Int128ArrayBlockBuilder(null, expectedValues.length); + BlockBuilder blockBuilder = new Int128ArrayBlockBuilder(expectedValues.length); assertThat(blockBuilder.getSizeInBytes()).isEqualTo(emptyBlockBuilder.getSizeInBytes()); assertThat(blockBuilder.getRetainedSizeInBytes()).isEqualTo(emptyBlockBuilder.getRetainedSizeInBytes()); @@ -59,7 +59,7 @@ public void testLazyBlockBuilderInitialization() assertThat(blockBuilder.getSizeInBytes() > emptyBlockBuilder.getSizeInBytes()).isTrue(); assertThat(blockBuilder.getRetainedSizeInBytes() > emptyBlockBuilder.getRetainedSizeInBytes()).isTrue(); - blockBuilder = blockBuilder.newBlockBuilderLike(null); + blockBuilder = blockBuilder.newBlockBuilderLike(); assertThat(blockBuilder.getSizeInBytes()).isEqualTo(emptyBlockBuilder.getSizeInBytes()); assertThat(blockBuilder.getRetainedSizeInBytes()).isEqualTo(emptyBlockBuilder.getRetainedSizeInBytes()); } @@ -73,7 +73,7 @@ public void testEstimatedDataSizeForStats() assertThat(block.getEstimatedDataSizeForStats(i)).isEqualTo(Int128.SIZE); } - assertThat(new IntArrayBlockBuilder(null, 22).appendNull().build().getEstimatedDataSizeForStats(0)).isEqualTo(0); + assertThat(new IntArrayBlockBuilder(22).appendNull().build().getEstimatedDataSizeForStats(0)).isEqualTo(0); } @Test @@ -95,7 +95,7 @@ private void assertFixedWithValues(Int128[] expectedValues) private static BlockBuilder createBlockBuilderWithValues(Int128[] expectedValues) { - Int128ArrayBlockBuilder blockBuilder = new Int128ArrayBlockBuilder(null, expectedValues.length); + Int128ArrayBlockBuilder blockBuilder = new Int128ArrayBlockBuilder(expectedValues.length); writeValues(expectedValues, blockBuilder); return blockBuilder; } diff --git a/core/trino-main/src/test/java/io/trino/block/TestIntArrayBlock.java b/core/trino-main/src/test/java/io/trino/block/TestIntArrayBlock.java index aa0a7ec76442..8db17431385f 100644 --- a/core/trino-main/src/test/java/io/trino/block/TestIntArrayBlock.java +++ b/core/trino-main/src/test/java/io/trino/block/TestIntArrayBlock.java @@ -47,9 +47,9 @@ public void testCopyPositions() public void testLazyBlockBuilderInitialization() { Integer[] expectedValues = createTestValue(100); - BlockBuilder emptyBlockBuilder = new IntArrayBlockBuilder(null, 0); + BlockBuilder emptyBlockBuilder = new IntArrayBlockBuilder(0); - IntArrayBlockBuilder blockBuilder = new IntArrayBlockBuilder(null, expectedValues.length); + IntArrayBlockBuilder blockBuilder = new IntArrayBlockBuilder(expectedValues.length); assertThat(blockBuilder.getSizeInBytes()).isEqualTo(emptyBlockBuilder.getSizeInBytes()); assertThat(blockBuilder.getRetainedSizeInBytes()).isEqualTo(emptyBlockBuilder.getRetainedSizeInBytes()); @@ -57,7 +57,7 @@ public void testLazyBlockBuilderInitialization() assertThat(blockBuilder.getSizeInBytes() > emptyBlockBuilder.getSizeInBytes()).isTrue(); assertThat(blockBuilder.getRetainedSizeInBytes() > emptyBlockBuilder.getRetainedSizeInBytes()).isTrue(); - blockBuilder = (IntArrayBlockBuilder) blockBuilder.newBlockBuilderLike(null); + blockBuilder = (IntArrayBlockBuilder) blockBuilder.newBlockBuilderLike(); assertThat(blockBuilder.getSizeInBytes()).isEqualTo(emptyBlockBuilder.getSizeInBytes()); assertThat(blockBuilder.getRetainedSizeInBytes()).isEqualTo(emptyBlockBuilder.getRetainedSizeInBytes()); } @@ -71,7 +71,7 @@ public void testEstimatedDataSizeForStats() assertThat(block.getEstimatedDataSizeForStats(i)).isEqualTo(Integer.BYTES); } - assertThat(new IntArrayBlockBuilder(null, 22).appendNull().build().getEstimatedDataSizeForStats(0)).isEqualTo(0); + assertThat(new IntArrayBlockBuilder(22).appendNull().build().getEstimatedDataSizeForStats(0)).isEqualTo(0); } @Test @@ -93,7 +93,7 @@ private void assertFixedWithValues(Integer[] expectedValues) private static BlockBuilder createBlockBuilderWithValues(Integer[] expectedValues) { - IntArrayBlockBuilder blockBuilder = new IntArrayBlockBuilder(null, expectedValues.length); + IntArrayBlockBuilder blockBuilder = new IntArrayBlockBuilder(expectedValues.length); writeValues(expectedValues, blockBuilder); return blockBuilder; } diff --git a/core/trino-main/src/test/java/io/trino/block/TestLongArrayBlock.java b/core/trino-main/src/test/java/io/trino/block/TestLongArrayBlock.java index 5573ebf011d2..6e2962b7bf28 100644 --- a/core/trino-main/src/test/java/io/trino/block/TestLongArrayBlock.java +++ b/core/trino-main/src/test/java/io/trino/block/TestLongArrayBlock.java @@ -47,9 +47,9 @@ public void testCopyPositions() public void testLazyBlockBuilderInitialization() { Long[] expectedValues = createTestValue(100); - BlockBuilder emptyBlockBuilder = new LongArrayBlockBuilder(null, 0); + BlockBuilder emptyBlockBuilder = new LongArrayBlockBuilder(0); - LongArrayBlockBuilder blockBuilder = new LongArrayBlockBuilder(null, expectedValues.length); + LongArrayBlockBuilder blockBuilder = new LongArrayBlockBuilder(expectedValues.length); assertThat(blockBuilder.getSizeInBytes()).isEqualTo(emptyBlockBuilder.getSizeInBytes()); assertThat(blockBuilder.getRetainedSizeInBytes()).isEqualTo(emptyBlockBuilder.getRetainedSizeInBytes()); @@ -57,7 +57,7 @@ public void testLazyBlockBuilderInitialization() assertThat(blockBuilder.getSizeInBytes() > emptyBlockBuilder.getSizeInBytes()).isTrue(); assertThat(blockBuilder.getRetainedSizeInBytes() > emptyBlockBuilder.getRetainedSizeInBytes()).isTrue(); - blockBuilder = (LongArrayBlockBuilder) blockBuilder.newBlockBuilderLike(null); + blockBuilder = (LongArrayBlockBuilder) blockBuilder.newBlockBuilderLike(); assertThat(blockBuilder.getSizeInBytes()).isEqualTo(emptyBlockBuilder.getSizeInBytes()); assertThat(blockBuilder.getRetainedSizeInBytes()).isEqualTo(emptyBlockBuilder.getRetainedSizeInBytes()); } @@ -71,7 +71,7 @@ public void testEstimatedDataSizeForStats() assertThat(block.getEstimatedDataSizeForStats(i)).isEqualTo(Long.BYTES); } - assertThat(new LongArrayBlockBuilder(null, 22).appendNull().build().getEstimatedDataSizeForStats(0)).isEqualTo(0); + assertThat(new LongArrayBlockBuilder(22).appendNull().build().getEstimatedDataSizeForStats(0)).isEqualTo(0); } @Test @@ -93,7 +93,7 @@ private void assertFixedWithValues(Long[] expectedValues) private static BlockBuilder createBlockBuilderWithValues(Long[] expectedValues) { - LongArrayBlockBuilder blockBuilder = new LongArrayBlockBuilder(null, expectedValues.length); + LongArrayBlockBuilder blockBuilder = new LongArrayBlockBuilder(expectedValues.length); writeValues(expectedValues, blockBuilder); return blockBuilder; } diff --git a/core/trino-main/src/test/java/io/trino/block/TestMapBlock.java b/core/trino-main/src/test/java/io/trino/block/TestMapBlock.java index d02e355f9e57..34ef1837c547 100644 --- a/core/trino-main/src/test/java/io/trino/block/TestMapBlock.java +++ b/core/trino-main/src/test/java/io/trino/block/TestMapBlock.java @@ -227,7 +227,7 @@ private void testWith(Map[] expectedValues) private BlockBuilder createBlockBuilderWithValues(Map[] maps) { MapType mapType = mapType(VARCHAR, BIGINT); - MapBlockBuilder mapBlockBuilder = mapType.createBlockBuilder(null, 1); + MapBlockBuilder mapBlockBuilder = mapType.createBlockBuilder(1); for (Map map : maps) { createBlockBuilderWithValues(map, mapBlockBuilder); } @@ -338,7 +338,7 @@ protected void assertPositionValue(Block mapBlock, int position, T expectedV public void testStrict() { MapType mapType = mapType(BIGINT, BIGINT); - MapBlockBuilder mapBlockBuilder = mapType.createBlockBuilder(null, 1); + MapBlockBuilder mapBlockBuilder = mapType.createBlockBuilder(1); mapBlockBuilder.strict(); // Add 100 maps with only one entry but the same key diff --git a/core/trino-main/src/test/java/io/trino/block/TestRowBlock.java b/core/trino-main/src/test/java/io/trino/block/TestRowBlock.java index 0ba5aa7f7e84..bb760ba32107 100644 --- a/core/trino-main/src/test/java/io/trino/block/TestRowBlock.java +++ b/core/trino-main/src/test/java/io/trino/block/TestRowBlock.java @@ -124,7 +124,7 @@ public void testCopyWithAppendedNull() assertThat(appendedBlock.isNull(appendedBlock.getPositionCount() - 1)).isTrue(); // Test with existing nulls - create block with nulls manually - RowBlockBuilder builderWithNulls = new RowBlockBuilder(fieldTypes, null, 3); + RowBlockBuilder builderWithNulls = new RowBlockBuilder(fieldTypes, 3); builderWithNulls.buildEntry(fieldBuilders -> { VARCHAR.writeString(fieldBuilders.get(0), "test1"); BIGINT.writeLong(fieldBuilders.get(1), 42); @@ -286,7 +286,7 @@ private void testWith(List fieldTypes, List[] expectedValues) private BlockBuilder createBlockBuilderWithValues(List fieldTypes, List[] rows) { - RowBlockBuilder rowBlockBuilder = new RowBlockBuilder(fieldTypes, null, 1); + RowBlockBuilder rowBlockBuilder = new RowBlockBuilder(fieldTypes, 1); for (List row : rows) { if (row == null) { rowBlockBuilder.appendNull(); diff --git a/core/trino-main/src/test/java/io/trino/block/TestRunLengthEncodedBlock.java b/core/trino-main/src/test/java/io/trino/block/TestRunLengthEncodedBlock.java index a55d6692168f..999bef8bd7eb 100644 --- a/core/trino-main/src/test/java/io/trino/block/TestRunLengthEncodedBlock.java +++ b/core/trino-main/src/test/java/io/trino/block/TestRunLengthEncodedBlock.java @@ -51,41 +51,41 @@ private void assertRleBlock(int positionCount) private static Block createSingleValueBlock(Slice expectedValue) { - VariableWidthBlockBuilder blockBuilder = new VariableWidthBlockBuilder(null, 1, expectedValue.length()); + VariableWidthBlockBuilder blockBuilder = new VariableWidthBlockBuilder(1, expectedValue.length()); blockBuilder.writeEntry(expectedValue); return blockBuilder.build(); } private static BlockBuilder createBlockBuilder() { - return new VariableWidthBlockBuilder(null, 1, 1); + return new VariableWidthBlockBuilder(1, 1); } @Test public void testBuildingFromLongArrayBlockBuilder() { - LongArrayBlockBuilder blockBuilder = new LongArrayBlockBuilder(null, 100); + LongArrayBlockBuilder blockBuilder = new LongArrayBlockBuilder(100); populateNullValues(blockBuilder, 100); } @Test public void testBuildingFromIntArrayBlockBuilder() { - IntArrayBlockBuilder blockBuilder = new IntArrayBlockBuilder(null, 100); + IntArrayBlockBuilder blockBuilder = new IntArrayBlockBuilder(100); populateNullValues(blockBuilder, 100); } @Test public void testBuildingFromShortArrayBlockBuilder() { - ShortArrayBlockBuilder blockBuilder = new ShortArrayBlockBuilder(null, 100); + ShortArrayBlockBuilder blockBuilder = new ShortArrayBlockBuilder(100); populateNullValues(blockBuilder, 100); } @Test public void testBuildingFromByteArrayBlockBuilder() { - ByteArrayBlockBuilder blockBuilder = new ByteArrayBlockBuilder(null, 100); + ByteArrayBlockBuilder blockBuilder = new ByteArrayBlockBuilder(100); populateNullValues(blockBuilder, 100); } diff --git a/core/trino-main/src/test/java/io/trino/block/TestShortArrayBlock.java b/core/trino-main/src/test/java/io/trino/block/TestShortArrayBlock.java index a321be82d2d2..c3dc18ec48ac 100644 --- a/core/trino-main/src/test/java/io/trino/block/TestShortArrayBlock.java +++ b/core/trino-main/src/test/java/io/trino/block/TestShortArrayBlock.java @@ -47,9 +47,9 @@ public void testCopyPositions() public void testLazyBlockBuilderInitialization() { Short[] expectedValues = createTestValue(100); - ShortArrayBlockBuilder emptyBlockBuilder = new ShortArrayBlockBuilder(null, 0); + ShortArrayBlockBuilder emptyBlockBuilder = new ShortArrayBlockBuilder(0); - ShortArrayBlockBuilder blockBuilder = new ShortArrayBlockBuilder(null, expectedValues.length); + ShortArrayBlockBuilder blockBuilder = new ShortArrayBlockBuilder(expectedValues.length); assertThat(blockBuilder.getSizeInBytes()).isEqualTo(emptyBlockBuilder.getSizeInBytes()); assertThat(blockBuilder.getRetainedSizeInBytes()).isEqualTo(emptyBlockBuilder.getRetainedSizeInBytes()); @@ -57,7 +57,7 @@ public void testLazyBlockBuilderInitialization() assertThat(blockBuilder.getSizeInBytes() > emptyBlockBuilder.getSizeInBytes()).isTrue(); assertThat(blockBuilder.getRetainedSizeInBytes() > emptyBlockBuilder.getRetainedSizeInBytes()).isTrue(); - blockBuilder = (ShortArrayBlockBuilder) blockBuilder.newBlockBuilderLike(null); + blockBuilder = (ShortArrayBlockBuilder) blockBuilder.newBlockBuilderLike(); assertThat(blockBuilder.getSizeInBytes()).isEqualTo(emptyBlockBuilder.getSizeInBytes()); assertThat(blockBuilder.getRetainedSizeInBytes()).isEqualTo(emptyBlockBuilder.getRetainedSizeInBytes()); } @@ -71,7 +71,7 @@ public void testEstimatedDataSizeForStats() assertThat(block.getEstimatedDataSizeForStats(i)).isEqualTo(Short.BYTES); } - assertThat(new ShortArrayBlockBuilder(null, 22).appendNull().build().getEstimatedDataSizeForStats(0)).isEqualTo(0); + assertThat(new ShortArrayBlockBuilder(22).appendNull().build().getEstimatedDataSizeForStats(0)).isEqualTo(0); } @Test @@ -93,7 +93,7 @@ private void assertFixedWithValues(Short[] expectedValues) private static BlockBuilder createBlockBuilderWithValues(Short[] expectedValues) { - ShortArrayBlockBuilder blockBuilder = new ShortArrayBlockBuilder(null, expectedValues.length); + ShortArrayBlockBuilder blockBuilder = new ShortArrayBlockBuilder(expectedValues.length); writeValues(expectedValues, blockBuilder); return blockBuilder; } diff --git a/core/trino-main/src/test/java/io/trino/block/TestVariableWidthBlock.java b/core/trino-main/src/test/java/io/trino/block/TestVariableWidthBlock.java index 40fb4826bf73..9f4f63cd6d85 100644 --- a/core/trino-main/src/test/java/io/trino/block/TestVariableWidthBlock.java +++ b/core/trino-main/src/test/java/io/trino/block/TestVariableWidthBlock.java @@ -68,9 +68,9 @@ public void testCopyPositions() public void testLazyBlockBuilderInitialization() { Slice[] expectedValues = createExpectedValues(100); - BlockBuilder emptyBlockBuilder = new VariableWidthBlockBuilder(null, 0, 0); + BlockBuilder emptyBlockBuilder = new VariableWidthBlockBuilder(0, 0); - BlockBuilder blockBuilder = new VariableWidthBlockBuilder(null, expectedValues.length, 32 * expectedValues.length); + BlockBuilder blockBuilder = new VariableWidthBlockBuilder(expectedValues.length, 32 * expectedValues.length); assertThat(blockBuilder.getSizeInBytes()).isEqualTo(emptyBlockBuilder.getSizeInBytes()); assertThat(blockBuilder.getRetainedSizeInBytes()).isEqualTo(emptyBlockBuilder.getRetainedSizeInBytes()); @@ -78,7 +78,7 @@ public void testLazyBlockBuilderInitialization() assertThat(blockBuilder.getSizeInBytes() > emptyBlockBuilder.getSizeInBytes()).isTrue(); assertThat(blockBuilder.getRetainedSizeInBytes() > emptyBlockBuilder.getRetainedSizeInBytes()).isTrue(); - blockBuilder = blockBuilder.newBlockBuilderLike(null); + blockBuilder = blockBuilder.newBlockBuilderLike(); assertThat(blockBuilder.getSizeInBytes()).isEqualTo(emptyBlockBuilder.getSizeInBytes()); assertThat(blockBuilder.getRetainedSizeInBytes()).isEqualTo(emptyBlockBuilder.getRetainedSizeInBytes()); } @@ -88,7 +88,7 @@ public void testGetSizeInBytes() { int numEntries = 1000; VarcharType unboundedVarcharType = createUnboundedVarcharType(); - VariableWidthBlockBuilder blockBuilder = new VariableWidthBlockBuilder(null, numEntries, 20 * numEntries); + VariableWidthBlockBuilder blockBuilder = new VariableWidthBlockBuilder(numEntries, 20 * numEntries); for (int i = 0; i < numEntries; i++) { unboundedVarcharType.writeString(blockBuilder, String.valueOf(ThreadLocalRandom.current().nextLong())); } @@ -148,7 +148,7 @@ private void assertVariableWithValues(Slice[] expectedValues) private static BlockBuilder createBlockBuilderWithValues(Slice[] expectedValues) { - BlockBuilder blockBuilder = new VariableWidthBlockBuilder(null, expectedValues.length, 32 * expectedValues.length); + BlockBuilder blockBuilder = new VariableWidthBlockBuilder(expectedValues.length, 32 * expectedValues.length); return writeValues(expectedValues, blockBuilder); } diff --git a/core/trino-main/src/test/java/io/trino/execution/TestPageSplitterUtil.java b/core/trino-main/src/test/java/io/trino/execution/TestPageSplitterUtil.java index bcfa8360c44a..adefe8092de3 100644 --- a/core/trino-main/src/test/java/io/trino/execution/TestPageSplitterUtil.java +++ b/core/trino-main/src/test/java/io/trino/execution/TestPageSplitterUtil.java @@ -79,7 +79,7 @@ public void testSplitPageNonDecreasingPageSize() List types = ImmutableList.of(VARCHAR); Slice expectedValue = wrappedBuffer("test".getBytes(UTF_8)); - VariableWidthBlockBuilder blockBuilder = VARCHAR.createBlockBuilder(null, 1, expectedValue.length()); + VariableWidthBlockBuilder blockBuilder = VARCHAR.createBlockBuilder(1, expectedValue.length()); blockBuilder.writeEntry(expectedValue); Block rleBlock = RunLengthEncodedBlock.create(blockBuilder.build(), positionCount); Page initialPage = new Page(rleBlock); diff --git a/core/trino-main/src/test/java/io/trino/execution/buffer/TestPagesSerde.java b/core/trino-main/src/test/java/io/trino/execution/buffer/TestPagesSerde.java index c2633ffb92a0..144f5dfa7b8a 100644 --- a/core/trino-main/src/test/java/io/trino/execution/buffer/TestPagesSerde.java +++ b/core/trino-main/src/test/java/io/trino/execution/buffer/TestPagesSerde.java @@ -206,7 +206,7 @@ public void testBigintSerializedSize() @Test public void testVarcharSerializedSize() { - BlockBuilder builder = VARCHAR.createBlockBuilder(null, 5); + BlockBuilder builder = VARCHAR.createBlockBuilder(5); // empty page Page page = new Page(builder.build()); diff --git a/core/trino-main/src/test/java/io/trino/metadata/TestInternalBlockEncodingSerde.java b/core/trino-main/src/test/java/io/trino/metadata/TestInternalBlockEncodingSerde.java index 72b652df3954..6b6b9e9cfa3b 100644 --- a/core/trino-main/src/test/java/io/trino/metadata/TestInternalBlockEncodingSerde.java +++ b/core/trino-main/src/test/java/io/trino/metadata/TestInternalBlockEncodingSerde.java @@ -42,7 +42,7 @@ public class TestInternalBlockEncodingSerde @Test public void blockRoundTrip() { - BlockBuilder blockBuilder = VARCHAR.createBlockBuilder(null, 2); + BlockBuilder blockBuilder = VARCHAR.createBlockBuilder(2); VARCHAR.writeSlice(blockBuilder, Slices.utf8Slice("hello")); VARCHAR.writeSlice(blockBuilder, Slices.utf8Slice("world")); diff --git a/core/trino-main/src/test/java/io/trino/operator/BenchmarkGroupByHashOnSimulatedData.java b/core/trino-main/src/test/java/io/trino/operator/BenchmarkGroupByHashOnSimulatedData.java index d04391f05933..b1dca3a54b4e 100644 --- a/core/trino-main/src/test/java/io/trino/operator/BenchmarkGroupByHashOnSimulatedData.java +++ b/core/trino-main/src/test/java/io/trino/operator/BenchmarkGroupByHashOnSimulatedData.java @@ -553,7 +553,7 @@ private void createNonDictionaryBlock(int blockCount, int positionsPerBlock, int Block allValues = generateValues(channel, distinctValuesCountInColumn).build(); Random r = new Random(channel); for (int i = 0; i < blockCount; i++) { - BlockBuilder block = columnType.getType().createBlockBuilder(null, positionsPerBlock); + BlockBuilder block = columnType.getType().createBlockBuilder(positionsPerBlock); for (int j = 0; j < positionsPerBlock; j++) { if (isNull(r, nullChance)) { block.appendNull(); @@ -569,7 +569,7 @@ private void createNonDictionaryBlock(int blockCount, int positionsPerBlock, int private BlockBuilder generateValues(int channel, int distinctValueCount) { - BlockBuilder allValues = columnType.getType().createBlockBuilder(null, distinctValueCount); + BlockBuilder allValues = columnType.getType().createBlockBuilder(distinctValueCount); columnType.getBlockWriter().write(allValues, distinctValueCount, channel); return allValues; } diff --git a/core/trino-main/src/test/java/io/trino/operator/BenchmarkHashAndStreamingAggregationOperators.java b/core/trino-main/src/test/java/io/trino/operator/BenchmarkHashAndStreamingAggregationOperators.java index b320bc537c5c..7c143ebb6aa0 100644 --- a/core/trino-main/src/test/java/io/trino/operator/BenchmarkHashAndStreamingAggregationOperators.java +++ b/core/trino-main/src/test/java/io/trino/operator/BenchmarkHashAndStreamingAggregationOperators.java @@ -148,7 +148,7 @@ public void setup() .build()); for (int i = 0; i < TOTAL_PAGES; i++) { BlockBuilder bigintBlockBuilder = BIGINT.createFixedSizeBlockBuilder(ROWS_PER_PAGE); - BlockBuilder varcharBlockBuilder = VARCHAR.createBlockBuilder(null, ROWS_PER_PAGE); + BlockBuilder varcharBlockBuilder = VARCHAR.createBlockBuilder(ROWS_PER_PAGE); BlockBuilder doubleBlockBuilder = DOUBLE.createFixedSizeBlockBuilder(ROWS_PER_PAGE); for (int j = 0; j < groupsPerPage; j++) { diff --git a/core/trino-main/src/test/java/io/trino/operator/TestFlatHashStrategy.java b/core/trino-main/src/test/java/io/trino/operator/TestFlatHashStrategy.java index 0ff7e50905d0..72f38fcd3775 100644 --- a/core/trino-main/src/test/java/io/trino/operator/TestFlatHashStrategy.java +++ b/core/trino-main/src/test/java/io/trino/operator/TestFlatHashStrategy.java @@ -89,7 +89,7 @@ void test() assertThat(flatHashStrategy.valueIdentical(fixedChunk, FIXED_CHUNK_OFFSET, variableChunk, VARIABLE_CHUNK_OFFSET, blocks, position)).isTrue(); assertThat(flatHashStrategy.valueIdentical(fixedChunk, FIXED_CHUNK_OFFSET, variableChunk, VARIABLE_CHUNK_OFFSET, blocks, 3)).isFalse(); - BlockBuilder[] blockBuilders = types.stream().map(type -> type.createBlockBuilder(null, 1)).toArray(BlockBuilder[]::new); + BlockBuilder[] blockBuilders = types.stream().map(type -> type.createBlockBuilder(1)).toArray(BlockBuilder[]::new); flatHashStrategy.readFlat(fixedChunk, FIXED_CHUNK_OFFSET, variableChunk, VARIABLE_CHUNK_OFFSET, blockBuilders); List output = Arrays.stream(blockBuilders).map(BlockBuilder::build).toList(); Page actualPage = new Page(output.toArray(Block[]::new)); diff --git a/core/trino-main/src/test/java/io/trino/operator/TestFlatHashStrategyCompiler.java b/core/trino-main/src/test/java/io/trino/operator/TestFlatHashStrategyCompiler.java index ce8dbf86bd6d..14b5b1fd1041 100644 --- a/core/trino-main/src/test/java/io/trino/operator/TestFlatHashStrategyCompiler.java +++ b/core/trino-main/src/test/java/io/trino/operator/TestFlatHashStrategyCompiler.java @@ -84,7 +84,7 @@ private static void testFixedWidthColumns(int columns) private static Block[] createVariableWidthTestColumns(int columns) { Block nonNullBlock = createStringsBlock("test string"); - Block nullsBlock = VARCHAR.createBlockBuilder(null, 1).appendNull().buildValueBlock(); + Block nullsBlock = VARCHAR.createBlockBuilder(1).appendNull().buildValueBlock(); Block[] blocks = new Block[columns]; for (int i = 0; i < columns; i++) { blocks[i] = i % 2 == 0 ? nullsBlock : nonNullBlock; @@ -95,7 +95,7 @@ private static Block[] createVariableWidthTestColumns(int columns) private static Block[] createFixedWidthTestColumns(int columns) { Block nonNullBlock = createLongsBlock((long) Integer.MAX_VALUE + 1); - Block nullsBlock = BIGINT.createBlockBuilder(null, 1).appendNull().buildValueBlock(); + Block nullsBlock = BIGINT.createBlockBuilder(1).appendNull().buildValueBlock(); Block[] blocks = new Block[columns]; for (int i = 0; i < columns; i++) { blocks[i] = i % 2 == 0 ? nullsBlock : nonNullBlock; diff --git a/core/trino-main/src/test/java/io/trino/operator/TestHashAggregationOperator.java b/core/trino-main/src/test/java/io/trino/operator/TestHashAggregationOperator.java index 722ecced7f3e..d13dc9eeb49e 100644 --- a/core/trino-main/src/test/java/io/trino/operator/TestHashAggregationOperator.java +++ b/core/trino-main/src/test/java/io/trino/operator/TestHashAggregationOperator.java @@ -364,7 +364,7 @@ private void testHashBuilderResize(boolean spillEnabled, boolean revokeMemoryWhe { DummySpillerFactory spillerFactory = new DummySpillerFactory(); - BlockBuilder builder = VARCHAR.createBlockBuilder(null, 1, MAX_BLOCK_SIZE_IN_BYTES); + BlockBuilder builder = VARCHAR.createBlockBuilder(1, MAX_BLOCK_SIZE_IN_BYTES); VARCHAR.writeSlice(builder, Slices.allocate(200_000)); // this must be larger than MAX_BLOCK_SIZE_IN_BYTES, 64K builder.build(); @@ -446,7 +446,7 @@ public void testMemoryReservationYield(Type type) public void testHashBuilderResizeLimit() { assertThatThrownBy(() -> { - BlockBuilder builder = VARCHAR.createBlockBuilder(null, 1, MAX_BLOCK_SIZE_IN_BYTES); + BlockBuilder builder = VARCHAR.createBlockBuilder(1, MAX_BLOCK_SIZE_IN_BYTES); VARCHAR.writeSlice(builder, Slices.allocate(5_000_000)); // this must be larger than MAX_BLOCK_SIZE_IN_BYTES, 64K builder.build(); diff --git a/core/trino-main/src/test/java/io/trino/operator/TestRealAverageAggregation.java b/core/trino-main/src/test/java/io/trino/operator/TestRealAverageAggregation.java index c0d430718cbf..016277786e5d 100644 --- a/core/trino-main/src/test/java/io/trino/operator/TestRealAverageAggregation.java +++ b/core/trino-main/src/test/java/io/trino/operator/TestRealAverageAggregation.java @@ -190,7 +190,7 @@ public void testSlidingWindowForNaNAndInfinity() oldWidth = width; Type outputType = resolvedFunction.signature().getReturnType(); - BlockBuilder blockBuilder = outputType.createBlockBuilder(null, 1000); + BlockBuilder blockBuilder = outputType.createBlockBuilder(1000); aggregation.output(blockBuilder); Block block = blockBuilder.build(); @@ -230,7 +230,7 @@ public void testSlidingWindowForNaNAndInfinity() oldWidth = width; Type outputType = resolvedFunction.signature().getReturnType(); - BlockBuilder blockBuilder = outputType.createBlockBuilder(null, 1000); + BlockBuilder blockBuilder = outputType.createBlockBuilder(1000); aggregation2.output(blockBuilder); Block block = blockBuilder.build(); diff --git a/core/trino-main/src/test/java/io/trino/operator/TestTableFinishOperator.java b/core/trino-main/src/test/java/io/trino/operator/TestTableFinishOperator.java index eac368d8ecfe..d6ae345f48af 100644 --- a/core/trino-main/src/test/java/io/trino/operator/TestTableFinishOperator.java +++ b/core/trino-main/src/test/java/io/trino/operator/TestTableFinishOperator.java @@ -157,7 +157,7 @@ public void testStatisticsAggregation() assertThat(tableFinisher.getComputedStatistics()).hasSize(1); assertThat(getOnlyElement(tableFinisher.getComputedStatistics()).getColumnStatistics()).hasSize(1); - LongArrayBlockBuilder expectedStatistics = new LongArrayBlockBuilder(null, 1); + LongArrayBlockBuilder expectedStatistics = new LongArrayBlockBuilder(1); BIGINT.writeLong(expectedStatistics, 7); assertBlockEquals(BIGINT, getOnlyElement(tableFinisher.getComputedStatistics()).getColumnStatistics().get(statisticMetadata), expectedStatistics.build()); diff --git a/core/trino-main/src/test/java/io/trino/operator/aggregation/AbstractTestAggregationFunction.java b/core/trino-main/src/test/java/io/trino/operator/aggregation/AbstractTestAggregationFunction.java index 36693de870ba..9730e395d175 100644 --- a/core/trino-main/src/test/java/io/trino/operator/aggregation/AbstractTestAggregationFunction.java +++ b/core/trino-main/src/test/java/io/trino/operator/aggregation/AbstractTestAggregationFunction.java @@ -174,7 +174,7 @@ public void testSlidingWindow() oldWidth = width; Type outputType = resolvedFunction.signature().getReturnType(); - BlockBuilder blockBuilder = outputType.createBlockBuilder(null, 1000); + BlockBuilder blockBuilder = outputType.createBlockBuilder(1000); aggregation.output(blockBuilder); Block block = blockBuilder.build(); @@ -201,7 +201,7 @@ protected static Block[] createAlternatingNullsBlock(List types, Block... Block block = sequenceBlocks[i]; int positionCount = block.getPositionCount(); Type type = types.get(i); - BlockBuilder blockBuilder = type.createBlockBuilder(null, positionCount); + BlockBuilder blockBuilder = type.createBlockBuilder(positionCount); for (int position = 0; position < positionCount; position++) { // append null blockBuilder.appendNull(); diff --git a/core/trino-main/src/test/java/io/trino/operator/aggregation/AbstractTestApproximateCountDistinct.java b/core/trino-main/src/test/java/io/trino/operator/aggregation/AbstractTestApproximateCountDistinct.java index 1f8419a3364d..9f1e4315d8d5 100644 --- a/core/trino-main/src/test/java/io/trino/operator/aggregation/AbstractTestApproximateCountDistinct.java +++ b/core/trino-main/src/test/java/io/trino/operator/aggregation/AbstractTestApproximateCountDistinct.java @@ -183,7 +183,7 @@ private Page createPage(List values, double maxStandardError) */ private static Block createBlock(Type type, List values) { - BlockBuilder blockBuilder = type.createBlockBuilder(null, values.size()); + BlockBuilder blockBuilder = type.createBlockBuilder(values.size()); for (Object value : values) { Class javaType = type.getJavaType(); diff --git a/core/trino-main/src/test/java/io/trino/operator/aggregation/AbstractTestApproximateSetGeneric.java b/core/trino-main/src/test/java/io/trino/operator/aggregation/AbstractTestApproximateSetGeneric.java index ce9c1a2d91d3..b85fc9f84728 100644 --- a/core/trino-main/src/test/java/io/trino/operator/aggregation/AbstractTestApproximateSetGeneric.java +++ b/core/trino-main/src/test/java/io/trino/operator/aggregation/AbstractTestApproximateSetGeneric.java @@ -195,7 +195,7 @@ private Page createPage(List values) */ private static Block createBlock(Type type, List values) { - BlockBuilder blockBuilder = type.createBlockBuilder(null, values.size()); + BlockBuilder blockBuilder = type.createBlockBuilder(values.size()); for (Object value : values) { Class javaType = type.getJavaType(); diff --git a/core/trino-main/src/test/java/io/trino/operator/aggregation/AggregationTestUtils.java b/core/trino-main/src/test/java/io/trino/operator/aggregation/AggregationTestUtils.java index 35da2f68fec4..961750282f25 100644 --- a/core/trino-main/src/test/java/io/trino/operator/aggregation/AggregationTestUtils.java +++ b/core/trino-main/src/test/java/io/trino/operator/aggregation/AggregationTestUtils.java @@ -103,21 +103,21 @@ else if (positions == 1) { public static Block getIntermediateBlock(Type intermediateType, Aggregator aggregator) { - BlockBuilder blockBuilder = intermediateType.createBlockBuilder(null, 1000); + BlockBuilder blockBuilder = intermediateType.createBlockBuilder(1000); aggregator.evaluate(blockBuilder); return blockBuilder.build(); } public static Block getIntermediateBlock(Type intermediateType, GroupedAggregator aggregator) { - BlockBuilder blockBuilder = intermediateType.createBlockBuilder(null, 1000); + BlockBuilder blockBuilder = intermediateType.createBlockBuilder(1000); aggregator.evaluate(0, blockBuilder); return blockBuilder.build(); } public static Block getFinalBlock(Type finalType, Aggregator aggregator) { - BlockBuilder blockBuilder = finalType.createBlockBuilder(null, 1000); + BlockBuilder blockBuilder = finalType.createBlockBuilder(1000); aggregator.evaluate(blockBuilder); return blockBuilder.build(); } @@ -453,7 +453,7 @@ private static Block createAllNullBlock(int positionCount) public static Object getGroupValue(Type finalType, GroupedAggregator groupedAggregator, int groupId) { - BlockBuilder out = finalType.createBlockBuilder(null, 1); + BlockBuilder out = finalType.createBlockBuilder(1); groupedAggregator.evaluate(groupId, out); return BlockAssertions.getOnlyValue(finalType, out.build()); } diff --git a/core/trino-main/src/test/java/io/trino/operator/aggregation/BenchmarkArrayAggregation.java b/core/trino-main/src/test/java/io/trino/operator/aggregation/BenchmarkArrayAggregation.java index 04842607bf32..c4d1d7142c60 100644 --- a/core/trino-main/src/test/java/io/trino/operator/aggregation/BenchmarkArrayAggregation.java +++ b/core/trino-main/src/test/java/io/trino/operator/aggregation/BenchmarkArrayAggregation.java @@ -106,7 +106,7 @@ public void setup() private static Block createChannel(int arraySize, Type elementType) { - BlockBuilder blockBuilder = elementType.createBlockBuilder(null, arraySize); + BlockBuilder blockBuilder = elementType.createBlockBuilder(arraySize); for (int i = 0; i < arraySize; i++) { if (elementType.getJavaType() == long.class) { elementType.writeLong(blockBuilder, i); diff --git a/core/trino-main/src/test/java/io/trino/operator/aggregation/BenchmarkDecimalAggregation.java b/core/trino-main/src/test/java/io/trino/operator/aggregation/BenchmarkDecimalAggregation.java index 57861641247f..caa5c5f5f0c4 100644 --- a/core/trino-main/src/test/java/io/trino/operator/aggregation/BenchmarkDecimalAggregation.java +++ b/core/trino-main/src/test/java/io/trino/operator/aggregation/BenchmarkDecimalAggregation.java @@ -74,7 +74,7 @@ public Block benchmarkEvaluateIntermediate(BenchmarkData data) { GroupedAggregator aggregator = data.getPartialAggregatorFactory().createGroupedAggregator(new AggregationMetrics()); aggregator.processPage(data.getGroupCount(), data.getGroupIds(), data.getValues()); - BlockBuilder builder = aggregator.getType().createBlockBuilder(null, data.getGroupCount()); + BlockBuilder builder = aggregator.getType().createBlockBuilder(data.getGroupCount()); for (int groupId = 0; groupId < data.getGroupCount(); groupId++) { aggregator.evaluate(groupId, builder); } @@ -88,7 +88,7 @@ public Block benchmarkEvaluateFinal(BenchmarkData data) // Add the intermediate input multiple times to invoke the combine behavior aggregator.processPage(data.getGroupCount(), data.getGroupIds(), data.getIntermediateValues()); aggregator.processPage(data.getGroupCount(), data.getGroupIds(), data.getIntermediateValues()); - BlockBuilder builder = aggregator.getType().createBlockBuilder(null, data.getGroupCount()); + BlockBuilder builder = aggregator.getType().createBlockBuilder(data.getGroupCount()); for (int groupId = 0; groupId < data.getGroupCount(); groupId++) { aggregator.evaluate(groupId, builder); } @@ -145,7 +145,7 @@ public void setup() private Block createIntermediateValues(GroupedAggregator aggregator, int[] groupIds, Page inputPage) { aggregator.processPage(groupCount, groupIds, inputPage); - BlockBuilder builder = aggregator.getType().createBlockBuilder(null, groupCount); + BlockBuilder builder = aggregator.getType().createBlockBuilder(groupCount); for (int groupId = 0; groupId < groupCount; groupId++) { aggregator.evaluate(groupId, builder); } diff --git a/core/trino-main/src/test/java/io/trino/operator/aggregation/TestAccumulatorCompiler.java b/core/trino-main/src/test/java/io/trino/operator/aggregation/TestAccumulatorCompiler.java index 202d33f9bf74..bff7d5b24ae8 100644 --- a/core/trino-main/src/test/java/io/trino/operator/aggregation/TestAccumulatorCompiler.java +++ b/core/trino-main/src/test/java/io/trino/operator/aggregation/TestAccumulatorCompiler.java @@ -128,7 +128,7 @@ private static void assertGenerateAccumulator(Cl WindowAccumulator windowAccumulator = actual.apply(ImmutableList.of()); // call the functions to ensure that the code does not reference the wrong state windowAccumulator.addInput(new TestWindowIndex(), 0, 5); - windowAccumulator.output(new LongArrayBlockBuilder(null, 1)); + windowAccumulator.output(new LongArrayBlockBuilder(1)); TestingAggregationFunction aggregationFunction = new TestingAggregationFunction( ImmutableList.of(TIMESTAMP_PICOS), diff --git a/core/trino-main/src/test/java/io/trino/operator/aggregation/TestApproximatePercentileAggregation.java b/core/trino-main/src/test/java/io/trino/operator/aggregation/TestApproximatePercentileAggregation.java index f003df0f3218..5042d28d9449 100644 --- a/core/trino-main/src/test/java/io/trino/operator/aggregation/TestApproximatePercentileAggregation.java +++ b/core/trino-main/src/test/java/io/trino/operator/aggregation/TestApproximatePercentileAggregation.java @@ -766,7 +766,7 @@ private static Block createRleBlock(double percentile, int positionCount) private static Block createRleBlock(Iterable percentiles, int positionCount) { - ArrayBlockBuilder arrayBuilder = new ArrayType(DOUBLE).createBlockBuilder(null, 1); + ArrayBlockBuilder arrayBuilder = new ArrayType(DOUBLE).createBlockBuilder(1); arrayBuilder.buildEntry(elementBuilder -> { for (double percentile : percentiles) { DOUBLE.writeDouble(elementBuilder, percentile); diff --git a/core/trino-main/src/test/java/io/trino/operator/aggregation/TestArrayAggregation.java b/core/trino-main/src/test/java/io/trino/operator/aggregation/TestArrayAggregation.java index 28a669f44c42..15d89bc4181a 100644 --- a/core/trino-main/src/test/java/io/trino/operator/aggregation/TestArrayAggregation.java +++ b/core/trino-main/src/test/java/io/trino/operator/aggregation/TestArrayAggregation.java @@ -158,7 +158,7 @@ public void testEmptyStateOutputsNull() TestingAggregationFunction bigIntAgg = FUNCTION_RESOLUTION.getAggregateFunction("array_agg", fromTypes(BIGINT)); GroupedAggregator groupedAggregator = bigIntAgg.createAggregatorFactory(SINGLE, ImmutableList.of(), OptionalInt.empty()) .createGroupedAggregator(new AggregationMetrics()); - BlockBuilder blockBuilder = bigIntAgg.getFinalType().createBlockBuilder(null, 1000); + BlockBuilder blockBuilder = bigIntAgg.getFinalType().createBlockBuilder(1000); groupedAggregator.evaluate(0, blockBuilder); assertThat(blockBuilder.build().isNull(0)).isTrue(); diff --git a/core/trino-main/src/test/java/io/trino/operator/aggregation/TestArrayMinAggregation.java b/core/trino-main/src/test/java/io/trino/operator/aggregation/TestArrayMinAggregation.java index ef0c5377d31a..40154bb53898 100644 --- a/core/trino-main/src/test/java/io/trino/operator/aggregation/TestArrayMinAggregation.java +++ b/core/trino-main/src/test/java/io/trino/operator/aggregation/TestArrayMinAggregation.java @@ -31,7 +31,7 @@ public class TestArrayMinAggregation protected Block[] getSequenceBlocks(int start, int length) { ArrayType arrayType = new ArrayType(BIGINT); - BlockBuilder blockBuilder = arrayType.createBlockBuilder(null, length); + BlockBuilder blockBuilder = arrayType.createBlockBuilder(length); for (int i = start; i < start + length; i++) { arrayType.writeObject(blockBuilder, arrayBlockOf(BIGINT, i)); } diff --git a/core/trino-main/src/test/java/io/trino/operator/aggregation/TestDecimalSumAggregation.java b/core/trino-main/src/test/java/io/trino/operator/aggregation/TestDecimalSumAggregation.java index 200b0a2d9ebf..a85f6de10e06 100644 --- a/core/trino-main/src/test/java/io/trino/operator/aggregation/TestDecimalSumAggregation.java +++ b/core/trino-main/src/test/java/io/trino/operator/aggregation/TestDecimalSumAggregation.java @@ -131,7 +131,7 @@ public void testOverflowOnOutput() addToState(state, TWO.pow(126)); assertThat(state.getOverflow()).isEqualTo(1); - assertThatThrownBy(() -> DecimalSumAggregation.outputDecimal(state, new VariableWidthBlockBuilder(null, 10, 100))) + assertThatThrownBy(() -> DecimalSumAggregation.outputDecimal(state, new VariableWidthBlockBuilder(10, 100))) .isInstanceOf(TrinoException.class) .hasMessage("Decimal overflow"); } diff --git a/core/trino-main/src/test/java/io/trino/operator/aggregation/TestDoubleAverageAggregation.java b/core/trino-main/src/test/java/io/trino/operator/aggregation/TestDoubleAverageAggregation.java index 192cddb2b0f4..3113ab51d0cf 100644 --- a/core/trino-main/src/test/java/io/trino/operator/aggregation/TestDoubleAverageAggregation.java +++ b/core/trino-main/src/test/java/io/trino/operator/aggregation/TestDoubleAverageAggregation.java @@ -128,7 +128,7 @@ public void testSlidingWindowForNaNAndInfinity() oldWidth = width; Type outputType = resolvedFunction.signature().getReturnType(); - BlockBuilder blockBuilder = outputType.createBlockBuilder(null, 1000); + BlockBuilder blockBuilder = outputType.createBlockBuilder(1000); aggregation.output(blockBuilder); Block block = blockBuilder.build(); @@ -168,7 +168,7 @@ public void testSlidingWindowForNaNAndInfinity() oldWidth = width; Type outputType = resolvedFunction.signature().getReturnType(); - BlockBuilder blockBuilder = outputType.createBlockBuilder(null, 1000); + BlockBuilder blockBuilder = outputType.createBlockBuilder(1000); aggregation2.output(blockBuilder); Block block = blockBuilder.build(); diff --git a/core/trino-main/src/test/java/io/trino/operator/aggregation/TestDoubleSumAggregation.java b/core/trino-main/src/test/java/io/trino/operator/aggregation/TestDoubleSumAggregation.java index a3017e00a541..262a9b575811 100644 --- a/core/trino-main/src/test/java/io/trino/operator/aggregation/TestDoubleSumAggregation.java +++ b/core/trino-main/src/test/java/io/trino/operator/aggregation/TestDoubleSumAggregation.java @@ -154,7 +154,7 @@ public void testSlidingWindowForNaNAndInfinity() oldWidth = width; Type outputType = resolvedFunction.signature().getReturnType(); - BlockBuilder blockBuilder = outputType.createBlockBuilder(null, 1000); + BlockBuilder blockBuilder = outputType.createBlockBuilder(1000); aggregation.output(blockBuilder); Block block = blockBuilder.build(); @@ -194,7 +194,7 @@ public void testSlidingWindowForNaNAndInfinity() oldWidth = width; Type outputType = resolvedFunction.signature().getReturnType(); - BlockBuilder blockBuilder = outputType.createBlockBuilder(null, 1000); + BlockBuilder blockBuilder = outputType.createBlockBuilder(1000); aggregation2.output(blockBuilder); Block block = blockBuilder.build(); diff --git a/core/trino-main/src/test/java/io/trino/operator/aggregation/TestHistogram.java b/core/trino-main/src/test/java/io/trino/operator/aggregation/TestHistogram.java index d82c10b4ff84..0f7567b7c2c4 100644 --- a/core/trino-main/src/test/java/io/trino/operator/aggregation/TestHistogram.java +++ b/core/trino-main/src/test/java/io/trino/operator/aggregation/TestHistogram.java @@ -189,7 +189,7 @@ public void testMapHistograms() { MapType innerMapType = mapType(VARCHAR, VARCHAR); - BlockBuilder builder = innerMapType.createBlockBuilder(null, 3); + BlockBuilder builder = innerMapType.createBlockBuilder(3); innerMapType.writeObject(builder, sqlMapOf(VARCHAR, VARCHAR, ImmutableMap.of("a", "b"))); innerMapType.writeObject(builder, sqlMapOf(VARCHAR, VARCHAR, ImmutableMap.of("c", "d"))); innerMapType.writeObject(builder, sqlMapOf(VARCHAR, VARCHAR, ImmutableMap.of("e", "f"))); @@ -208,7 +208,7 @@ public void testRowHistograms() RowType innerRowType = RowType.from(ImmutableList.of( RowType.field("f1", BIGINT), RowType.field("f2", DOUBLE))); - BlockBuilder builder = innerRowType.createBlockBuilder(null, 3); + BlockBuilder builder = innerRowType.createBlockBuilder(3); innerRowType.writeObject(builder, toRow(ImmutableList.of(BIGINT, DOUBLE), 1L, 1.0)); innerRowType.writeObject(builder, toRow(ImmutableList.of(BIGINT, DOUBLE), 2L, 2.0)); innerRowType.writeObject(builder, toRow(ImmutableList.of(BIGINT, DOUBLE), 3L, 3.0)); @@ -238,7 +238,7 @@ public void testEmptyHistogramOutputsNull() TestingAggregationFunction function = getInternalDefaultVarCharAggregation(); GroupedAggregator groupedAggregator = function.createAggregatorFactory(SINGLE, Ints.asList(new int[] {}), OptionalInt.empty()) .createGroupedAggregator(new AggregationMetrics()); - BlockBuilder blockBuilder = function.getFinalType().createBlockBuilder(null, 1000); + BlockBuilder blockBuilder = function.getFinalType().createBlockBuilder(1000); groupedAggregator.evaluate(0, blockBuilder); assertThat(blockBuilder.build().isNull(0)).isTrue(); diff --git a/core/trino-main/src/test/java/io/trino/operator/aggregation/TestMapAggAggregation.java b/core/trino-main/src/test/java/io/trino/operator/aggregation/TestMapAggAggregation.java index c24c380ba357..72e904f8a8e7 100644 --- a/core/trino-main/src/test/java/io/trino/operator/aggregation/TestMapAggAggregation.java +++ b/core/trino-main/src/test/java/io/trino/operator/aggregation/TestMapAggAggregation.java @@ -145,7 +145,7 @@ public void testDoubleMapMap() { MapType innerMapType = mapType(VARCHAR, VARCHAR); - BlockBuilder builder = innerMapType.createBlockBuilder(null, 3); + BlockBuilder builder = innerMapType.createBlockBuilder(3); innerMapType.writeObject(builder, sqlMapOf(VARCHAR, VARCHAR, ImmutableMap.of("a", "b"))); innerMapType.writeObject(builder, sqlMapOf(VARCHAR, VARCHAR, ImmutableMap.of("c", "d"))); innerMapType.writeObject(builder, sqlMapOf(VARCHAR, VARCHAR, ImmutableMap.of("e", "f"))); @@ -168,7 +168,7 @@ public void testDoubleRowMap() RowType.field("f1", INTEGER), RowType.field("f2", DOUBLE))); - BlockBuilder builder = innerRowType.createBlockBuilder(null, 3); + BlockBuilder builder = innerRowType.createBlockBuilder(3); innerRowType.writeObject(builder, toRow(ImmutableList.of(INTEGER, DOUBLE), 1L, 1.0)); innerRowType.writeObject(builder, toRow(ImmutableList.of(INTEGER, DOUBLE), 2L, 2.0)); innerRowType.writeObject(builder, toRow(ImmutableList.of(INTEGER, DOUBLE), 3L, 3.0)); diff --git a/core/trino-main/src/test/java/io/trino/operator/aggregation/TestMergeHyperLogLogAggregation.java b/core/trino-main/src/test/java/io/trino/operator/aggregation/TestMergeHyperLogLogAggregation.java index 760d5d122efd..fecee42617db 100644 --- a/core/trino-main/src/test/java/io/trino/operator/aggregation/TestMergeHyperLogLogAggregation.java +++ b/core/trino-main/src/test/java/io/trino/operator/aggregation/TestMergeHyperLogLogAggregation.java @@ -34,7 +34,7 @@ public class TestMergeHyperLogLogAggregation @Override protected Block[] getSequenceBlocks(int start, int length) { - BlockBuilder blockBuilder = HYPER_LOG_LOG.createBlockBuilder(null, length); + BlockBuilder blockBuilder = HYPER_LOG_LOG.createBlockBuilder(length); for (int i = start; i < start + length; i++) { HyperLogLog hll = HyperLogLog.newInstance(NUMBER_OF_BUCKETS); hll.add(i); diff --git a/core/trino-main/src/test/java/io/trino/operator/aggregation/TestMergeQuantileDigestFunction.java b/core/trino-main/src/test/java/io/trino/operator/aggregation/TestMergeQuantileDigestFunction.java index 6a90d3ac5b9d..bd3cc89cf058 100644 --- a/core/trino-main/src/test/java/io/trino/operator/aggregation/TestMergeQuantileDigestFunction.java +++ b/core/trino-main/src/test/java/io/trino/operator/aggregation/TestMergeQuantileDigestFunction.java @@ -58,7 +58,7 @@ public class TestMergeQuantileDigestFunction protected Block[] getSequenceBlocks(int start, int length) { Type type = functionResolution.getPlannerContext().getTypeManager().getType(new TypeSignature(QDIGEST.getName(), TypeSignatureParameter.typeParameter(DOUBLE.getTypeSignature()))); - BlockBuilder blockBuilder = type.createBlockBuilder(null, length); + BlockBuilder blockBuilder = type.createBlockBuilder(length); for (int i = start; i < start + length; i++) { QuantileDigest qdigest = new QuantileDigest(0.0); qdigest.add(i); diff --git a/core/trino-main/src/test/java/io/trino/operator/aggregation/TestMergeTDigestAggregation.java b/core/trino-main/src/test/java/io/trino/operator/aggregation/TestMergeTDigestAggregation.java index 5b6e17af069e..a0d87726b06e 100644 --- a/core/trino-main/src/test/java/io/trino/operator/aggregation/TestMergeTDigestAggregation.java +++ b/core/trino-main/src/test/java/io/trino/operator/aggregation/TestMergeTDigestAggregation.java @@ -30,7 +30,7 @@ public class TestMergeTDigestAggregation @Override protected Block[] getSequenceBlocks(int start, int length) { - BlockBuilder blockBuilder = TDIGEST.createBlockBuilder(null, length); + BlockBuilder blockBuilder = TDIGEST.createBlockBuilder(length); for (int i = start; i < start + length; i++) { TDigest tdigest = new TDigest(); tdigest.add(i); diff --git a/core/trino-main/src/test/java/io/trino/operator/aggregation/TestMultimapAggAggregation.java b/core/trino-main/src/test/java/io/trino/operator/aggregation/TestMultimapAggAggregation.java index ef8a843a1bfc..7d9f4b4209e8 100644 --- a/core/trino-main/src/test/java/io/trino/operator/aggregation/TestMultimapAggAggregation.java +++ b/core/trino-main/src/test/java/io/trino/operator/aggregation/TestMultimapAggAggregation.java @@ -177,7 +177,7 @@ public void testEmptyStateOutputIsNull() TestingAggregationFunction aggregationFunction = getAggregationFunction(BIGINT, BIGINT); GroupedAggregator groupedAggregator = aggregationFunction.createAggregatorFactory(SINGLE, Ints.asList(), OptionalInt.empty()) .createGroupedAggregator(new AggregationMetrics()); - BlockBuilder blockBuilder = aggregationFunction.getFinalType().createBlockBuilder(null, 1); + BlockBuilder blockBuilder = aggregationFunction.getFinalType().createBlockBuilder(1); groupedAggregator.evaluate(0, blockBuilder); assertThat(blockBuilder.build().isNull(0)).isTrue(); } diff --git a/core/trino-main/src/test/java/io/trino/operator/aggregation/TestTypedHistogram.java b/core/trino-main/src/test/java/io/trino/operator/aggregation/TestTypedHistogram.java index 833f7256f857..13c0fb6d1e98 100644 --- a/core/trino-main/src/test/java/io/trino/operator/aggregation/TestTypedHistogram.java +++ b/core/trino-main/src/test/java/io/trino/operator/aggregation/TestTypedHistogram.java @@ -54,7 +54,7 @@ public void testMassive() private static void testMassive(boolean grouped, Type type, ObjIntConsumer writeData) { - BlockBuilder inputBlockBuilder = type.createBlockBuilder(null, 5000); + BlockBuilder inputBlockBuilder = type.createBlockBuilder(5000); IntStream.range(1, 2000) .flatMap(value -> IntStream.iterate(value, IntUnaryOperator.identity()).limit(value)) .forEach(value -> writeData.accept(inputBlockBuilder, value)); @@ -79,11 +79,11 @@ private static void testMassive(boolean grouped, Type type, ObjIntConsumer IntStream.range(1, 2000) .forEach(value -> { writeData.accept(keyBuilder, value); @@ -94,7 +94,7 @@ private static void testMassive(boolean grouped, Type type, ObjIntConsumer createEqualAssertion(Object expectedVa private static Object getGroupValue(Type finalType, GroupedAggregator groupedAggregator, int groupId) { - BlockBuilder out = finalType.createBlockBuilder(null, 1); + BlockBuilder out = finalType.createBlockBuilder(1); groupedAggregator.evaluate(groupId, out); return BlockAssertions.getOnlyValue(finalType, out.build()); } diff --git a/core/trino-main/src/test/java/io/trino/operator/aggregation/listagg/TestListaggAggregationFunction.java b/core/trino-main/src/test/java/io/trino/operator/aggregation/listagg/TestListaggAggregationFunction.java index a6e1fc29dcd8..ac1ba4457a2e 100644 --- a/core/trino-main/src/test/java/io/trino/operator/aggregation/listagg/TestListaggAggregationFunction.java +++ b/core/trino-main/src/test/java/io/trino/operator/aggregation/listagg/TestListaggAggregationFunction.java @@ -58,7 +58,7 @@ public void testInputEmptyState() overflowFiller, true); - VariableWidthBlockBuilder blockBuilder = VARCHAR.createBlockBuilder(null, 1); + VariableWidthBlockBuilder blockBuilder = VARCHAR.createBlockBuilder(1); state.write(blockBuilder); String result = VARCHAR.getSlice(blockBuilder.build(), 0).toString(StandardCharsets.UTF_8); assertThat(result).isEqualTo(s); @@ -98,7 +98,7 @@ public void testOutputStateWithOverflowError() "overflowvalue1", "overflowvalue2"); state.setMaxOutputLength(20); - assertThatThrownBy(() -> state.write(VARCHAR.createBlockBuilder(null, 1))) + assertThatThrownBy(() -> state.write(VARCHAR.createBlockBuilder(1))) .isInstanceOf(TrinoException.class) .matches(throwable -> ((TrinoException) throwable).getErrorCode() == EXCEEDED_FUNCTION_MEMORY_LIMIT.toErrorCode()); } @@ -230,7 +230,7 @@ public void testExecute() private static String getOutputStateOnlyValue(SingleListaggAggregationState state, int maxOutputLengthInBytes) { - VariableWidthBlockBuilder blockBuilder = VARCHAR.createBlockBuilder(null, 1, maxOutputLengthInBytes + 20); + VariableWidthBlockBuilder blockBuilder = VARCHAR.createBlockBuilder(1, maxOutputLengthInBytes + 20); state.setMaxOutputLength(maxOutputLengthInBytes); state.write(blockBuilder); return VARCHAR.getSlice(blockBuilder.build(), 0).toStringUtf8(); diff --git a/core/trino-main/src/test/java/io/trino/operator/aggregation/minmaxbyn/TestTypedKeyValueHeap.java b/core/trino-main/src/test/java/io/trino/operator/aggregation/minmaxbyn/TestTypedKeyValueHeap.java index 7bf1507104fc..9870717bd99f 100644 --- a/core/trino-main/src/test/java/io/trino/operator/aggregation/minmaxbyn/TestTypedKeyValueHeap.java +++ b/core/trino-main/src/test/java/io/trino/operator/aggregation/minmaxbyn/TestTypedKeyValueHeap.java @@ -186,16 +186,16 @@ private static void test(Type keyType, Type valueType, boolean min, List< TypedKeyValueHeap part1 = new TypedKeyValueHeap(min, keyReadFlat, keyWriteFlat, valueReadFlat, valueWriteFlat, comparisonFlatFlat, comparisonFlatBlock, keyType, valueType, capacity); int splitPoint = inputKeys.getPositionCount() / 2; getAddAll(part1, inputKeys.getRegion(0, splitPoint), inputValues.getRegion(0, splitPoint)); - BlockBuilder part1KeyBlockBuilder = keyType.createBlockBuilder(null, part1.getCapacity()); - BlockBuilder part1ValueBlockBuilder = valueType.createBlockBuilder(null, part1.getCapacity()); + BlockBuilder part1KeyBlockBuilder = keyType.createBlockBuilder(part1.getCapacity()); + BlockBuilder part1ValueBlockBuilder = valueType.createBlockBuilder(part1.getCapacity()); part1.writeAllUnsorted(part1KeyBlockBuilder, part1ValueBlockBuilder); ValueBlock part1KeyBlock = part1KeyBlockBuilder.buildValueBlock(); ValueBlock part1ValueBlock = part1ValueBlockBuilder.buildValueBlock(); TypedKeyValueHeap part2 = new TypedKeyValueHeap(min, keyReadFlat, keyWriteFlat, valueReadFlat, valueWriteFlat, comparisonFlatFlat, comparisonFlatBlock, keyType, valueType, capacity); getAddAll(part2, inputKeys.getRegion(splitPoint, inputKeys.getPositionCount() - splitPoint), inputValues.getRegion(splitPoint, inputValues.getPositionCount() - splitPoint)); - BlockBuilder part2KeyBlockBuilder = keyType.createBlockBuilder(null, part2.getCapacity()); - BlockBuilder part2ValueBlockBuilder = valueType.createBlockBuilder(null, part2.getCapacity()); + BlockBuilder part2KeyBlockBuilder = keyType.createBlockBuilder(part2.getCapacity()); + BlockBuilder part2ValueBlockBuilder = valueType.createBlockBuilder(part2.getCapacity()); part2.writeAllUnsorted(part2KeyBlockBuilder, part2ValueBlockBuilder); ValueBlock part2KeyBlock = part2KeyBlockBuilder.buildValueBlock(); ValueBlock part2ValueBlock = part2ValueBlockBuilder.buildValueBlock(); @@ -215,7 +215,7 @@ private static void getAddAll(TypedKeyValueHeap heap, ValueBlock inputKeys, Valu private static void assertEqual(TypedKeyValueHeap heap, Type valueType, ValueBlock expected) { - BlockBuilder resultBlockBuilder = valueType.createBlockBuilder(null, OUTPUT_SIZE); + BlockBuilder resultBlockBuilder = valueType.createBlockBuilder(OUTPUT_SIZE); heap.writeValuesSorted(resultBlockBuilder); ValueBlock actual = resultBlockBuilder.buildValueBlock(); assertBlockEquals(valueType, actual, expected); @@ -223,7 +223,7 @@ private static void assertEqual(TypedKeyValueHeap heap, Type valueType, ValueBlo private static ValueBlock toBlock(Type type, List inputStream) { - BlockBuilder blockBuilder = type.createBlockBuilder(null, INPUT_SIZE); + BlockBuilder blockBuilder = type.createBlockBuilder(INPUT_SIZE); inputStream.forEach(value -> TypeUtils.writeNativeValue(type, blockBuilder, value)); return blockBuilder.buildValueBlock(); } diff --git a/core/trino-main/src/test/java/io/trino/operator/aggregation/minmaxn/TestArrayMaxNAggregation.java b/core/trino-main/src/test/java/io/trino/operator/aggregation/minmaxn/TestArrayMaxNAggregation.java index 78c4cd64f704..85f17c6b660a 100644 --- a/core/trino-main/src/test/java/io/trino/operator/aggregation/minmaxn/TestArrayMaxNAggregation.java +++ b/core/trino-main/src/test/java/io/trino/operator/aggregation/minmaxn/TestArrayMaxNAggregation.java @@ -36,7 +36,7 @@ public class TestArrayMaxNAggregation public static Block createLongArraysBlock(Long[] values) { ArrayType arrayType = new ArrayType(BIGINT); - ArrayBlockBuilder blockBuilder = arrayType.createBlockBuilder(null, values.length); + ArrayBlockBuilder blockBuilder = arrayType.createBlockBuilder(values.length); for (Long value : values) { if (value == null) { blockBuilder.appendNull(); diff --git a/core/trino-main/src/test/java/io/trino/operator/aggregation/minmaxn/TestTypedHeap.java b/core/trino-main/src/test/java/io/trino/operator/aggregation/minmaxn/TestTypedHeap.java index fe5b3995c55a..8a089bfb156b 100644 --- a/core/trino-main/src/test/java/io/trino/operator/aggregation/minmaxn/TestTypedHeap.java +++ b/core/trino-main/src/test/java/io/trino/operator/aggregation/minmaxn/TestTypedHeap.java @@ -123,13 +123,13 @@ private static void test(Type type, boolean min, List testData, Comparato // build in two parts and merge together TypedHeap part1 = new TypedHeap(min, readFlat, writeFlat, comparisonFlatFlat, comparisonFlatBlock, type, OUTPUT_SIZE); addAll(part1, inputData.getRegion(0, inputData.getPositionCount() / 2)); - BlockBuilder part1BlockBuilder = type.createBlockBuilder(null, part1.getCapacity()); + BlockBuilder part1BlockBuilder = type.createBlockBuilder(part1.getCapacity()); part1.writeAllUnsorted(part1BlockBuilder); ValueBlock part1Block = part1BlockBuilder.buildValueBlock(); TypedHeap part2 = new TypedHeap(min, readFlat, writeFlat, comparisonFlatFlat, comparisonFlatBlock, type, OUTPUT_SIZE); addAll(part2, inputData.getRegion(inputData.getPositionCount() / 2, inputData.getPositionCount() - (inputData.getPositionCount() / 2))); - BlockBuilder part2BlockBuilder = type.createBlockBuilder(null, part2.getCapacity()); + BlockBuilder part2BlockBuilder = type.createBlockBuilder(part2.getCapacity()); part2.writeAllUnsorted(part2BlockBuilder); ValueBlock part2Block = part2BlockBuilder.buildValueBlock(); @@ -148,7 +148,7 @@ private static void addAll(TypedHeap heap, ValueBlock inputData) private static void assertEqual(TypedHeap heap, Type type, ValueBlock expected) { - BlockBuilder resultBlockBuilder = type.createBlockBuilder(null, OUTPUT_SIZE); + BlockBuilder resultBlockBuilder = type.createBlockBuilder(OUTPUT_SIZE); heap.writeAllSorted(resultBlockBuilder); ValueBlock actual = resultBlockBuilder.buildValueBlock(); assertBlockEquals(type, actual, expected); @@ -156,7 +156,7 @@ private static void assertEqual(TypedHeap heap, Type type, ValueBlock expected) private static ValueBlock toBlock(Type type, List inputStream) { - BlockBuilder blockBuilder = type.createBlockBuilder(null, INPUT_SIZE); + BlockBuilder blockBuilder = type.createBlockBuilder(INPUT_SIZE); inputStream.forEach(value -> TypeUtils.writeNativeValue(type, blockBuilder, value)); return blockBuilder.buildValueBlock(); } diff --git a/core/trino-main/src/test/java/io/trino/operator/aggregation/state/TestLongDecimalWithOverflowAndLongStateSerializer.java b/core/trino-main/src/test/java/io/trino/operator/aggregation/state/TestLongDecimalWithOverflowAndLongStateSerializer.java index 98fe547b38b2..4a94186e807b 100644 --- a/core/trino-main/src/test/java/io/trino/operator/aggregation/state/TestLongDecimalWithOverflowAndLongStateSerializer.java +++ b/core/trino-main/src/test/java/io/trino/operator/aggregation/state/TestLongDecimalWithOverflowAndLongStateSerializer.java @@ -101,7 +101,7 @@ private LongDecimalWithOverflowAndLongState roundTrip(LongDecimalWithOverflowAnd private LongDecimalWithOverflowAndLongState roundTrip(LongDecimalWithOverflowAndLongState state, int expectedLength, Function serializedModification) { LongDecimalWithOverflowAndLongStateSerializer serializer = new LongDecimalWithOverflowAndLongStateSerializer(); - VariableWidthBlockBuilder out = new VariableWidthBlockBuilder(null, 1, 0); + VariableWidthBlockBuilder out = new VariableWidthBlockBuilder(1, 0); serializer.serialize(state, out); diff --git a/core/trino-main/src/test/java/io/trino/operator/aggregation/state/TestLongDecimalWithOverflowStateSerializer.java b/core/trino-main/src/test/java/io/trino/operator/aggregation/state/TestLongDecimalWithOverflowStateSerializer.java index 53746309205b..622c0438f281 100644 --- a/core/trino-main/src/test/java/io/trino/operator/aggregation/state/TestLongDecimalWithOverflowStateSerializer.java +++ b/core/trino-main/src/test/java/io/trino/operator/aggregation/state/TestLongDecimalWithOverflowStateSerializer.java @@ -93,7 +93,7 @@ private LongDecimalWithOverflowState roundTrip(LongDecimalWithOverflowState stat private LongDecimalWithOverflowState roundTrip(LongDecimalWithOverflowState state, int expectedLength, Function serializedModification) { LongDecimalWithOverflowStateSerializer serializer = new LongDecimalWithOverflowStateSerializer(); - VariableWidthBlockBuilder out = new VariableWidthBlockBuilder(null, 1, 0); + VariableWidthBlockBuilder out = new VariableWidthBlockBuilder(1, 0); serializer.serialize(state, out); diff --git a/core/trino-main/src/test/java/io/trino/operator/aggregation/state/TestStateCompiler.java b/core/trino-main/src/test/java/io/trino/operator/aggregation/state/TestStateCompiler.java index 527647f57c3f..1d9ec54e268d 100644 --- a/core/trino-main/src/test/java/io/trino/operator/aggregation/state/TestStateCompiler.java +++ b/core/trino-main/src/test/java/io/trino/operator/aggregation/state/TestStateCompiler.java @@ -149,14 +149,14 @@ public void testNonPrimitiveSerialization() SliceState deserializedState = factory.createSingleState(); state.setSlice(null); - BlockBuilder nullBlockBuilder = VARCHAR.createBlockBuilder(null, 1); + BlockBuilder nullBlockBuilder = VARCHAR.createBlockBuilder(1); serializer.serialize(state, nullBlockBuilder); Block nullBlock = nullBlockBuilder.build(); serializer.deserialize(nullBlock, 0, deserializedState); assertThat(deserializedState.getSlice()).isEqualTo(state.getSlice()); state.setSlice(utf8Slice("test")); - BlockBuilder builder = VARCHAR.createBlockBuilder(null, 1); + BlockBuilder builder = VARCHAR.createBlockBuilder(1); serializer.serialize(state, builder); Block block = builder.build(); serializer.deserialize(block, 0, deserializedState); @@ -175,7 +175,7 @@ public void testVarianceStateSerialization() singleState.setCount(2); singleState.setM2(3); - BlockBuilder builder = RowType.anonymous(ImmutableList.of(BIGINT, DOUBLE, DOUBLE)).createBlockBuilder(null, 1); + BlockBuilder builder = RowType.anonymous(ImmutableList.of(BIGINT, DOUBLE, DOUBLE)).createBlockBuilder(1); serializer.serialize(singleState, builder); Block block = builder.build(); @@ -211,7 +211,7 @@ public void testComplexSerialization() singleState.setSqlMap(sqlMapOf(BIGINT, VARCHAR, ImmutableMap.of(123L, "testBlock"))); singleState.setSqlRow(sqlRowOf(RowType.anonymousRow(VARCHAR, BIGINT, VARCHAR), "a", 777, "b")); - BlockBuilder builder = serializer.getSerializedType().createBlockBuilder(null, 1); + BlockBuilder builder = serializer.getSerializedType().createBlockBuilder(1); serializer.serialize(singleState, builder); Block block = builder.build(); diff --git a/core/trino-main/src/test/java/io/trino/operator/output/TestPositionsAppender.java b/core/trino-main/src/test/java/io/trino/operator/output/TestPositionsAppender.java index a0218fc0e6ff..09e67e748218 100644 --- a/core/trino-main/src/test/java/io/trino/operator/output/TestPositionsAppender.java +++ b/core/trino-main/src/test/java/io/trino/operator/output/TestPositionsAppender.java @@ -19,9 +19,7 @@ import io.trino.spi.block.ArrayBlock; import io.trino.spi.block.Block; import io.trino.spi.block.BlockBuilder; -import io.trino.spi.block.BlockBuilderStatus; import io.trino.spi.block.DictionaryBlock; -import io.trino.spi.block.PageBuilderStatus; import io.trino.spi.block.RowBlock; import io.trino.spi.block.RunLengthEncodedBlock; import io.trino.spi.block.ValueBlock; @@ -382,7 +380,7 @@ public void testRowWithNestedFields() private static ValueBlock singleValueBlock(String value) { - BlockBuilder blockBuilder = VARCHAR.createBlockBuilder(null, 1); + BlockBuilder blockBuilder = VARCHAR.createBlockBuilder(1); VARCHAR.writeSlice(blockBuilder, Slices.utf8Slice(value)); return blockBuilder.buildValueBlock(); } @@ -450,7 +448,7 @@ private static Block notNullBlock(TestType type, int positionCount) private static Block nullBlock(TestType type, int positionCount) { - BlockBuilder blockBuilder = type.getType().createBlockBuilder(null, positionCount); + BlockBuilder blockBuilder = type.getType().createBlockBuilder(positionCount); for (int i = 0; i < positionCount; i++) { blockBuilder.appendNull(); } @@ -459,7 +457,7 @@ private static Block nullBlock(TestType type, int positionCount) private static Block nullBlock(Type type, int positionCount) { - BlockBuilder blockBuilder = type.createBlockBuilder(null, positionCount); + BlockBuilder blockBuilder = type.createBlockBuilder(positionCount); for (int i = 0; i < positionCount; i++) { blockBuilder.appendNull(); } @@ -468,7 +466,7 @@ private static Block nullBlock(Type type, int positionCount) private static Block emptyBlock(TestType type) { - return type.adapt(type.getType().createBlockBuilder(null, 0).build()); + return type.adapt(type.getType().createBlockBuilder(0).build()); } private static Block createRandomBlockForType(TestType type, int positionCount, float nullRate) @@ -558,23 +556,21 @@ private static void testAppendSingle(TestType type, List inputs) private static void assertBlockIsValid(Block actual, long sizeInBytes, Type type, List inputs) { - PageBuilderStatus pageBuilderStatus = new PageBuilderStatus(); - BlockBuilderStatus blockBuilderStatus = pageBuilderStatus.createBlockBuilderStatus(); - Block expected = buildBlock(type, inputs, blockBuilderStatus); + Block expected = buildBlock(type, inputs, sizeInBytes); assertBlockEquals(type, actual, expected); - assertThat(sizeInBytes).isEqualTo(pageBuilderStatus.getSizeInBytes()); } - private static Block buildBlock(Type type, List inputs, BlockBuilderStatus blockBuilderStatus) + private static Block buildBlock(Type type, List inputs, long sizeInBytes) { - BlockBuilder blockBuilder = type.createBlockBuilder(blockBuilderStatus, 10); + BlockBuilder blockBuilder = type.createBlockBuilder(10); for (BlockView input : inputs) { ValueBlock valueBlock = input.block().getUnderlyingValueBlock(); for (int position : input.positions()) { blockBuilder.append(valueBlock, input.block().getUnderlyingValuePosition(position)); } } + assertThat(sizeInBytes).isEqualTo(blockBuilder.getSizeInBytes()); return blockBuilder.build(); } diff --git a/core/trino-main/src/test/java/io/trino/operator/scalar/BenchmarkArrayDistinct.java b/core/trino-main/src/test/java/io/trino/operator/scalar/BenchmarkArrayDistinct.java index 7064d9b8c6f7..d37721d7b408 100644 --- a/core/trino-main/src/test/java/io/trino/operator/scalar/BenchmarkArrayDistinct.java +++ b/core/trino-main/src/test/java/io/trino/operator/scalar/BenchmarkArrayDistinct.java @@ -129,7 +129,7 @@ public void setup() private static Block createChannel(int positionCount, int arraySize, ArrayType arrayType) { - ArrayBlockBuilder blockBuilder = arrayType.createBlockBuilder(null, positionCount); + ArrayBlockBuilder blockBuilder = arrayType.createBlockBuilder(positionCount); for (int position = 0; position < positionCount; position++) { blockBuilder.buildEntry(elementBuilder -> { for (int i = 0; i < arraySize; i++) { @@ -179,7 +179,7 @@ public static Block oldArrayDistinct(@SqlType("array(varchar)") Block array) } BlockSet set = new BlockSet(DISTINCT_FROM_OPERATOR, HASH_CODE_OPERATOR, array.getPositionCount()); - BlockBuilder distinctElementBlockBuilder = VARCHAR.createBlockBuilder(null, array.getPositionCount()); + BlockBuilder distinctElementBlockBuilder = VARCHAR.createBlockBuilder(array.getPositionCount()); ValueBlock valueBlock = array.getUnderlyingValueBlock(); for (int i = 0; i < array.getPositionCount(); i++) { if (set.add(array, i)) { diff --git a/core/trino-main/src/test/java/io/trino/operator/scalar/BenchmarkArrayDotProduct.java b/core/trino-main/src/test/java/io/trino/operator/scalar/BenchmarkArrayDotProduct.java index 41f0874596bd..b1db767b48b6 100644 --- a/core/trino-main/src/test/java/io/trino/operator/scalar/BenchmarkArrayDotProduct.java +++ b/core/trino-main/src/test/java/io/trino/operator/scalar/BenchmarkArrayDotProduct.java @@ -105,7 +105,7 @@ public void setup() private static Block createChannel(int positionCount, int arraySize, Type elementType) { ArrayType arrayType = new ArrayType(elementType); - ArrayBlockBuilder blockBuilder = arrayType.createBlockBuilder(null, positionCount); + ArrayBlockBuilder blockBuilder = arrayType.createBlockBuilder(positionCount); for (int position = 0; position < positionCount; position++) { blockBuilder.buildEntry(elementBuilder -> { for (int i = 0; i < arraySize; i++) { diff --git a/core/trino-main/src/test/java/io/trino/operator/scalar/BenchmarkArrayEqualOperator.java b/core/trino-main/src/test/java/io/trino/operator/scalar/BenchmarkArrayEqualOperator.java index ad1b318de708..cf1a9da5582d 100644 --- a/core/trino-main/src/test/java/io/trino/operator/scalar/BenchmarkArrayEqualOperator.java +++ b/core/trino-main/src/test/java/io/trino/operator/scalar/BenchmarkArrayEqualOperator.java @@ -86,8 +86,8 @@ public void setup() private static Block[] createChannels(int positionCount, int arraySize, ArrayType arrayType) { ThreadLocalRandom random = ThreadLocalRandom.current(); - ArrayBlockBuilder leftBlockBuilder = arrayType.createBlockBuilder(null, positionCount); - ArrayBlockBuilder rightBlockBuilder = arrayType.createBlockBuilder(null, positionCount); + ArrayBlockBuilder leftBlockBuilder = arrayType.createBlockBuilder(positionCount); + ArrayBlockBuilder rightBlockBuilder = arrayType.createBlockBuilder(positionCount); for (int position = 0; position < positionCount; position++) { leftBlockBuilder.buildEntry(leftElementBuilder -> { rightBlockBuilder.buildEntry(rightElementBuilder -> { diff --git a/core/trino-main/src/test/java/io/trino/operator/scalar/BenchmarkArrayFilter.java b/core/trino-main/src/test/java/io/trino/operator/scalar/BenchmarkArrayFilter.java index fac92b4ea9df..c6b54131454b 100644 --- a/core/trino-main/src/test/java/io/trino/operator/scalar/BenchmarkArrayFilter.java +++ b/core/trino-main/src/test/java/io/trino/operator/scalar/BenchmarkArrayFilter.java @@ -168,7 +168,7 @@ public void setup() private static Block createChannel(int positionCount, int arraySize, ArrayType arrayType) { - ArrayBlockBuilder blockBuilder = arrayType.createBlockBuilder(null, positionCount); + ArrayBlockBuilder blockBuilder = arrayType.createBlockBuilder(positionCount); for (int position = 0; position < positionCount; position++) { blockBuilder.buildEntry(elementBuilder -> { for (int i = 0; i < arraySize; i++) { @@ -309,7 +309,7 @@ public static Block filter(Type type, Block block, MethodHandle function) { int positionCount = block.getPositionCount(); ValueBlock valueBlock = block.getUnderlyingValueBlock(); - BlockBuilder resultBuilder = type.createBlockBuilder(null, positionCount); + BlockBuilder resultBuilder = type.createBlockBuilder(positionCount); for (int position = 0; position < positionCount; position++) { Long input = (Long) readNativeValue(type, block, position); Boolean keep; @@ -363,7 +363,7 @@ protected SpecializedSqlScalarFunction specialize(BoundSignature boundSignature) public static Block filterObject(Type type, Block block, MethodHandle function) { int positionCount = block.getPositionCount(); - BlockBuilder resultBuilder = type.createBlockBuilder(null, positionCount); + BlockBuilder resultBuilder = type.createBlockBuilder(positionCount); ValueBlock valueBlock = block.getUnderlyingValueBlock(); for (int position = 0; position < positionCount; position++) { Object input = type.getObject(block, position); diff --git a/core/trino-main/src/test/java/io/trino/operator/scalar/BenchmarkArrayHashCodeOperator.java b/core/trino-main/src/test/java/io/trino/operator/scalar/BenchmarkArrayHashCodeOperator.java index a1b8d7672db9..50ad01ce8c43 100644 --- a/core/trino-main/src/test/java/io/trino/operator/scalar/BenchmarkArrayHashCodeOperator.java +++ b/core/trino-main/src/test/java/io/trino/operator/scalar/BenchmarkArrayHashCodeOperator.java @@ -81,7 +81,7 @@ public void setup() private static Block createChannel(int positionCount, int arraySize, ArrayType arrayType) { - ArrayBlockBuilder blockBuilder = arrayType.createBlockBuilder(null, positionCount); + ArrayBlockBuilder blockBuilder = arrayType.createBlockBuilder(positionCount); for (int position = 0; position < positionCount; position++) { blockBuilder.buildEntry(elementBuilder -> { for (int i = 0; i < arraySize; i++) { diff --git a/core/trino-main/src/test/java/io/trino/operator/scalar/BenchmarkArrayIntersect.java b/core/trino-main/src/test/java/io/trino/operator/scalar/BenchmarkArrayIntersect.java index d0f33f76e476..26c502ba7717 100644 --- a/core/trino-main/src/test/java/io/trino/operator/scalar/BenchmarkArrayIntersect.java +++ b/core/trino-main/src/test/java/io/trino/operator/scalar/BenchmarkArrayIntersect.java @@ -129,7 +129,7 @@ public void setup() private static Block createChannel(int positionCount, int arraySize, Type elementType) { ArrayType arrayType = new ArrayType(elementType); - ArrayBlockBuilder blockBuilder = arrayType.createBlockBuilder(null, positionCount); + ArrayBlockBuilder blockBuilder = arrayType.createBlockBuilder(positionCount); for (int position = 0; position < positionCount; position++) { blockBuilder.buildEntry(elementBuilder -> { for (int i = 0; i < arraySize; i++) { diff --git a/core/trino-main/src/test/java/io/trino/operator/scalar/BenchmarkArrayJoin.java b/core/trino-main/src/test/java/io/trino/operator/scalar/BenchmarkArrayJoin.java index 3603f5324fd3..cb7b303c029b 100644 --- a/core/trino-main/src/test/java/io/trino/operator/scalar/BenchmarkArrayJoin.java +++ b/core/trino-main/src/test/java/io/trino/operator/scalar/BenchmarkArrayJoin.java @@ -100,7 +100,7 @@ private static Block createChannel(int positionCount, int arraySize) { ArrayType arrayType = new ArrayType(BIGINT); - ArrayBlockBuilder blockBuilder = arrayType.createBlockBuilder(null, positionCount); + ArrayBlockBuilder blockBuilder = arrayType.createBlockBuilder(positionCount); for (int position = 0; position < positionCount; position++) { blockBuilder.buildEntry(elementBuilder -> { for (int i = 0; i < arraySize; i++) { diff --git a/core/trino-main/src/test/java/io/trino/operator/scalar/BenchmarkArraySort.java b/core/trino-main/src/test/java/io/trino/operator/scalar/BenchmarkArraySort.java index a5a3ba0fddfb..9b299a225ea5 100644 --- a/core/trino-main/src/test/java/io/trino/operator/scalar/BenchmarkArraySort.java +++ b/core/trino-main/src/test/java/io/trino/operator/scalar/BenchmarkArraySort.java @@ -112,7 +112,7 @@ public void setup() private static Block createChannel(int positionCount, int arraySize, ArrayType arrayType) { - ArrayBlockBuilder blockBuilder = arrayType.createBlockBuilder(null, positionCount); + ArrayBlockBuilder blockBuilder = arrayType.createBlockBuilder(positionCount); for (int position = 0; position < positionCount; position++) { blockBuilder.buildEntry(elementBuilder -> { for (int i = 0; i < arraySize; i++) { diff --git a/core/trino-main/src/test/java/io/trino/operator/scalar/BenchmarkArraySubscript.java b/core/trino-main/src/test/java/io/trino/operator/scalar/BenchmarkArraySubscript.java index 5df10cf4bf73..330f2603d6ff 100644 --- a/core/trino-main/src/test/java/io/trino/operator/scalar/BenchmarkArraySubscript.java +++ b/core/trino-main/src/test/java/io/trino/operator/scalar/BenchmarkArraySubscript.java @@ -175,7 +175,7 @@ private static Block createFixWidthValueBlock(int positionCount, int mapSize) private static Block createVarWidthValueBlock(int positionCount, int mapSize) { Type valueType = createUnboundedVarcharType(); - BlockBuilder valueBlockBuilder = valueType.createBlockBuilder(null, positionCount * mapSize); + BlockBuilder valueBlockBuilder = valueType.createBlockBuilder(positionCount * mapSize); for (int i = 0; i < positionCount * mapSize; i++) { int wordLength = ThreadLocalRandom.current().nextInt(5, 10); valueType.writeSlice(valueBlockBuilder, utf8Slice(randomString(wordLength))); diff --git a/core/trino-main/src/test/java/io/trino/operator/scalar/BenchmarkArrayTransform.java b/core/trino-main/src/test/java/io/trino/operator/scalar/BenchmarkArrayTransform.java index deb989fdcec5..fe5f22c55a44 100644 --- a/core/trino-main/src/test/java/io/trino/operator/scalar/BenchmarkArrayTransform.java +++ b/core/trino-main/src/test/java/io/trino/operator/scalar/BenchmarkArrayTransform.java @@ -129,7 +129,7 @@ public void setup() private static Block createChannel(int positionCount, int arraySize, ArrayType arrayType) { - ArrayBlockBuilder blockBuilder = arrayType.createBlockBuilder(null, positionCount); + ArrayBlockBuilder blockBuilder = arrayType.createBlockBuilder(positionCount); for (int position = 0; position < positionCount; position++) { blockBuilder.buildEntry(elementBuilder -> { for (int i = 0; i < arraySize; i++) { diff --git a/core/trino-main/src/test/java/io/trino/operator/scalar/BenchmarkArraysOverlap.java b/core/trino-main/src/test/java/io/trino/operator/scalar/BenchmarkArraysOverlap.java index 66064dd5ce68..e1dc3d19c55f 100644 --- a/core/trino-main/src/test/java/io/trino/operator/scalar/BenchmarkArraysOverlap.java +++ b/core/trino-main/src/test/java/io/trino/operator/scalar/BenchmarkArraysOverlap.java @@ -115,7 +115,7 @@ public void setup() private static Block createChannel(int positionCount, int arraySize, Type elementType) { ArrayType arrayType = new ArrayType(elementType); - ArrayBlockBuilder blockBuilder = arrayType.createBlockBuilder(null, positionCount); + ArrayBlockBuilder blockBuilder = arrayType.createBlockBuilder(positionCount); for (int position = 0; position < positionCount; position++) { blockBuilder.buildEntry(elementBuilder -> { for (int i = 0; i < arraySize; i++) { diff --git a/core/trino-main/src/test/java/io/trino/operator/scalar/BenchmarkEqualOperator.java b/core/trino-main/src/test/java/io/trino/operator/scalar/BenchmarkEqualOperator.java index 137a9df3385e..33121000df07 100644 --- a/core/trino-main/src/test/java/io/trino/operator/scalar/BenchmarkEqualOperator.java +++ b/core/trino-main/src/test/java/io/trino/operator/scalar/BenchmarkEqualOperator.java @@ -84,8 +84,8 @@ public void setup() private static Block[] createChannels(int positionCount, Type type) { ThreadLocalRandom random = ThreadLocalRandom.current(); - BlockBuilder leftBlockBuilder = type.createBlockBuilder(null, positionCount); - BlockBuilder rightBlockBuilder = type.createBlockBuilder(null, positionCount); + BlockBuilder leftBlockBuilder = type.createBlockBuilder(positionCount); + BlockBuilder rightBlockBuilder = type.createBlockBuilder(positionCount); for (int position = 0; position < positionCount; position++) { // 50% chance of being equal addElement(type, random, leftBlockBuilder, rightBlockBuilder, random.nextBoolean()); diff --git a/core/trino-main/src/test/java/io/trino/operator/scalar/BenchmarkHashCodeOperator.java b/core/trino-main/src/test/java/io/trino/operator/scalar/BenchmarkHashCodeOperator.java index eda68c732c23..7ae50bf0628f 100644 --- a/core/trino-main/src/test/java/io/trino/operator/scalar/BenchmarkHashCodeOperator.java +++ b/core/trino-main/src/test/java/io/trino/operator/scalar/BenchmarkHashCodeOperator.java @@ -79,7 +79,7 @@ public void setup() private static Block createChannel(int positionCount, Type type) { ThreadLocalRandom random = ThreadLocalRandom.current(); - BlockBuilder blockBuilder = type.createBlockBuilder(null, positionCount); + BlockBuilder blockBuilder = type.createBlockBuilder(positionCount); for (int position = 0; position < positionCount; position++) { addElement(type, random, blockBuilder); } diff --git a/core/trino-main/src/test/java/io/trino/operator/scalar/BenchmarkJsonFunctions.java b/core/trino-main/src/test/java/io/trino/operator/scalar/BenchmarkJsonFunctions.java index 2e5831fe8e55..d5dd2ad8bb73 100644 --- a/core/trino-main/src/test/java/io/trino/operator/scalar/BenchmarkJsonFunctions.java +++ b/core/trino-main/src/test/java/io/trino/operator/scalar/BenchmarkJsonFunctions.java @@ -275,7 +275,7 @@ private static PageProcessor createJsonExtractPageProcessor(int depth, TestingFu private static Block createChannel(int positionCount, int depth) { - BlockBuilder blockBuilder = VARCHAR.createBlockBuilder(null, positionCount); + BlockBuilder blockBuilder = VARCHAR.createBlockBuilder(positionCount); for (int position = 0; position < positionCount; position++) { SliceOutput slice = new DynamicSliceOutput(20); for (int i = 1; i <= depth; i++) { diff --git a/core/trino-main/src/test/java/io/trino/operator/scalar/BenchmarkJsonPathBinaryOperators.java b/core/trino-main/src/test/java/io/trino/operator/scalar/BenchmarkJsonPathBinaryOperators.java index ca5f9296984d..55f4233ef877 100644 --- a/core/trino-main/src/test/java/io/trino/operator/scalar/BenchmarkJsonPathBinaryOperators.java +++ b/core/trino-main/src/test/java/io/trino/operator/scalar/BenchmarkJsonPathBinaryOperators.java @@ -177,7 +177,7 @@ private static PageProcessor createJsonValuePageProcessor() private static Block createChannelConstantTypes(int positionCount) { - BlockBuilder blockBuilder = VARCHAR.createBlockBuilder(null, positionCount); + BlockBuilder blockBuilder = VARCHAR.createBlockBuilder(positionCount); for (int position = 0; position < positionCount; position++) { SliceOutput slice = new DynamicSliceOutput(20); slice.appendBytes("{\"first\" : ".getBytes(UTF_8)) @@ -192,7 +192,7 @@ private static Block createChannelConstantTypes(int positionCount) private static Block createChannelVaryingTypes(int positionCount) { - BlockBuilder blockBuilder = VARCHAR.createBlockBuilder(null, positionCount); + BlockBuilder blockBuilder = VARCHAR.createBlockBuilder(positionCount); for (int position = 0; position < positionCount; position++) { SliceOutput slice = new DynamicSliceOutput(20); slice.appendBytes("{\"first\" : ".getBytes(UTF_8)); @@ -215,7 +215,7 @@ else if (position % 3 == 1) { private static Block createChannelMultipleVaryingTypes(int positionCount) { - BlockBuilder blockBuilder = VARCHAR.createBlockBuilder(null, positionCount); + BlockBuilder blockBuilder = VARCHAR.createBlockBuilder(positionCount); for (int position = 0; position < positionCount; position++) { SliceOutput slice = new DynamicSliceOutput(20); diff --git a/core/trino-main/src/test/java/io/trino/operator/scalar/BenchmarkJsonToArrayCast.java b/core/trino-main/src/test/java/io/trino/operator/scalar/BenchmarkJsonToArrayCast.java index d0704e1dafcb..e9fbd6349238 100644 --- a/core/trino-main/src/test/java/io/trino/operator/scalar/BenchmarkJsonToArrayCast.java +++ b/core/trino-main/src/test/java/io/trino/operator/scalar/BenchmarkJsonToArrayCast.java @@ -119,7 +119,7 @@ public void setup() private static Block createChannel(int positionCount, int mapSize, Type elementType) { - BlockBuilder blockBuilder = JSON.createBlockBuilder(null, positionCount); + BlockBuilder blockBuilder = JSON.createBlockBuilder(positionCount); for (int position = 0; position < positionCount; position++) { SliceOutput jsonSlice = new DynamicSliceOutput(20 * mapSize); jsonSlice.appendByte('['); diff --git a/core/trino-main/src/test/java/io/trino/operator/scalar/BenchmarkJsonToMapCast.java b/core/trino-main/src/test/java/io/trino/operator/scalar/BenchmarkJsonToMapCast.java index 4fbb98e837a4..993a168743a9 100644 --- a/core/trino-main/src/test/java/io/trino/operator/scalar/BenchmarkJsonToMapCast.java +++ b/core/trino-main/src/test/java/io/trino/operator/scalar/BenchmarkJsonToMapCast.java @@ -121,7 +121,7 @@ public void setup() private static Block createChannel(int positionCount, int mapSize, Type valueType) { - BlockBuilder blockBuilder = JSON.createBlockBuilder(null, positionCount); + BlockBuilder blockBuilder = JSON.createBlockBuilder(positionCount); for (int position = 0; position < positionCount; position++) { SliceOutput jsonSlice = new DynamicSliceOutput(20 * mapSize); jsonSlice.appendByte('{'); diff --git a/core/trino-main/src/test/java/io/trino/operator/scalar/BenchmarkMapSubscript.java b/core/trino-main/src/test/java/io/trino/operator/scalar/BenchmarkMapSubscript.java index 3cd9a7214599..52ff48cdf563 100644 --- a/core/trino-main/src/test/java/io/trino/operator/scalar/BenchmarkMapSubscript.java +++ b/core/trino-main/src/test/java/io/trino/operator/scalar/BenchmarkMapSubscript.java @@ -196,7 +196,7 @@ private static Block createFixWidthValueBlock(int positionCount, int mapSize) private static Block createVarWidthValueBlock(int positionCount, int mapSize) { Type valueType = createUnboundedVarcharType(); - BlockBuilder valueBlockBuilder = valueType.createBlockBuilder(null, positionCount * mapSize); + BlockBuilder valueBlockBuilder = valueType.createBlockBuilder(positionCount * mapSize); for (int i = 0; i < positionCount * mapSize; i++) { int wordLength = ThreadLocalRandom.current().nextInt(5, 10); valueType.writeSlice(valueBlockBuilder, utf8Slice(randomString(wordLength))); diff --git a/core/trino-main/src/test/java/io/trino/operator/scalar/BenchmarkRowEqualOperator.java b/core/trino-main/src/test/java/io/trino/operator/scalar/BenchmarkRowEqualOperator.java index 39e775c227b6..ae13bdb0bc81 100644 --- a/core/trino-main/src/test/java/io/trino/operator/scalar/BenchmarkRowEqualOperator.java +++ b/core/trino-main/src/test/java/io/trino/operator/scalar/BenchmarkRowEqualOperator.java @@ -91,8 +91,8 @@ public void setup() private static Block[] createChannels(int positionCount, RowType rowType) { ThreadLocalRandom random = ThreadLocalRandom.current(); - RowBlockBuilder leftBlockBuilder = rowType.createBlockBuilder(null, positionCount); - RowBlockBuilder rightBlockBuilder = rowType.createBlockBuilder(null, positionCount); + RowBlockBuilder leftBlockBuilder = rowType.createBlockBuilder(positionCount); + RowBlockBuilder rightBlockBuilder = rowType.createBlockBuilder(positionCount); for (int position = 0; position < positionCount; position++) { leftBlockBuilder.buildEntry(leftFieldBuilders -> { rightBlockBuilder.buildEntry(rightFieldBuilders -> { diff --git a/core/trino-main/src/test/java/io/trino/operator/scalar/BenchmarkRowHashCodeOperator.java b/core/trino-main/src/test/java/io/trino/operator/scalar/BenchmarkRowHashCodeOperator.java index 9ba55414e4c4..1f76c6458cad 100644 --- a/core/trino-main/src/test/java/io/trino/operator/scalar/BenchmarkRowHashCodeOperator.java +++ b/core/trino-main/src/test/java/io/trino/operator/scalar/BenchmarkRowHashCodeOperator.java @@ -86,7 +86,7 @@ public void setup() private static Block createChannel(int positionCount, RowType rowType) { ThreadLocalRandom random = ThreadLocalRandom.current(); - RowBlockBuilder blockBuilder = rowType.createBlockBuilder(null, positionCount); + RowBlockBuilder blockBuilder = rowType.createBlockBuilder(positionCount); for (int position = 0; position < positionCount; position++) { blockBuilder.buildEntry(fieldBuilders -> { List fields = rowType.getFields(); diff --git a/core/trino-main/src/test/java/io/trino/operator/scalar/BenchmarkRowToRowCast.java b/core/trino-main/src/test/java/io/trino/operator/scalar/BenchmarkRowToRowCast.java index f14ece4e72f3..8b3d28ab0778 100644 --- a/core/trino-main/src/test/java/io/trino/operator/scalar/BenchmarkRowToRowCast.java +++ b/core/trino-main/src/test/java/io/trino/operator/scalar/BenchmarkRowToRowCast.java @@ -105,7 +105,7 @@ public void setup() private static Block createBlock(int positionCount, Type type) { - BlockBuilder blockBuilder = type.createBlockBuilder(null, positionCount); + BlockBuilder blockBuilder = type.createBlockBuilder(positionCount); if (type instanceof VarcharType) { for (int i = 0; i < positionCount; i++) { type.writeSlice(blockBuilder, utf8Slice(String.valueOf(ThreadLocalRandom.current().nextInt()))); diff --git a/core/trino-main/src/test/java/io/trino/operator/scalar/BenchmarkTransformKey.java b/core/trino-main/src/test/java/io/trino/operator/scalar/BenchmarkTransformKey.java index 9a1f3624c4aa..b55d454c4565 100644 --- a/core/trino-main/src/test/java/io/trino/operator/scalar/BenchmarkTransformKey.java +++ b/core/trino-main/src/test/java/io/trino/operator/scalar/BenchmarkTransformKey.java @@ -139,7 +139,7 @@ public void setup() private static Block createChannel(int positionCount, MapType mapType, Type elementType) { - MapBlockBuilder mapBlockBuilder = mapType.createBlockBuilder(null, 1); + MapBlockBuilder mapBlockBuilder = mapType.createBlockBuilder(1); mapBlockBuilder.buildEntry((keyBuilder, valueBuilder) -> { Object value; for (int position = 0; position < positionCount; position++) { diff --git a/core/trino-main/src/test/java/io/trino/operator/scalar/BenchmarkTransformValue.java b/core/trino-main/src/test/java/io/trino/operator/scalar/BenchmarkTransformValue.java index 94a7eef68de2..4778382a07bd 100644 --- a/core/trino-main/src/test/java/io/trino/operator/scalar/BenchmarkTransformValue.java +++ b/core/trino-main/src/test/java/io/trino/operator/scalar/BenchmarkTransformValue.java @@ -145,7 +145,7 @@ public void setup() private static Block createChannel(int positionCount, MapType mapType, Type elementType) { - MapBlockBuilder mapBlockBuilder = mapType.createBlockBuilder(null, 1); + MapBlockBuilder mapBlockBuilder = mapType.createBlockBuilder(1); mapBlockBuilder.buildEntry((keyBuilder, valueBuilder) -> { Object key; Object value; diff --git a/core/trino-main/src/test/java/io/trino/operator/scalar/TestBlockSet.java b/core/trino-main/src/test/java/io/trino/operator/scalar/TestBlockSet.java index dd398941dc9f..4c53b0f927fc 100644 --- a/core/trino-main/src/test/java/io/trino/operator/scalar/TestBlockSet.java +++ b/core/trino-main/src/test/java/io/trino/operator/scalar/TestBlockSet.java @@ -160,7 +160,7 @@ private static Block toBlock(Long value) @Test public void testGetElementPositionRandom() { - BlockBuilder keysBuilder = VARCHAR.createBlockBuilder(null, 5); + BlockBuilder keysBuilder = VARCHAR.createBlockBuilder(5); VARCHAR.writeSlice(keysBuilder, utf8Slice("hello")); VARCHAR.writeSlice(keysBuilder, utf8Slice("bye")); VARCHAR.writeSlice(keysBuilder, utf8Slice("abc")); @@ -171,7 +171,7 @@ public void testGetElementPositionRandom() set.add(keys, i); } - BlockBuilder valuesBuilder = VARCHAR.createBlockBuilder(null, 5); + BlockBuilder valuesBuilder = VARCHAR.createBlockBuilder(5); VARCHAR.writeSlice(valuesBuilder, utf8Slice("bye")); VARCHAR.writeSlice(valuesBuilder, utf8Slice("abc")); VARCHAR.writeSlice(valuesBuilder, utf8Slice("hello")); diff --git a/core/trino-main/src/test/java/io/trino/operator/unnest/TestingUnnesterUtil.java b/core/trino-main/src/test/java/io/trino/operator/unnest/TestingUnnesterUtil.java index 578933c4e7e1..59c093dc6cfa 100644 --- a/core/trino-main/src/test/java/io/trino/operator/unnest/TestingUnnesterUtil.java +++ b/core/trino-main/src/test/java/io/trino/operator/unnest/TestingUnnesterUtil.java @@ -194,7 +194,7 @@ static Page mergePages(List types, List pages) private static Block buildExpectedReplicatedBlock(Block block, Type type, int[] maxCardinalities, int totalEntries) { - BlockBuilder blockBuilder = type.createBlockBuilder(null, totalEntries); + BlockBuilder blockBuilder = type.createBlockBuilder(totalEntries); int positionCount = block.getPositionCount(); for (int i = 0; i < positionCount; i++) { int cardinality = maxCardinalities[i]; @@ -210,7 +210,7 @@ private static Block buildExpectedUnnestedArrayBlock(Block block, Type type, int ColumnarArray columnarArray = ColumnarArray.toColumnarArray(block); Block elementBlock = columnarArray.getElementsBlock(); - BlockBuilder blockBuilder = type.createBlockBuilder(null, totalEntries); + BlockBuilder blockBuilder = type.createBlockBuilder(totalEntries); int positionCount = block.getPositionCount(); int elementBlockPosition = 0; for (int i = 0; i < positionCount; i++) { @@ -233,8 +233,8 @@ private static Block[] buildExpectedUnnestedMapBlocks(Block block, Type keyType, Block keyBlock = columnarMap.getKeysBlock(); Block valuesBlock = columnarMap.getValuesBlock(); - BlockBuilder keyBlockBuilder = keyType.createBlockBuilder(null, totalEntries); - BlockBuilder valueBlockBuilder = valueType.createBlockBuilder(null, totalEntries); + BlockBuilder keyBlockBuilder = keyType.createBlockBuilder(totalEntries); + BlockBuilder valueBlockBuilder = valueType.createBlockBuilder(totalEntries); int positionCount = block.getPositionCount(); int blockPosition = 0; @@ -268,7 +268,7 @@ private static Block[] buildExpectedUnnestedArrayOfRowBlock(Block block, List columns = ImmutableList.of(typed("col0", arrayType)); - ArrayBlockBuilder blockBuilder = arrayType.createBlockBuilder(null, 10); + ArrayBlockBuilder blockBuilder = arrayType.createBlockBuilder(10); blockBuilder.buildEntry(builder -> { for (int i = 0; i < 10; i++) { @@ -150,7 +150,7 @@ public void testIntegerArraySerialization() { ArrayType arrayType = new ArrayType(INTEGER); List columns = ImmutableList.of(typed("col0", arrayType)); - ArrayBlockBuilder blockBuilder = arrayType.createBlockBuilder(null, 10); + ArrayBlockBuilder blockBuilder = arrayType.createBlockBuilder(10); blockBuilder.buildEntry(builder -> { for (int i = 0; i < 10; i++) { @@ -180,7 +180,7 @@ public void testTinyintArraySerialization() { ArrayType arrayType = new ArrayType(TINYINT); List columns = ImmutableList.of(typed("col0", arrayType)); - ArrayBlockBuilder blockBuilder = arrayType.createBlockBuilder(null, 5); + ArrayBlockBuilder blockBuilder = arrayType.createBlockBuilder(5); blockBuilder.buildEntry(builder -> { for (int i = 0; i < 5; i++) { @@ -211,7 +211,7 @@ public void testSmallintArraySerialization() { ArrayType arrayType = new ArrayType(SMALLINT); List columns = ImmutableList.of(typed("col0", arrayType)); - ArrayBlockBuilder blockBuilder = arrayType.createBlockBuilder(null, 5); + ArrayBlockBuilder blockBuilder = arrayType.createBlockBuilder(5); blockBuilder.buildEntry(builder -> { for (int i = 0; i < 5; i++) { @@ -242,7 +242,7 @@ public void testDoubleArraySerialization() { ArrayType arrayType = new ArrayType(DOUBLE); List columns = ImmutableList.of(typed("col0", arrayType)); - ArrayBlockBuilder blockBuilder = arrayType.createBlockBuilder(null, 5); + ArrayBlockBuilder blockBuilder = arrayType.createBlockBuilder(5); blockBuilder.buildEntry(builder -> { for (int i = 0; i < 5; i++) { @@ -273,7 +273,7 @@ public void testRealArraySerialization() { ArrayType arrayType = new ArrayType(REAL); List columns = ImmutableList.of(typed("col0", arrayType)); - ArrayBlockBuilder blockBuilder = arrayType.createBlockBuilder(null, 7); + ArrayBlockBuilder blockBuilder = arrayType.createBlockBuilder(7); blockBuilder.buildEntry(builder -> { for (int i = 0; i < 5; i++) { @@ -322,7 +322,7 @@ public void testVarcharArraySerialization() { ArrayType arrayType = new ArrayType(VARCHAR); List columns = ImmutableList.of(typed("col0", arrayType)); - ArrayBlockBuilder blockBuilder = arrayType.createBlockBuilder(null, 6); + ArrayBlockBuilder blockBuilder = arrayType.createBlockBuilder(6); blockBuilder.buildEntry(builder -> { for (int i = 0; i < 5; i++) { @@ -361,7 +361,7 @@ public void testCharArraySerialization() CharType charType = CharType.createCharType(5); ArrayType arrayType = new ArrayType(charType); List columns = ImmutableList.of(typed("col0", arrayType)); - ArrayBlockBuilder blockBuilder = arrayType.createBlockBuilder(null, 6); + ArrayBlockBuilder blockBuilder = arrayType.createBlockBuilder(6); blockBuilder.buildEntry(builder -> { for (int i = 0; i < 5; i++) { @@ -392,7 +392,7 @@ public void testBooleanArraySerialization() { ArrayType arrayType = new ArrayType(BOOLEAN); List columns = ImmutableList.of(typed("col0", arrayType)); - ArrayBlockBuilder blockBuilder = arrayType.createBlockBuilder(null, 6); + ArrayBlockBuilder blockBuilder = arrayType.createBlockBuilder(6); blockBuilder.buildEntry(builder -> { for (int i = 0; i < 5; i++) { @@ -412,7 +412,7 @@ public void testMapSerialization() { MapType mapType = new MapType(REAL, DOUBLE, new TypeOperators()); List columns = ImmutableList.of(typed("col0", mapType)); - MapBlockBuilder blockBuilder = mapType.createBlockBuilder(null, 6); + MapBlockBuilder blockBuilder = mapType.createBlockBuilder(6); blockBuilder.buildEntry((keyBuilder, valueBuilder) -> { REAL.writeFloat(keyBuilder, 0.0f); @@ -451,7 +451,7 @@ public void testMapOfVarbinaryKeysSerialization() { MapType mapType = new MapType(VARBINARY, DOUBLE, new TypeOperators()); List columns = ImmutableList.of(typed("col0", mapType)); - MapBlockBuilder blockBuilder = mapType.createBlockBuilder(null, 6); + MapBlockBuilder blockBuilder = mapType.createBlockBuilder(6); blockBuilder.buildEntry((keyBuilder, valueBuilder) -> { VARBINARY.writeSlice(keyBuilder, utf8Slice("value")); @@ -482,7 +482,7 @@ public void testRowSerialization() RowType.field("c", BOOLEAN)); List columns = ImmutableList.of(typed("col0", rowType)); - RowBlockBuilder blockBuilder = rowType.createBlockBuilder(null, 2); + RowBlockBuilder blockBuilder = rowType.createBlockBuilder(2); blockBuilder.buildEntry(builders -> { BIGINT.writeLong(builders.get(0), 1); diff --git a/core/trino-main/src/test/java/io/trino/spiller/TestBinaryFileSpiller.java b/core/trino-main/src/test/java/io/trino/spiller/TestBinaryFileSpiller.java index 842d8413c626..7aa803af40a5 100644 --- a/core/trino-main/src/test/java/io/trino/spiller/TestBinaryFileSpiller.java +++ b/core/trino-main/src/test/java/io/trino/spiller/TestBinaryFileSpiller.java @@ -115,7 +115,7 @@ public void testFileVarbinarySpiller() BlockBuilder col1 = BIGINT.createFixedSizeBlockBuilder(1); BlockBuilder col2 = DOUBLE.createFixedSizeBlockBuilder(1); - BlockBuilder col3 = VARBINARY.createBlockBuilder(null, 1); + BlockBuilder col3 = VARBINARY.createBlockBuilder(1); BIGINT.writeLong(col1, 42); DOUBLE.writeDouble(col2, 43.0); diff --git a/core/trino-main/src/test/java/io/trino/spiller/TestFileSingleStreamSpiller.java b/core/trino-main/src/test/java/io/trino/spiller/TestFileSingleStreamSpiller.java index 13a8cac50f0f..def8a8c52f79 100644 --- a/core/trino-main/src/test/java/io/trino/spiller/TestFileSingleStreamSpiller.java +++ b/core/trino-main/src/test/java/io/trino/spiller/TestFileSingleStreamSpiller.java @@ -312,7 +312,7 @@ private Page buildPage(int pageNumber) { BlockBuilder col1 = BIGINT.createFixedSizeBlockBuilder(1); BlockBuilder col2 = DOUBLE.createFixedSizeBlockBuilder(1); - BlockBuilder col3 = VARBINARY.createBlockBuilder(null, 1); + BlockBuilder col3 = VARBINARY.createBlockBuilder(1); BIGINT.writeLong(col1, pageNumber); DOUBLE.writeDouble(col2, pageNumber + 0.5); diff --git a/core/trino-main/src/test/java/io/trino/sql/gen/BenchmarkDynamicPageFilter.java b/core/trino-main/src/test/java/io/trino/sql/gen/BenchmarkDynamicPageFilter.java index 95d1d454d478..77de1d936567 100644 --- a/core/trino-main/src/test/java/io/trino/sql/gen/BenchmarkDynamicPageFilter.java +++ b/core/trino-main/src/test/java/io/trino/sql/gen/BenchmarkDynamicPageFilter.java @@ -187,7 +187,7 @@ private static List createSingleColumnData(ValueWriter valueWriter, Type t ImmutableList.Builder pages = ImmutableList.builder(); Random random = new Random(32167); int batchSize = 1; - BlockBuilder blockBuilder = type.createBlockBuilder(null, batchSize); + BlockBuilder blockBuilder = type.createBlockBuilder(batchSize); for (int i = 0; i < rows; i++) { if (isTrue(random, nullChance)) { blockBuilder.appendNull(); @@ -200,7 +200,7 @@ private static List createSingleColumnData(ValueWriter valueWriter, Type t Block block = blockBuilder.build(); pages.add(new Page(block)); batchSize = Math.min(1024, batchSize * 2); - blockBuilder = type.createBlockBuilder(null, batchSize); + blockBuilder = type.createBlockBuilder(batchSize); } } if (blockBuilder.getPositionCount() > 0) { diff --git a/core/trino-main/src/test/java/io/trino/sql/gen/TestColumnarFilters.java b/core/trino-main/src/test/java/io/trino/sql/gen/TestColumnarFilters.java index bdc917a5ce92..d0fc1d134ca2 100644 --- a/core/trino-main/src/test/java/io/trino/sql/gen/TestColumnarFilters.java +++ b/core/trino-main/src/test/java/io/trino/sql/gen/TestColumnarFilters.java @@ -766,7 +766,7 @@ private static Block createStringsBlock(int positionsCount, NullsProvider nullsP boolean containsNulls = nullsProvider != NullsProvider.NO_NULLS && nullsProvider != NullsProvider.NO_NULLS_WITH_MAY_HAVE_NULL; int nonNullDictionarySize = 20; int dictionarySize = nonNullDictionarySize + (containsNulls ? 1 : 0); // last element in dictionary denotes null - VariableWidthBlockBuilder builder = new VariableWidthBlockBuilder(null, dictionarySize, dictionarySize * 10); + VariableWidthBlockBuilder builder = new VariableWidthBlockBuilder(dictionarySize, dictionarySize * 10); for (int i = 0; i < nonNullDictionarySize; i++) { builder.writeEntry(Slices.utf8Slice(Long.toString(CONSTANT - 10 + i))); } @@ -778,7 +778,7 @@ private static Block createStringsBlock(int positionsCount, NullsProvider nullsP Optional isNull = nullsProvider.getNulls(positionsCount); assertThat(isNull.isEmpty() || isNull.get().length == positionsCount).isTrue(); - VariableWidthBlockBuilder builder = new VariableWidthBlockBuilder(null, positionsCount, positionsCount * 10); + VariableWidthBlockBuilder builder = new VariableWidthBlockBuilder(positionsCount, positionsCount * 10); for (int i = 0; i < positionsCount; i++) { if (isNull.isPresent() && isNull.get()[i]) { builder.appendNull(); @@ -792,7 +792,7 @@ private static Block createStringsBlock(int positionsCount, NullsProvider nullsP private static Block createArraysBlock(int positionsCount, NullsProvider nullsProvider) { - ArrayBlockBuilder builder = new ArrayBlockBuilder(INTEGER, null, positionsCount); + ArrayBlockBuilder builder = new ArrayBlockBuilder(INTEGER, positionsCount); Optional isNull = nullsProvider.getNulls(positionsCount); assertThat(isNull.isEmpty() || isNull.get().length == positionsCount).isTrue(); for (int position = 0; position < positionsCount; position++) { @@ -876,7 +876,7 @@ else if (type == VARCHAR) { private static Block createIntArray(Long... values) { - IntArrayBlockBuilder builder = new IntArrayBlockBuilder(null, values.length); + IntArrayBlockBuilder builder = new IntArrayBlockBuilder(values.length); for (Long value : values) { if (value == null) { builder.appendNull(); diff --git a/core/trino-main/src/test/java/io/trino/sql/ir/optimizer/TestSimplifyContinuousInValues.java b/core/trino-main/src/test/java/io/trino/sql/ir/optimizer/TestSimplifyContinuousInValues.java index 8ab265b1f140..9b3f7141348a 100644 --- a/core/trino-main/src/test/java/io/trino/sql/ir/optimizer/TestSimplifyContinuousInValues.java +++ b/core/trino-main/src/test/java/io/trino/sql/ir/optimizer/TestSimplifyContinuousInValues.java @@ -144,7 +144,7 @@ public void verifySupportedTypeAssumptions() assertThat(type.getJavaType()).isEqualTo(long.class); // Continuous logical values for the Type - BlockBuilder blockBuilder = type.createBlockBuilder(null, 201); + BlockBuilder blockBuilder = type.createBlockBuilder(201); Object currentValue = 0L; for (int i = 0; i < 100; i++) { writeNativeValue(type, blockBuilder, currentValue); diff --git a/core/trino-main/src/test/java/io/trino/sql/planner/TestDeleteAndInsertMergeProcessor.java b/core/trino-main/src/test/java/io/trino/sql/planner/TestDeleteAndInsertMergeProcessor.java index 4c853965a762..728f051384f9 100644 --- a/core/trino-main/src/test/java/io/trino/sql/planner/TestDeleteAndInsertMergeProcessor.java +++ b/core/trino-main/src/test/java/io/trino/sql/planner/TestDeleteAndInsertMergeProcessor.java @@ -22,7 +22,6 @@ import io.trino.spi.block.ByteArrayBlock; import io.trino.spi.block.IntArrayBlock; import io.trino.spi.block.LongArrayBlock; -import io.trino.spi.block.PageBuilderStatus; import io.trino.spi.block.RowBlock; import io.trino.spi.block.SqlRow; import io.trino.spi.type.RowType; @@ -213,7 +212,7 @@ private ByteArrayBlock makeByteArrayBlock(int... elements) private Block makeVarcharArrayBlock(String... elements) { - BlockBuilder builder = VARCHAR.createBlockBuilder(new PageBuilderStatus().createBlockBuilderStatus(), elements.length); + BlockBuilder builder = VARCHAR.createBlockBuilder(elements.length); for (String element : elements) { if (element == null) { builder.appendNull(); diff --git a/core/trino-main/src/test/java/io/trino/type/AbstractTestType.java b/core/trino-main/src/test/java/io/trino/type/AbstractTestType.java index 77d639cc9eb6..7d90de8d0697 100644 --- a/core/trino-main/src/test/java/io/trino/type/AbstractTestType.java +++ b/core/trino-main/src/test/java/io/trino/type/AbstractTestType.java @@ -166,7 +166,7 @@ protected AbstractTestType(Type type, Class objectValueType, ValueBlock testB private ValueBlock createAlternatingNullsBlock(Block testBlock) { - BlockBuilder nullsBlockBuilder = type.createBlockBuilder(null, testBlock.getPositionCount()); + BlockBuilder nullsBlockBuilder = type.createBlockBuilder(testBlock.getPositionCount()); for (int position = 0; position < testBlock.getPositionCount(); position++) { if (testBlock.isNull(position)) { checkState(type instanceof UnknownType); @@ -281,7 +281,7 @@ else if (stackStackEqualOperator != null) { assertThat(readFlatMethod.invoke(fixed, elementFixedOffset, variable, variableOffset)).isEqualTo(expectedStackValue); } - BlockBuilder blockBuilder = type.createBlockBuilder(null, 1); + BlockBuilder blockBuilder = type.createBlockBuilder(1); writeFlatToBlockMethod.invokeExact(fixed, elementFixedOffset, variable, variableOffset, blockBuilder); assertPositionEquals(testBlock, i, expectedStackValue, expectedObjectValues.get(i)); @@ -298,7 +298,7 @@ else if (stackStackEqualOperator != null) { assertThat((boolean) flatBlockPositionIdenticalOperator.invokeExact(fixed, elementFixedOffset, variable, variableOffset, testBlock, i)).isTrue(); assertThat((boolean) blockPositionFlatIdenticalOperator.invokeExact(testBlock, i, fixed, elementFixedOffset, variable, variableOffset)).isTrue(); - ValueBlock nullValue = type.createBlockBuilder(null, 1).appendNull().buildValueBlock(); + ValueBlock nullValue = type.createBlockBuilder(1).appendNull().buildValueBlock(); assertThat((boolean) flatBlockPositionIdenticalOperator.invokeExact(fixed, elementFixedOffset, variable, variableOffset, nullValue, 0)).isFalse(); assertThat((boolean) blockPositionFlatIdenticalOperator.invokeExact(nullValue, 0, fixed, elementFixedOffset, variable, variableOffset)).isFalse(); } @@ -327,12 +327,12 @@ protected void assertPositionEquals(ValueBlock block, int position, Object expec assertPositionValue(block.getRegion(0, position + 1), position, expectedStackValue, hash, expectedObjectValue); assertPositionValue(block.getRegion(position, block.getPositionCount() - position), 0, expectedStackValue, hash, expectedObjectValue); - BlockBuilder blockBuilder = type.createBlockBuilder(null, 1); + BlockBuilder blockBuilder = type.createBlockBuilder(1); blockBuilder.append(block.getUnderlyingValueBlock(), block.getUnderlyingValuePosition(position)); assertPositionValue(blockBuilder.buildValueBlock(), 0, expectedStackValue, hash, expectedObjectValue); if (expectedStackValue != null) { - blockBuilder = type.createBlockBuilder(null, 1); + blockBuilder = type.createBlockBuilder(1); writeBlockMethod.invoke(expectedStackValue, blockBuilder); assertPositionValue(blockBuilder.buildValueBlock(), 0, expectedStackValue, hash, expectedObjectValue); } @@ -586,7 +586,7 @@ else if (type.getJavaType() == Slice.class) { private static Block createBlock(Type type, Object value) { - BlockBuilder blockBuilder = type.createBlockBuilder(null, 1); + BlockBuilder blockBuilder = type.createBlockBuilder(1); Class javaType = type.getJavaType(); if (value == null) { @@ -673,7 +673,7 @@ private static Object getNonNullValueForType(Type type) private Block toBlock(Object value) { - BlockBuilder blockBuilder = type.createBlockBuilder(null, 1); + BlockBuilder blockBuilder = type.createBlockBuilder(1); Class javaType = type.getJavaType(); if (value == null) { blockBuilder.appendNull(); diff --git a/core/trino-main/src/test/java/io/trino/type/TestArrayOfMapOfBigintVarcharType.java b/core/trino-main/src/test/java/io/trino/type/TestArrayOfMapOfBigintVarcharType.java index 7c04b7e78363..f57b8de9c5ce 100644 --- a/core/trino-main/src/test/java/io/trino/type/TestArrayOfMapOfBigintVarcharType.java +++ b/core/trino-main/src/test/java/io/trino/type/TestArrayOfMapOfBigintVarcharType.java @@ -41,7 +41,7 @@ public TestArrayOfMapOfBigintVarcharType() public static ValueBlock createTestBlock() { - BlockBuilder blockBuilder = TYPE.createBlockBuilder(null, 4); + BlockBuilder blockBuilder = TYPE.createBlockBuilder(4); TYPE.writeObject(blockBuilder, arrayBlockOf(TYPE.getElementType(), sqlMapOf(BIGINT, VARCHAR, ImmutableMap.of(1, "hi")), sqlMapOf(BIGINT, VARCHAR, ImmutableMap.of(2, "bye")))); diff --git a/core/trino-main/src/test/java/io/trino/type/TestArrayOperators.java b/core/trino-main/src/test/java/io/trino/type/TestArrayOperators.java index c7f069441843..d34e1ab47ab8 100644 --- a/core/trino-main/src/test/java/io/trino/type/TestArrayOperators.java +++ b/core/trino-main/src/test/java/io/trino/type/TestArrayOperators.java @@ -121,7 +121,7 @@ public void testStackRepresentation() DynamicSliceOutput actualSliceOutput = new DynamicSliceOutput(100); writeBlock(assertions.getQueryRunner().getPlannerContext().getBlockEncodingSerde(), actualSliceOutput, actualBlock); - ArrayBlockBuilder expectedBlockBuilder = arrayType.createBlockBuilder(null, 3); + ArrayBlockBuilder expectedBlockBuilder = arrayType.createBlockBuilder(3); expectedBlockBuilder.buildEntry(elementBuilder -> { BIGINT.writeLong(elementBuilder, 1); BIGINT.writeLong(elementBuilder, 2); diff --git a/core/trino-main/src/test/java/io/trino/type/TestBigintArrayType.java b/core/trino-main/src/test/java/io/trino/type/TestBigintArrayType.java index 9a8b192fde29..f6bf0a4568b9 100644 --- a/core/trino-main/src/test/java/io/trino/type/TestBigintArrayType.java +++ b/core/trino-main/src/test/java/io/trino/type/TestBigintArrayType.java @@ -37,7 +37,7 @@ public TestBigintArrayType() public static ValueBlock createTestBlock(Type arrayType) { - BlockBuilder blockBuilder = arrayType.createBlockBuilder(null, 4); + BlockBuilder blockBuilder = arrayType.createBlockBuilder(4); arrayType.writeObject(blockBuilder, arrayBlockOf(BIGINT, 1, 2)); arrayType.writeObject(blockBuilder, arrayBlockOf(BIGINT, 1, 2, 3)); arrayType.writeObject(blockBuilder, arrayBlockOf(BIGINT, 1, 2, 3)); diff --git a/core/trino-main/src/test/java/io/trino/type/TestBigintVarcharMapType.java b/core/trino-main/src/test/java/io/trino/type/TestBigintVarcharMapType.java index 88f279d6dd75..e3623bf32bca 100644 --- a/core/trino-main/src/test/java/io/trino/type/TestBigintVarcharMapType.java +++ b/core/trino-main/src/test/java/io/trino/type/TestBigintVarcharMapType.java @@ -38,7 +38,7 @@ public TestBigintVarcharMapType() public static ValueBlock createTestBlock(Type mapType) { - BlockBuilder blockBuilder = mapType.createBlockBuilder(null, 2); + BlockBuilder blockBuilder = mapType.createBlockBuilder(2); mapType.writeObject(blockBuilder, sqlMapOf(BIGINT, VARCHAR, ImmutableMap.of(1, "hi"))); mapType.writeObject(blockBuilder, sqlMapOf(BIGINT, VARCHAR, ImmutableMap.of(1, "2", 2, "hello"))); mapType.writeObject(blockBuilder, sqlMapOf(BIGINT, VARCHAR, ImmutableMap.of(1, "123456789012345", 2, "hello-world-hello-world-hello-world"))); diff --git a/core/trino-main/src/test/java/io/trino/type/TestBoundedVarcharType.java b/core/trino-main/src/test/java/io/trino/type/TestBoundedVarcharType.java index 94f2479ce734..937c5d1b11f3 100644 --- a/core/trino-main/src/test/java/io/trino/type/TestBoundedVarcharType.java +++ b/core/trino-main/src/test/java/io/trino/type/TestBoundedVarcharType.java @@ -35,7 +35,7 @@ public TestBoundedVarcharType() private static ValueBlock createTestBlock(VarcharType type) { - BlockBuilder blockBuilder = type.createBlockBuilder(null, 15); + BlockBuilder blockBuilder = type.createBlockBuilder(15); type.writeString(blockBuilder, "apple"); type.writeString(blockBuilder, "apple"); type.writeString(blockBuilder, "apple"); diff --git a/core/trino-main/src/test/java/io/trino/type/TestCharType.java b/core/trino-main/src/test/java/io/trino/type/TestCharType.java index 3689d835a2fa..717fbe0554fd 100644 --- a/core/trino-main/src/test/java/io/trino/type/TestCharType.java +++ b/core/trino-main/src/test/java/io/trino/type/TestCharType.java @@ -45,7 +45,7 @@ public TestCharType() public static ValueBlock createTestBlock() { - BlockBuilder blockBuilder = CHAR_TYPE.createBlockBuilder(null, 15); + BlockBuilder blockBuilder = CHAR_TYPE.createBlockBuilder(15); CHAR_TYPE.writeString(blockBuilder, "apple"); CHAR_TYPE.writeString(blockBuilder, "apple"); CHAR_TYPE.writeString(blockBuilder, "apple"); @@ -72,7 +72,7 @@ public void testGetObjectValue() CharType charType = createCharType(3); for (int codePoint : ImmutableList.of(0, 1, 10, 17, (int) ' ', 127, 1011, 11_000, 65_891, MIN_SUPPLEMENTARY_CODE_POINT, MAX_CODE_POINT)) { - VariableWidthBlockBuilder blockBuilder = charType.createBlockBuilder(null, 1); + VariableWidthBlockBuilder blockBuilder = charType.createBlockBuilder(1); Slice slice = (codePoint != ' ') ? codePointToUtf8(codePoint) : EMPTY_SLICE; blockBuilder.writeEntry(slice); Block block = blockBuilder.build(); diff --git a/core/trino-main/src/test/java/io/trino/type/TestColorArrayType.java b/core/trino-main/src/test/java/io/trino/type/TestColorArrayType.java index f2d81fe09119..75fdc353c56e 100644 --- a/core/trino-main/src/test/java/io/trino/type/TestColorArrayType.java +++ b/core/trino-main/src/test/java/io/trino/type/TestColorArrayType.java @@ -37,7 +37,7 @@ public TestColorArrayType() public static ValueBlock createTestBlock(Type arrayType) { - BlockBuilder blockBuilder = arrayType.createBlockBuilder(null, 4); + BlockBuilder blockBuilder = arrayType.createBlockBuilder(4); arrayType.writeObject(blockBuilder, arrayBlockOf(COLOR, 1, 2)); arrayType.writeObject(blockBuilder, arrayBlockOf(COLOR, 1, 2, 3)); arrayType.writeObject(blockBuilder, arrayBlockOf(COLOR, 1, 2, 3)); diff --git a/core/trino-main/src/test/java/io/trino/type/TestIntegerArrayType.java b/core/trino-main/src/test/java/io/trino/type/TestIntegerArrayType.java index 497e99735150..1d0e6efa504a 100644 --- a/core/trino-main/src/test/java/io/trino/type/TestIntegerArrayType.java +++ b/core/trino-main/src/test/java/io/trino/type/TestIntegerArrayType.java @@ -37,7 +37,7 @@ public TestIntegerArrayType() public static ValueBlock createTestBlock(Type arrayType) { - BlockBuilder blockBuilder = arrayType.createBlockBuilder(null, 4); + BlockBuilder blockBuilder = arrayType.createBlockBuilder(4); arrayType.writeObject(blockBuilder, arrayBlockOf(INTEGER, 1, 2)); arrayType.writeObject(blockBuilder, arrayBlockOf(INTEGER, 1, 2, 3)); arrayType.writeObject(blockBuilder, arrayBlockOf(INTEGER, 1, 2, 3)); diff --git a/core/trino-main/src/test/java/io/trino/type/TestIntegerVarcharMapType.java b/core/trino-main/src/test/java/io/trino/type/TestIntegerVarcharMapType.java index 5349a0475f2a..23921722d932 100644 --- a/core/trino-main/src/test/java/io/trino/type/TestIntegerVarcharMapType.java +++ b/core/trino-main/src/test/java/io/trino/type/TestIntegerVarcharMapType.java @@ -38,7 +38,7 @@ public TestIntegerVarcharMapType() public static ValueBlock createTestBlock(Type mapType) { - BlockBuilder blockBuilder = mapType.createBlockBuilder(null, 2); + BlockBuilder blockBuilder = mapType.createBlockBuilder(2); mapType.writeObject(blockBuilder, sqlMapOf(INTEGER, VARCHAR, ImmutableMap.of(1, "hi"))); mapType.writeObject(blockBuilder, sqlMapOf(INTEGER, VARCHAR, ImmutableMap.of(1, "2", 2, "hello"))); mapType.writeObject(blockBuilder, sqlMapOf(INTEGER, VARCHAR, ImmutableMap.of(1, "123456789012345", 2, "hello-world-hello-world-hello-world"))); diff --git a/core/trino-main/src/test/java/io/trino/type/TestJsonPath2016TypeSerialization.java b/core/trino-main/src/test/java/io/trino/type/TestJsonPath2016TypeSerialization.java index 70cbf37a7d6c..fdc12151bb76 100644 --- a/core/trino-main/src/test/java/io/trino/type/TestJsonPath2016TypeSerialization.java +++ b/core/trino-main/src/test/java/io/trino/type/TestJsonPath2016TypeSerialization.java @@ -213,7 +213,7 @@ public void testNestedStructure() private static void assertJsonRoundTrip(IrJsonPath object) { - BlockBuilder blockBuilder = JSON_PATH_2016.createBlockBuilder(null, 1); + BlockBuilder blockBuilder = JSON_PATH_2016.createBlockBuilder(1); JSON_PATH_2016.writeObject(blockBuilder, object); Block serialized = blockBuilder.build(); Object deserialized = JSON_PATH_2016.getObject(serialized, 0); diff --git a/core/trino-main/src/test/java/io/trino/type/TestJsonType.java b/core/trino-main/src/test/java/io/trino/type/TestJsonType.java index 20f14a17b824..7e401f5a5e64 100644 --- a/core/trino-main/src/test/java/io/trino/type/TestJsonType.java +++ b/core/trino-main/src/test/java/io/trino/type/TestJsonType.java @@ -33,7 +33,7 @@ public TestJsonType() public static ValueBlock createTestBlock() { - BlockBuilder blockBuilder = JSON.createBlockBuilder(null, 1); + BlockBuilder blockBuilder = JSON.createBlockBuilder(1); Slice slice = Slices.utf8Slice("{\"x\":1, \"y\":2}"); JSON.writeSlice(blockBuilder, slice); return blockBuilder.buildValueBlock(); diff --git a/core/trino-main/src/test/java/io/trino/type/TestLikePatternType.java b/core/trino-main/src/test/java/io/trino/type/TestLikePatternType.java index 501531ae2d61..249269c019f2 100644 --- a/core/trino-main/src/test/java/io/trino/type/TestLikePatternType.java +++ b/core/trino-main/src/test/java/io/trino/type/TestLikePatternType.java @@ -15,7 +15,6 @@ import io.trino.spi.block.Block; import io.trino.spi.block.BlockBuilder; -import io.trino.spi.block.PageBuilderStatus; import org.junit.jupiter.api.Test; import java.util.Optional; @@ -28,7 +27,7 @@ public class TestLikePatternType @Test public void testGetObject() { - BlockBuilder blockBuilder = LIKE_PATTERN.createBlockBuilder(new PageBuilderStatus().createBlockBuilderStatus(), 10); + BlockBuilder blockBuilder = LIKE_PATTERN.createBlockBuilder(10); LIKE_PATTERN.writeObject(blockBuilder, LikePattern.compile("helloX_world", Optional.of('X'))); LIKE_PATTERN.writeObject(blockBuilder, LikePattern.compile("foo%_bar", Optional.empty())); Block block = blockBuilder.build(); diff --git a/core/trino-main/src/test/java/io/trino/type/TestRealType.java b/core/trino-main/src/test/java/io/trino/type/TestRealType.java index b4655ef578fe..24fad2362518 100644 --- a/core/trino-main/src/test/java/io/trino/type/TestRealType.java +++ b/core/trino-main/src/test/java/io/trino/type/TestRealType.java @@ -62,7 +62,7 @@ protected Object getGreaterValue(Object value) @Test public void testNaNHash() { - BlockBuilder blockBuilder = new IntArrayBlockBuilder(null, 5); + BlockBuilder blockBuilder = new IntArrayBlockBuilder(5); REAL.writeFloat(blockBuilder, Float.NaN); REAL.writeInt(blockBuilder, floatToIntBits(Float.NaN)); REAL.writeInt(blockBuilder, floatToRawIntBits(Float.NaN)); diff --git a/core/trino-main/src/test/java/io/trino/type/TestSimpleRowType.java b/core/trino-main/src/test/java/io/trino/type/TestSimpleRowType.java index a31cadf58b20..440a95894efe 100644 --- a/core/trino-main/src/test/java/io/trino/type/TestSimpleRowType.java +++ b/core/trino-main/src/test/java/io/trino/type/TestSimpleRowType.java @@ -43,7 +43,7 @@ public TestSimpleRowType() private static ValueBlock createTestBlock() { - RowBlockBuilder blockBuilder = TYPE.createBlockBuilder(null, 3); + RowBlockBuilder blockBuilder = TYPE.createBlockBuilder(3); blockBuilder.buildEntry(fieldBuilders -> { BIGINT.writeLong(fieldBuilders.get(0), 1); diff --git a/core/trino-main/src/test/java/io/trino/type/TestSmallintArrayType.java b/core/trino-main/src/test/java/io/trino/type/TestSmallintArrayType.java index e84fda120dff..4c6b7b308144 100644 --- a/core/trino-main/src/test/java/io/trino/type/TestSmallintArrayType.java +++ b/core/trino-main/src/test/java/io/trino/type/TestSmallintArrayType.java @@ -37,7 +37,7 @@ public TestSmallintArrayType() public static ValueBlock createTestBlock(Type arrayType) { - BlockBuilder blockBuilder = arrayType.createBlockBuilder(null, 4); + BlockBuilder blockBuilder = arrayType.createBlockBuilder(4); arrayType.writeObject(blockBuilder, arrayBlockOf(SMALLINT, 1, 2)); arrayType.writeObject(blockBuilder, arrayBlockOf(SMALLINT, 1, 2, 3)); arrayType.writeObject(blockBuilder, arrayBlockOf(SMALLINT, 1, 2, 3)); diff --git a/core/trino-main/src/test/java/io/trino/type/TestSmallintVarcharMapType.java b/core/trino-main/src/test/java/io/trino/type/TestSmallintVarcharMapType.java index 15eead1a0eb6..2ab62459019d 100644 --- a/core/trino-main/src/test/java/io/trino/type/TestSmallintVarcharMapType.java +++ b/core/trino-main/src/test/java/io/trino/type/TestSmallintVarcharMapType.java @@ -38,7 +38,7 @@ public TestSmallintVarcharMapType() public static ValueBlock createTestBlock(Type mapType) { - BlockBuilder blockBuilder = mapType.createBlockBuilder(null, 2); + BlockBuilder blockBuilder = mapType.createBlockBuilder(2); mapType.writeObject(blockBuilder, sqlMapOf(SMALLINT, VARCHAR, ImmutableMap.of(1, "hi"))); mapType.writeObject(blockBuilder, sqlMapOf(SMALLINT, VARCHAR, ImmutableMap.of(1, "2", 2, "hello"))); mapType.writeObject(blockBuilder, sqlMapOf(SMALLINT, VARCHAR, ImmutableMap.of(1, "123456789012345", 2, "hello-world-hello-world-hello-world"))); diff --git a/core/trino-main/src/test/java/io/trino/type/TestTinyintArrayType.java b/core/trino-main/src/test/java/io/trino/type/TestTinyintArrayType.java index b25ee0913bab..561aec119568 100644 --- a/core/trino-main/src/test/java/io/trino/type/TestTinyintArrayType.java +++ b/core/trino-main/src/test/java/io/trino/type/TestTinyintArrayType.java @@ -37,7 +37,7 @@ public TestTinyintArrayType() public static ValueBlock createTestBlock(Type arrayType) { - BlockBuilder blockBuilder = arrayType.createBlockBuilder(null, 4); + BlockBuilder blockBuilder = arrayType.createBlockBuilder(4); arrayType.writeObject(blockBuilder, arrayBlockOf(TINYINT, 1, 2)); arrayType.writeObject(blockBuilder, arrayBlockOf(TINYINT, 1, 2, 3)); arrayType.writeObject(blockBuilder, arrayBlockOf(TINYINT, 1, 2, 3)); diff --git a/core/trino-main/src/test/java/io/trino/type/TestTinyintVarcharMapType.java b/core/trino-main/src/test/java/io/trino/type/TestTinyintVarcharMapType.java index 522bc24c44d8..e3c51a032c60 100644 --- a/core/trino-main/src/test/java/io/trino/type/TestTinyintVarcharMapType.java +++ b/core/trino-main/src/test/java/io/trino/type/TestTinyintVarcharMapType.java @@ -38,7 +38,7 @@ public TestTinyintVarcharMapType() public static ValueBlock createTestBlock(Type mapType) { - BlockBuilder blockBuilder = mapType.createBlockBuilder(null, 2); + BlockBuilder blockBuilder = mapType.createBlockBuilder(2); mapType.writeObject(blockBuilder, sqlMapOf(TINYINT, VARCHAR, ImmutableMap.of(1, "hi"))); mapType.writeObject(blockBuilder, sqlMapOf(TINYINT, VARCHAR, ImmutableMap.of(1, "2", 2, "hello"))); mapType.writeObject(blockBuilder, sqlMapOf(TINYINT, VARCHAR, ImmutableMap.of(1, "123456789012345", 2, "hello-world-hello-world-hello-world"))); diff --git a/core/trino-main/src/test/java/io/trino/type/TestUnboundedVarcharType.java b/core/trino-main/src/test/java/io/trino/type/TestUnboundedVarcharType.java index 4fb2e02eab98..3814cd4fdef6 100644 --- a/core/trino-main/src/test/java/io/trino/type/TestUnboundedVarcharType.java +++ b/core/trino-main/src/test/java/io/trino/type/TestUnboundedVarcharType.java @@ -32,7 +32,7 @@ public TestUnboundedVarcharType() private static ValueBlock createTestBlock() { - BlockBuilder blockBuilder = VARCHAR.createBlockBuilder(null, 15); + BlockBuilder blockBuilder = VARCHAR.createBlockBuilder(15); VARCHAR.writeString(blockBuilder, "apple"); VARCHAR.writeString(blockBuilder, "apple"); VARCHAR.writeString(blockBuilder, "apple"); diff --git a/core/trino-main/src/test/java/io/trino/type/TestVarbinaryType.java b/core/trino-main/src/test/java/io/trino/type/TestVarbinaryType.java index 4b3e2c92dcd2..2b8b958ec01f 100644 --- a/core/trino-main/src/test/java/io/trino/type/TestVarbinaryType.java +++ b/core/trino-main/src/test/java/io/trino/type/TestVarbinaryType.java @@ -33,7 +33,7 @@ public TestVarbinaryType() public static ValueBlock createTestBlock() { - BlockBuilder blockBuilder = VARBINARY.createBlockBuilder(null, 15); + BlockBuilder blockBuilder = VARBINARY.createBlockBuilder(15); VARBINARY.writeSlice(blockBuilder, Slices.utf8Slice("apple")); VARBINARY.writeSlice(blockBuilder, Slices.utf8Slice("apple")); VARBINARY.writeSlice(blockBuilder, Slices.utf8Slice("apple")); diff --git a/core/trino-main/src/test/java/io/trino/type/TestVarcharArrayType.java b/core/trino-main/src/test/java/io/trino/type/TestVarcharArrayType.java index fa1344d33871..f5c17c287532 100644 --- a/core/trino-main/src/test/java/io/trino/type/TestVarcharArrayType.java +++ b/core/trino-main/src/test/java/io/trino/type/TestVarcharArrayType.java @@ -38,7 +38,7 @@ public TestVarcharArrayType() public static ValueBlock createTestBlock(Type arrayType) { - BlockBuilder blockBuilder = arrayType.createBlockBuilder(null, 4); + BlockBuilder blockBuilder = arrayType.createBlockBuilder(4); arrayType.writeObject(blockBuilder, arrayBlockOf(VARCHAR, "1", "2")); arrayType.writeObject(blockBuilder, arrayBlockOf(VARCHAR, "the", "quick", "brown", "fox")); arrayType.writeObject(blockBuilder, arrayBlockOf(VARCHAR, "one-two-three-four-five", "123456789012345", "the quick brown fox", "hello-world-hello-world-hello-world")); @@ -49,7 +49,7 @@ public static ValueBlock createTestBlock(Type arrayType) protected Object getGreaterValue(Object value) { Block block = (Block) value; - BlockBuilder blockBuilder = VARCHAR.createBlockBuilder(null, block.getPositionCount() + 1); + BlockBuilder blockBuilder = VARCHAR.createBlockBuilder(block.getPositionCount() + 1); for (int i = 0; i < block.getPositionCount(); i++) { blockBuilder.append(block.getUnderlyingValueBlock(), block.getUnderlyingValuePosition(i)); } diff --git a/core/trino-main/src/test/java/io/trino/type/TestVarcharVarcharMapType.java b/core/trino-main/src/test/java/io/trino/type/TestVarcharVarcharMapType.java index 42a666cda7e2..25fa20146019 100644 --- a/core/trino-main/src/test/java/io/trino/type/TestVarcharVarcharMapType.java +++ b/core/trino-main/src/test/java/io/trino/type/TestVarcharVarcharMapType.java @@ -37,7 +37,7 @@ public TestVarcharVarcharMapType() public static ValueBlock createTestBlock(Type mapType) { - BlockBuilder blockBuilder = mapType.createBlockBuilder(null, 2); + BlockBuilder blockBuilder = mapType.createBlockBuilder(2); mapType.writeObject(blockBuilder, sqlMapOf(VARCHAR, VARCHAR, ImmutableMap.of("hi", "there"))); mapType.writeObject(blockBuilder, sqlMapOf(VARCHAR, VARCHAR, ImmutableMap.of("one", "1", "hello", "world"))); mapType.writeObject(blockBuilder, sqlMapOf(VARCHAR, VARCHAR, ImmutableMap.of("one-two-three-four-five", "123456789012345", "the quick brown fox", "hello-world-hello-world-hello-world"))); diff --git a/core/trino-main/src/test/java/io/trino/util/StructuralTestUtil.java b/core/trino-main/src/test/java/io/trino/util/StructuralTestUtil.java index 9abc65a905b4..7a0efdcd1ce6 100644 --- a/core/trino-main/src/test/java/io/trino/util/StructuralTestUtil.java +++ b/core/trino-main/src/test/java/io/trino/util/StructuralTestUtil.java @@ -48,7 +48,7 @@ private StructuralTestUtil() {} public static Block arrayBlockOf(Type elementType, Object... values) { - BlockBuilder blockBuilder = elementType.createBlockBuilder(null, values.length); + BlockBuilder blockBuilder = elementType.createBlockBuilder(values.length); for (Object value : values) { appendToBlockBuilder(elementType, value, blockBuilder); } diff --git a/core/trino-main/src/test/java/io/trino/util/TestFastutilSetHelper.java b/core/trino-main/src/test/java/io/trino/util/TestFastutilSetHelper.java index 4314cd0c608e..bf97df37786a 100644 --- a/core/trino-main/src/test/java/io/trino/util/TestFastutilSetHelper.java +++ b/core/trino-main/src/test/java/io/trino/util/TestFastutilSetHelper.java @@ -164,7 +164,7 @@ private TestInput(Type type, List> inputs) this.type = type; ImmutableList.Builder builder = ImmutableList.builder(); for (List values : inputs) { - BlockBuilder blockBuilder = type.createBlockBuilder(null, inputs.size()); + BlockBuilder blockBuilder = type.createBlockBuilder(inputs.size()); for (Object value : values) { writeNativeValue(type, blockBuilder, value); } diff --git a/core/trino-spi/src/main/java/io/trino/spi/PageBuilder.java b/core/trino-spi/src/main/java/io/trino/spi/PageBuilder.java index ffbb3ea321d3..7eb665c2b213 100644 --- a/core/trino-spi/src/main/java/io/trino/spi/PageBuilder.java +++ b/core/trino-spi/src/main/java/io/trino/spi/PageBuilder.java @@ -19,6 +19,7 @@ import io.trino.spi.type.Type; import java.util.List; +import java.util.OptionalInt; import static io.trino.spi.block.PageBuilderStatus.DEFAULT_MAX_PAGE_SIZE_IN_BYTES; import static java.lang.String.format; @@ -31,6 +32,7 @@ public class PageBuilder // // This could be any other small number. private static final int DEFAULT_INITIAL_EXPECTED_ENTRIES = 8; + private static final int MAX_ENTRIES = 64 * 1024; private final BlockBuilder[] blockBuilders; private PageBuilderStatus pageBuilderStatus; @@ -63,12 +65,12 @@ public static PageBuilder withMaxPageSize(int maxPageBytes, List private PageBuilder(int initialExpectedEntries, int maxPageBytes, List types) { - pageBuilderStatus = new PageBuilderStatus(maxPageBytes); + pageBuilderStatus = new PageBuilderStatus(maxPageBytes, this::getCurrentSizeInBytes, OptionalInt.empty()); // Stream API should not be used since constructor can be called in performance sensitive sections blockBuilders = new BlockBuilder[types.size()]; for (int i = 0; i < blockBuilders.length; i++) { - blockBuilders[i] = types.get(i).createBlockBuilder(pageBuilderStatus.createBlockBuilderStatus(), initialExpectedEntries); + blockBuilders[i] = types.get(i).createBlockBuilder(initialExpectedEntries); } } @@ -77,12 +79,12 @@ public void reset() if (isEmpty()) { return; } - pageBuilderStatus = new PageBuilderStatus(pageBuilderStatus.getMaxPageSizeInBytes()); + pageBuilderStatus = new PageBuilderStatus(pageBuilderStatus.getMaxPageSizeInBytes(), this::getCurrentSizeInBytes, OptionalInt.of(pageBuilderStatus.getMaxRowCountHint())); declaredPositions = 0; for (int i = 0; i < blockBuilders.length; i++) { - blockBuilders[i] = blockBuilders[i].newBlockBuilderLike(pageBuilderStatus.createBlockBuilderStatus()); + blockBuilders[i] = blockBuilders[i].newBlockBuilderLike(); } } @@ -119,7 +121,7 @@ public void declarePositions(int positions) public boolean isFull() { - return declaredPositions == Integer.MAX_VALUE || pageBuilderStatus.isFull(); + return declaredPositions >= MAX_ENTRIES || pageBuilderStatus.isFull(declaredPositions); } public boolean isEmpty() @@ -164,4 +166,13 @@ public Page build() return Page.wrapBlocksWithoutCopy(declaredPositions, blocks); } + + private long getCurrentSizeInBytes() + { + long totalSizeInBytes = 0; + for (BlockBuilder blockBuilder : blockBuilders) { + totalSizeInBytes += blockBuilder.getSizeInBytes(); + } + return totalSizeInBytes; + } } diff --git a/core/trino-spi/src/main/java/io/trino/spi/block/ArrayBlockBuilder.java b/core/trino-spi/src/main/java/io/trino/spi/block/ArrayBlockBuilder.java index 38e0c2bb7039..dc945aeca759 100644 --- a/core/trino-spi/src/main/java/io/trino/spi/block/ArrayBlockBuilder.java +++ b/core/trino-spi/src/main/java/io/trino/spi/block/ArrayBlockBuilder.java @@ -14,7 +14,6 @@ package io.trino.spi.block; import io.trino.spi.type.Type; -import jakarta.annotation.Nullable; import java.util.Arrays; @@ -34,8 +33,6 @@ public class ArrayBlockBuilder private int positionCount; - @Nullable - private final BlockBuilderStatus blockBuilderStatus; private boolean initialized; private final int initialEntryCount; @@ -49,39 +46,22 @@ public class ArrayBlockBuilder private long retainedSizeInBytes; - /** - * Caller of this constructor is responsible for making sure `valuesBlock` is constructed with the same `blockBuilderStatus` as the one in the argument - */ - public ArrayBlockBuilder(BlockBuilder valuesBlock, BlockBuilderStatus blockBuilderStatus, int expectedEntries) + public ArrayBlockBuilder(Type elementType, int expectedEntries, int expectedBytesPerEntry) { this( - blockBuilderStatus, - valuesBlock, + elementType.createBlockBuilder(expectedEntries, expectedBytesPerEntry), expectedEntries); } - public ArrayBlockBuilder(Type elementType, BlockBuilderStatus blockBuilderStatus, int expectedEntries, int expectedBytesPerEntry) + public ArrayBlockBuilder(Type elementType, int expectedEntries) { this( - blockBuilderStatus, - elementType.createBlockBuilder(blockBuilderStatus, expectedEntries, expectedBytesPerEntry), + elementType.createBlockBuilder(expectedEntries), expectedEntries); } - public ArrayBlockBuilder(Type elementType, BlockBuilderStatus blockBuilderStatus, int expectedEntries) + public ArrayBlockBuilder(BlockBuilder values, int expectedEntries) { - this( - blockBuilderStatus, - elementType.createBlockBuilder(blockBuilderStatus, expectedEntries), - expectedEntries); - } - - /** - * Caller of this private constructor is responsible for making sure `values` is constructed with the same `blockBuilderStatus` as the one in the argument - */ - private ArrayBlockBuilder(@Nullable BlockBuilderStatus blockBuilderStatus, BlockBuilder values, int expectedEntries) - { - this.blockBuilderStatus = blockBuilderStatus; this.values = requireNonNull(values, "values is null"); this.initialEntryCount = max(expectedEntries, 1); @@ -235,10 +215,6 @@ public void appendRange(ValueBlock block, int offset, int length) } positionCount += length; - - if (blockBuilderStatus != null) { - blockBuilderStatus.addBytes(length * SIZE_IN_BYTES_PER_POSITION); - } } @Override @@ -281,10 +257,6 @@ private void entryAdded(boolean isNull) hasNullValue |= isNull; hasNonNullValue |= !isNull; positionCount++; - - if (blockBuilderStatus != null) { - blockBuilderStatus.addBytes(SIZE_IN_BYTES_PER_POSITION); - } } private void ensureCapacity(int capacity) @@ -311,9 +283,6 @@ private void ensureCapacity(int capacity) private void updateRetainedSize() { retainedSizeInBytes = INSTANCE_SIZE + sizeOf(valueIsNull) + sizeOf(offsets); - if (blockBuilderStatus != null) { - retainedSizeInBytes += BlockBuilderStatus.INSTANCE_SIZE; - } } @Override @@ -338,9 +307,9 @@ public ValueBlock buildValueBlock() } @Override - public BlockBuilder newBlockBuilderLike(int expectedEntries, BlockBuilderStatus blockBuilderStatus) + public BlockBuilder newBlockBuilderLike(int expectedEntries) { - return new ArrayBlockBuilder(blockBuilderStatus, values.newBlockBuilderLike(blockBuilderStatus), expectedEntries); + return new ArrayBlockBuilder(values.newBlockBuilderLike(), expectedEntries); } @Override @@ -353,7 +322,7 @@ public String toString() private Block nullRle(int positionCount) { - ArrayBlock nullValueBlock = createArrayBlockInternal(0, 1, new boolean[] {true}, new int[] {0, 0}, values.newBlockBuilderLike(null).build()); + ArrayBlock nullValueBlock = createArrayBlockInternal(0, 1, new boolean[] {true}, new int[] {0, 0}, values.newBlockBuilderLike().build()); return RunLengthEncodedBlock.create(nullValueBlock, positionCount); } } diff --git a/core/trino-spi/src/main/java/io/trino/spi/block/BlockBuilder.java b/core/trino-spi/src/main/java/io/trino/spi/block/BlockBuilder.java index 02712b299270..34fa7f17be93 100644 --- a/core/trino-spi/src/main/java/io/trino/spi/block/BlockBuilder.java +++ b/core/trino-spi/src/main/java/io/trino/spi/block/BlockBuilder.java @@ -96,10 +96,10 @@ default void appendBlockRange(Block rawBlock, int offset, int length) /** * Creates a new block builder of the same type based on the current usage statistics of this block builder. */ - BlockBuilder newBlockBuilderLike(int expectedEntries, BlockBuilderStatus blockBuilderStatus); + BlockBuilder newBlockBuilderLike(int expectedEntries); - default BlockBuilder newBlockBuilderLike(BlockBuilderStatus blockBuilderStatus) + default BlockBuilder newBlockBuilderLike() { - return newBlockBuilderLike(calculateBlockResetSize(getPositionCount()), blockBuilderStatus); + return newBlockBuilderLike(calculateBlockResetSize(getPositionCount())); } } diff --git a/core/trino-spi/src/main/java/io/trino/spi/block/BlockBuilderStatus.java b/core/trino-spi/src/main/java/io/trino/spi/block/BlockBuilderStatus.java deleted file mode 100644 index 704a2c71c696..000000000000 --- a/core/trino-spi/src/main/java/io/trino/spi/block/BlockBuilderStatus.java +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package io.trino.spi.block; - -import static io.airlift.slice.SizeOf.instanceSize; -import static java.util.Objects.requireNonNull; - -public class BlockBuilderStatus -{ - public static final int INSTANCE_SIZE = instanceSize(BlockBuilderStatus.class) + PageBuilderStatus.INSTANCE_SIZE; - - private final PageBuilderStatus pageBuilderStatus; - - private int currentSize; - - BlockBuilderStatus(PageBuilderStatus pageBuilderStatus) - { - this.pageBuilderStatus = requireNonNull(pageBuilderStatus, "pageBuilderStatus must not be null"); - } - - public int getMaxPageSizeInBytes() - { - return pageBuilderStatus.getMaxPageSizeInBytes(); - } - - public void addBytes(int bytes) - { - currentSize += bytes; - pageBuilderStatus.addBytes(bytes); - } - - @Override - public String toString() - { - StringBuilder buffer = new StringBuilder("BlockBuilderStatus{"); - buffer.append(", currentSize=").append(currentSize); - buffer.append('}'); - return buffer.toString(); - } -} diff --git a/core/trino-spi/src/main/java/io/trino/spi/block/BufferedArrayValueBuilder.java b/core/trino-spi/src/main/java/io/trino/spi/block/BufferedArrayValueBuilder.java index a744880e2711..6ab58495ea38 100644 --- a/core/trino-spi/src/main/java/io/trino/spi/block/BufferedArrayValueBuilder.java +++ b/core/trino-spi/src/main/java/io/trino/spi/block/BufferedArrayValueBuilder.java @@ -32,7 +32,7 @@ public static BufferedArrayValueBuilder createBuffered(ArrayType arrayType) BufferedArrayValueBuilder(ArrayType arrayType, int bufferSize) { this.bufferSize = bufferSize; - this.valueBuilder = arrayType.getElementType().createBlockBuilder(null, bufferSize); + this.valueBuilder = arrayType.getElementType().createBlockBuilder(bufferSize); } public long getRetainedSizeInBytes() @@ -48,7 +48,7 @@ public Block build(int entryCount, ArrayValueBuilder bu if (bufferSize < entryCount) { bufferSize = entryCount; } - valueBuilder = valueBuilder.newBlockBuilderLike(bufferSize, null); + valueBuilder = valueBuilder.newBlockBuilderLike(bufferSize); } int startSize = valueBuilder.getPositionCount(); diff --git a/core/trino-spi/src/main/java/io/trino/spi/block/BufferedMapValueBuilder.java b/core/trino-spi/src/main/java/io/trino/spi/block/BufferedMapValueBuilder.java index c1e8846a634e..22a7c84d55f9 100644 --- a/core/trino-spi/src/main/java/io/trino/spi/block/BufferedMapValueBuilder.java +++ b/core/trino-spi/src/main/java/io/trino/spi/block/BufferedMapValueBuilder.java @@ -49,8 +49,8 @@ public static BufferedMapValueBuilder createBufferedDistinctStrict(MapType mapTy { this.mapType = requireNonNull(mapType, "mapType is null"); this.hashBuildMode = hashBuildMode; - this.keyBlockBuilder = mapType.getKeyType().createBlockBuilder(null, bufferSize); - this.valueBlockBuilder = mapType.getValueType().createBlockBuilder(null, bufferSize); + this.keyBlockBuilder = mapType.getKeyType().createBlockBuilder(bufferSize); + this.valueBlockBuilder = mapType.getValueType().createBlockBuilder(bufferSize); this.bufferSize = bufferSize; } @@ -72,8 +72,8 @@ public SqlMap build(int entryCount, MapValueBuilder bui if (bufferSize < entryCount) { bufferSize = entryCount; } - keyBlockBuilder = keyBlockBuilder.newBlockBuilderLike(bufferSize, null); - valueBlockBuilder = valueBlockBuilder.newBlockBuilderLike(bufferSize, null); + keyBlockBuilder = keyBlockBuilder.newBlockBuilderLike(bufferSize); + valueBlockBuilder = valueBlockBuilder.newBlockBuilderLike(bufferSize); } int startSize = keyBlockBuilder.getPositionCount(); diff --git a/core/trino-spi/src/main/java/io/trino/spi/block/BufferedRowValueBuilder.java b/core/trino-spi/src/main/java/io/trino/spi/block/BufferedRowValueBuilder.java index 735d0f541e55..049aa5d4c186 100644 --- a/core/trino-spi/src/main/java/io/trino/spi/block/BufferedRowValueBuilder.java +++ b/core/trino-spi/src/main/java/io/trino/spi/block/BufferedRowValueBuilder.java @@ -35,7 +35,7 @@ public static BufferedRowValueBuilder createBuffered(RowType rowType) { this.bufferSize = bufferSize; this.fieldBuilders = rowType.getTypeParameters().stream() - .map(fieldType -> fieldType.createBlockBuilder(null, bufferSize)) + .map(fieldType -> fieldType.createBlockBuilder(bufferSize)) .toList(); } @@ -56,7 +56,7 @@ public SqlRow build(RowValueBuilder builder) // grow or reset builders if necessary if (fieldBuilders.get(0).getPositionCount() + 1 > bufferSize) { fieldBuilders = fieldBuilders.stream() - .map(field -> field.newBlockBuilderLike(bufferSize, null)) + .map(field -> field.newBlockBuilderLike(bufferSize)) .toList(); } diff --git a/core/trino-spi/src/main/java/io/trino/spi/block/ByteArrayBlockBuilder.java b/core/trino-spi/src/main/java/io/trino/spi/block/ByteArrayBlockBuilder.java index cdbe20ce7f3d..ae4730ba4db9 100644 --- a/core/trino-spi/src/main/java/io/trino/spi/block/ByteArrayBlockBuilder.java +++ b/core/trino-spi/src/main/java/io/trino/spi/block/ByteArrayBlockBuilder.java @@ -13,8 +13,6 @@ */ package io.trino.spi.block; -import jakarta.annotation.Nullable; - import java.util.Arrays; import static io.airlift.slice.SizeOf.instanceSize; @@ -29,8 +27,6 @@ public class ByteArrayBlockBuilder private static final int INSTANCE_SIZE = instanceSize(ByteArrayBlockBuilder.class); private static final Block NULL_VALUE_BLOCK = new ByteArrayBlock(0, 1, new boolean[] {true}, new byte[1]); - @Nullable - private final BlockBuilderStatus blockBuilderStatus; private boolean initialized; private final int initialEntryCount; @@ -44,9 +40,8 @@ public class ByteArrayBlockBuilder private long retainedSizeInBytes; - public ByteArrayBlockBuilder(@Nullable BlockBuilderStatus blockBuilderStatus, int expectedEntries) + public ByteArrayBlockBuilder(int expectedEntries) { - this.blockBuilderStatus = blockBuilderStatus; this.initialEntryCount = max(expectedEntries, 1); updateRetainedSize(); @@ -60,9 +55,6 @@ public BlockBuilder writeByte(byte value) hasNonNullValue = true; positionCount++; - if (blockBuilderStatus != null) { - blockBuilderStatus.addBytes(ByteArrayBlock.SIZE_IN_BYTES_PER_POSITION); - } return this; } @@ -81,10 +73,6 @@ public void append(ValueBlock block, int position) hasNonNullValue = true; } positionCount++; - - if (blockBuilderStatus != null) { - blockBuilderStatus.addBytes(ByteArrayBlock.SIZE_IN_BYTES_PER_POSITION); - } } @Override @@ -112,10 +100,6 @@ public void appendRepeated(ValueBlock block, int position, int count) hasNonNullValue = true; } positionCount += count; - - if (blockBuilderStatus != null) { - blockBuilderStatus.addBytes(count * ByteArrayBlock.SIZE_IN_BYTES_PER_POSITION); - } } @Override @@ -156,10 +140,6 @@ public void appendRange(ValueBlock block, int offset, int length) hasNonNullValue = true; } positionCount += length; - - if (blockBuilderStatus != null) { - blockBuilderStatus.addBytes(length * ByteArrayBlock.SIZE_IN_BYTES_PER_POSITION); - } } @Override @@ -200,10 +180,6 @@ public void appendPositions(ValueBlock block, int[] positions, int offset, int l hasNonNullValue = true; } positionCount += length; - - if (blockBuilderStatus != null) { - blockBuilderStatus.addBytes(length * ByteArrayBlock.SIZE_IN_BYTES_PER_POSITION); - } } @Override @@ -215,9 +191,6 @@ public BlockBuilder appendNull() hasNullValue = true; positionCount++; - if (blockBuilderStatus != null) { - blockBuilderStatus.addBytes(ByteArrayBlock.SIZE_IN_BYTES_PER_POSITION); - } return this; } @@ -244,9 +217,9 @@ public ByteArrayBlock buildValueBlock() } @Override - public BlockBuilder newBlockBuilderLike(int expectedEntries, BlockBuilderStatus blockBuilderStatus) + public BlockBuilder newBlockBuilderLike(int expectedEntries) { - return new ByteArrayBlockBuilder(blockBuilderStatus, expectedEntries); + return new ByteArrayBlockBuilder(expectedEntries); } private void ensureCapacity(int capacity) @@ -273,9 +246,6 @@ private void ensureCapacity(int capacity) private void updateRetainedSize() { retainedSizeInBytes = INSTANCE_SIZE + sizeOf(valueIsNull) + sizeOf(values); - if (blockBuilderStatus != null) { - retainedSizeInBytes += BlockBuilderStatus.INSTANCE_SIZE; - } } @Override diff --git a/core/trino-spi/src/main/java/io/trino/spi/block/Fixed12BlockBuilder.java b/core/trino-spi/src/main/java/io/trino/spi/block/Fixed12BlockBuilder.java index e600f3d96e04..9f19d70955dd 100644 --- a/core/trino-spi/src/main/java/io/trino/spi/block/Fixed12BlockBuilder.java +++ b/core/trino-spi/src/main/java/io/trino/spi/block/Fixed12BlockBuilder.java @@ -13,14 +13,11 @@ */ package io.trino.spi.block; -import jakarta.annotation.Nullable; - import java.util.Arrays; import static io.airlift.slice.SizeOf.instanceSize; import static io.airlift.slice.SizeOf.sizeOf; import static io.trino.spi.block.BlockUtil.calculateNewArraySize; -import static io.trino.spi.block.Fixed12Block.FIXED12_BYTES; import static io.trino.spi.block.Fixed12Block.encodeFixed12; import static java.lang.Math.max; import static java.util.Objects.checkIndex; @@ -31,8 +28,6 @@ public class Fixed12BlockBuilder private static final int INSTANCE_SIZE = instanceSize(Fixed12BlockBuilder.class); private static final Block NULL_VALUE_BLOCK = new Fixed12Block(0, 1, new boolean[] {true}, new int[3]); - @Nullable - private final BlockBuilderStatus blockBuilderStatus; private boolean initialized; private final int initialEntryCount; @@ -46,9 +41,8 @@ public class Fixed12BlockBuilder private long retainedSizeInBytes; - public Fixed12BlockBuilder(@Nullable BlockBuilderStatus blockBuilderStatus, int expectedEntries) + public Fixed12BlockBuilder(int expectedEntries) { - this.blockBuilderStatus = blockBuilderStatus; this.initialEntryCount = max(expectedEntries, 1); updateRetainedSize(); @@ -62,9 +56,6 @@ public void writeFixed12(long first, int second) hasNonNullValue = true; positionCount++; - if (blockBuilderStatus != null) { - blockBuilderStatus.addBytes(Byte.BYTES + FIXED12_BYTES); - } } @Override @@ -88,10 +79,6 @@ public void append(ValueBlock block, int position) hasNonNullValue = true; } positionCount++; - - if (blockBuilderStatus != null) { - blockBuilderStatus.addBytes(Fixed12Block.SIZE_IN_BYTES_PER_POSITION); - } } @Override @@ -130,10 +117,6 @@ public void appendRepeated(ValueBlock block, int position, int count) hasNonNullValue = true; } positionCount += count; - - if (blockBuilderStatus != null) { - blockBuilderStatus.addBytes(count * Fixed12Block.SIZE_IN_BYTES_PER_POSITION); - } } @Override @@ -174,10 +157,6 @@ public void appendRange(ValueBlock block, int offset, int length) hasNonNullValue = true; } positionCount += length; - - if (blockBuilderStatus != null) { - blockBuilderStatus.addBytes(length * LongArrayBlock.SIZE_IN_BYTES_PER_POSITION); - } } @Override @@ -228,10 +207,6 @@ public void appendPositions(ValueBlock block, int[] positions, int offset, int l hasNonNullValue = true; } positionCount += length; - - if (blockBuilderStatus != null) { - blockBuilderStatus.addBytes(length * Fixed12Block.SIZE_IN_BYTES_PER_POSITION); - } } @Override @@ -243,9 +218,6 @@ public BlockBuilder appendNull() hasNullValue = true; positionCount++; - if (blockBuilderStatus != null) { - blockBuilderStatus.addBytes(Byte.BYTES + FIXED12_BYTES); - } return this; } @@ -272,9 +244,9 @@ public Fixed12Block buildValueBlock() } @Override - public BlockBuilder newBlockBuilderLike(int expectedEntries, BlockBuilderStatus blockBuilderStatus) + public BlockBuilder newBlockBuilderLike(int expectedEntries) { - return new Fixed12BlockBuilder(blockBuilderStatus, expectedEntries); + return new Fixed12BlockBuilder(expectedEntries); } private void ensureCapacity(int capacity) @@ -301,9 +273,6 @@ private void ensureCapacity(int capacity) private void updateRetainedSize() { retainedSizeInBytes = INSTANCE_SIZE + sizeOf(valueIsNull) + sizeOf(values); - if (blockBuilderStatus != null) { - retainedSizeInBytes += BlockBuilderStatus.INSTANCE_SIZE; - } } @Override diff --git a/core/trino-spi/src/main/java/io/trino/spi/block/Int128ArrayBlockBuilder.java b/core/trino-spi/src/main/java/io/trino/spi/block/Int128ArrayBlockBuilder.java index 197d3eca4102..6406aaa81f12 100644 --- a/core/trino-spi/src/main/java/io/trino/spi/block/Int128ArrayBlockBuilder.java +++ b/core/trino-spi/src/main/java/io/trino/spi/block/Int128ArrayBlockBuilder.java @@ -13,8 +13,6 @@ */ package io.trino.spi.block; -import jakarta.annotation.Nullable; - import java.util.Arrays; import static io.airlift.slice.SizeOf.instanceSize; @@ -29,8 +27,6 @@ public class Int128ArrayBlockBuilder private static final int INSTANCE_SIZE = instanceSize(Int128ArrayBlockBuilder.class); private static final Block NULL_VALUE_BLOCK = new Int128ArrayBlock(0, 1, new boolean[] {true}, new long[2]); - @Nullable - private final BlockBuilderStatus blockBuilderStatus; private boolean initialized; private final int initialEntryCount; @@ -44,9 +40,8 @@ public class Int128ArrayBlockBuilder private long retainedSizeInBytes; - public Int128ArrayBlockBuilder(@Nullable BlockBuilderStatus blockBuilderStatus, int expectedEntries) + public Int128ArrayBlockBuilder(int expectedEntries) { - this.blockBuilderStatus = blockBuilderStatus; this.initialEntryCount = max(expectedEntries, 1); updateRetainedSize(); @@ -62,9 +57,6 @@ public void writeInt128(long high, long low) hasNonNullValue = true; positionCount++; - if (blockBuilderStatus != null) { - blockBuilderStatus.addBytes(Int128ArrayBlock.SIZE_IN_BYTES_PER_POSITION); - } } @Override @@ -87,10 +79,6 @@ public void append(ValueBlock block, int position) hasNonNullValue = true; } positionCount++; - - if (blockBuilderStatus != null) { - blockBuilderStatus.addBytes(Int128ArrayBlock.SIZE_IN_BYTES_PER_POSITION); - } } @Override @@ -126,10 +114,6 @@ public void appendRepeated(ValueBlock block, int position, int count) hasNonNullValue = true; } positionCount += count; - - if (blockBuilderStatus != null) { - blockBuilderStatus.addBytes(count * Int128ArrayBlock.SIZE_IN_BYTES_PER_POSITION); - } } @Override @@ -170,10 +154,6 @@ public void appendRange(ValueBlock block, int offset, int length) hasNonNullValue = true; } positionCount += length; - - if (blockBuilderStatus != null) { - blockBuilderStatus.addBytes(length * LongArrayBlock.SIZE_IN_BYTES_PER_POSITION); - } } @Override @@ -222,10 +202,6 @@ public void appendPositions(ValueBlock block, int[] positions, int offset, int l hasNonNullValue = true; } positionCount += length; - - if (blockBuilderStatus != null) { - blockBuilderStatus.addBytes(length * Int128ArrayBlock.SIZE_IN_BYTES_PER_POSITION); - } } @Override @@ -237,9 +213,6 @@ public BlockBuilder appendNull() hasNullValue = true; positionCount++; - if (blockBuilderStatus != null) { - blockBuilderStatus.addBytes(Int128ArrayBlock.SIZE_IN_BYTES_PER_POSITION); - } return this; } @@ -266,9 +239,9 @@ public Int128ArrayBlock buildValueBlock() } @Override - public BlockBuilder newBlockBuilderLike(int expectedEntries, BlockBuilderStatus blockBuilderStatus) + public BlockBuilder newBlockBuilderLike(int expectedEntries) { - return new Int128ArrayBlockBuilder(blockBuilderStatus, expectedEntries); + return new Int128ArrayBlockBuilder(expectedEntries); } private void ensureCapacity(int capacity) @@ -295,9 +268,6 @@ private void ensureCapacity(int capacity) private void updateRetainedSize() { retainedSizeInBytes = INSTANCE_SIZE + sizeOf(valueIsNull) + sizeOf(values); - if (blockBuilderStatus != null) { - retainedSizeInBytes += BlockBuilderStatus.INSTANCE_SIZE; - } } @Override diff --git a/core/trino-spi/src/main/java/io/trino/spi/block/IntArrayBlockBuilder.java b/core/trino-spi/src/main/java/io/trino/spi/block/IntArrayBlockBuilder.java index 6e3284580ae3..f8ceaca74753 100644 --- a/core/trino-spi/src/main/java/io/trino/spi/block/IntArrayBlockBuilder.java +++ b/core/trino-spi/src/main/java/io/trino/spi/block/IntArrayBlockBuilder.java @@ -13,8 +13,6 @@ */ package io.trino.spi.block; -import jakarta.annotation.Nullable; - import java.util.Arrays; import static io.airlift.slice.SizeOf.instanceSize; @@ -29,8 +27,6 @@ public class IntArrayBlockBuilder private static final int INSTANCE_SIZE = instanceSize(IntArrayBlockBuilder.class); private static final Block NULL_VALUE_BLOCK = new IntArrayBlock(0, 1, new boolean[] {true}, new int[1]); - @Nullable - private final BlockBuilderStatus blockBuilderStatus; private boolean initialized; private final int initialEntryCount; @@ -44,9 +40,8 @@ public class IntArrayBlockBuilder private long retainedSizeInBytes; - public IntArrayBlockBuilder(@Nullable BlockBuilderStatus blockBuilderStatus, int expectedEntries) + public IntArrayBlockBuilder(int expectedEntries) { - this.blockBuilderStatus = blockBuilderStatus; this.initialEntryCount = max(expectedEntries, 1); updateRetainedSize(); @@ -60,9 +55,6 @@ public BlockBuilder writeInt(int value) hasNonNullValue = true; positionCount++; - if (blockBuilderStatus != null) { - blockBuilderStatus.addBytes(IntArrayBlock.SIZE_IN_BYTES_PER_POSITION); - } return this; } @@ -81,10 +73,6 @@ public void append(ValueBlock block, int position) hasNonNullValue = true; } positionCount++; - - if (blockBuilderStatus != null) { - blockBuilderStatus.addBytes(IntArrayBlock.SIZE_IN_BYTES_PER_POSITION); - } } @Override @@ -111,10 +99,6 @@ public void appendRepeated(ValueBlock block, int position, int count) hasNonNullValue = true; } positionCount += count; - - if (blockBuilderStatus != null) { - blockBuilderStatus.addBytes(count * IntArrayBlock.SIZE_IN_BYTES_PER_POSITION); - } } @Override @@ -155,10 +139,6 @@ public void appendRange(ValueBlock block, int offset, int length) hasNonNullValue = true; } positionCount += length; - - if (blockBuilderStatus != null) { - blockBuilderStatus.addBytes(length * IntArrayBlock.SIZE_IN_BYTES_PER_POSITION); - } } @Override @@ -199,10 +179,6 @@ public void appendPositions(ValueBlock block, int[] positions, int offset, int l hasNonNullValue = true; } positionCount += length; - - if (blockBuilderStatus != null) { - blockBuilderStatus.addBytes(length * IntArrayBlock.SIZE_IN_BYTES_PER_POSITION); - } } @Override @@ -214,9 +190,6 @@ public BlockBuilder appendNull() hasNullValue = true; positionCount++; - if (blockBuilderStatus != null) { - blockBuilderStatus.addBytes(IntArrayBlock.SIZE_IN_BYTES_PER_POSITION); - } return this; } @@ -243,9 +216,9 @@ public IntArrayBlock buildValueBlock() } @Override - public BlockBuilder newBlockBuilderLike(int expectedEntries, BlockBuilderStatus blockBuilderStatus) + public BlockBuilder newBlockBuilderLike(int expectedEntries) { - return new IntArrayBlockBuilder(blockBuilderStatus, expectedEntries); + return new IntArrayBlockBuilder(expectedEntries); } private void ensureCapacity(int capacity) @@ -272,9 +245,6 @@ private void ensureCapacity(int capacity) private void updateRetainedSize() { retainedSizeInBytes = INSTANCE_SIZE + sizeOf(valueIsNull) + sizeOf(values); - if (blockBuilderStatus != null) { - retainedSizeInBytes += BlockBuilderStatus.INSTANCE_SIZE; - } } @Override diff --git a/core/trino-spi/src/main/java/io/trino/spi/block/LongArrayBlockBuilder.java b/core/trino-spi/src/main/java/io/trino/spi/block/LongArrayBlockBuilder.java index 937de1553069..ed4a82fa4531 100644 --- a/core/trino-spi/src/main/java/io/trino/spi/block/LongArrayBlockBuilder.java +++ b/core/trino-spi/src/main/java/io/trino/spi/block/LongArrayBlockBuilder.java @@ -13,8 +13,6 @@ */ package io.trino.spi.block; -import jakarta.annotation.Nullable; - import java.util.Arrays; import static io.airlift.slice.SizeOf.instanceSize; @@ -29,8 +27,6 @@ public class LongArrayBlockBuilder private static final int INSTANCE_SIZE = instanceSize(LongArrayBlockBuilder.class); private static final Block NULL_VALUE_BLOCK = new LongArrayBlock(0, 1, new boolean[] {true}, new long[1]); - @Nullable - private final BlockBuilderStatus blockBuilderStatus; private boolean initialized; private final int initialEntryCount; @@ -44,9 +40,8 @@ public class LongArrayBlockBuilder private long retainedSizeInBytes; - public LongArrayBlockBuilder(@Nullable BlockBuilderStatus blockBuilderStatus, int expectedEntries) + public LongArrayBlockBuilder(int expectedEntries) { - this.blockBuilderStatus = blockBuilderStatus; this.initialEntryCount = max(expectedEntries, 1); updateRetainedSize(); @@ -60,9 +55,6 @@ public BlockBuilder writeLong(long value) hasNonNullValue = true; positionCount++; - if (blockBuilderStatus != null) { - blockBuilderStatus.addBytes(LongArrayBlock.SIZE_IN_BYTES_PER_POSITION); - } return this; } @@ -81,10 +73,6 @@ public void append(ValueBlock block, int position) hasNonNullValue = true; } positionCount++; - - if (blockBuilderStatus != null) { - blockBuilderStatus.addBytes(LongArrayBlock.SIZE_IN_BYTES_PER_POSITION); - } } @Override @@ -111,10 +99,6 @@ public void appendRepeated(ValueBlock block, int position, int count) hasNonNullValue = true; } positionCount += count; - - if (blockBuilderStatus != null) { - blockBuilderStatus.addBytes(count * LongArrayBlock.SIZE_IN_BYTES_PER_POSITION); - } } @Override @@ -155,10 +139,6 @@ public void appendRange(ValueBlock block, int offset, int length) hasNonNullValue = true; } positionCount += length; - - if (blockBuilderStatus != null) { - blockBuilderStatus.addBytes(length * LongArrayBlock.SIZE_IN_BYTES_PER_POSITION); - } } @Override @@ -199,10 +179,6 @@ public void appendPositions(ValueBlock block, int[] positions, int offset, int l hasNonNullValue = true; } positionCount += length; - - if (blockBuilderStatus != null) { - blockBuilderStatus.addBytes(length * LongArrayBlock.SIZE_IN_BYTES_PER_POSITION); - } } @Override @@ -214,9 +190,6 @@ public BlockBuilder appendNull() hasNullValue = true; positionCount++; - if (blockBuilderStatus != null) { - blockBuilderStatus.addBytes(LongArrayBlock.SIZE_IN_BYTES_PER_POSITION); - } return this; } @@ -243,9 +216,9 @@ public LongArrayBlock buildValueBlock() } @Override - public BlockBuilder newBlockBuilderLike(int expectedEntries, BlockBuilderStatus blockBuilderStatus) + public BlockBuilder newBlockBuilderLike(int expectedEntries) { - return new LongArrayBlockBuilder(blockBuilderStatus, expectedEntries); + return new LongArrayBlockBuilder(expectedEntries); } private void ensureCapacity(int capacity) @@ -272,9 +245,6 @@ private void ensureCapacity(int capacity) private void updateRetainedSize() { retainedSizeInBytes = INSTANCE_SIZE + sizeOf(valueIsNull) + sizeOf(values); - if (blockBuilderStatus != null) { - retainedSizeInBytes += BlockBuilderStatus.INSTANCE_SIZE; - } } @Override diff --git a/core/trino-spi/src/main/java/io/trino/spi/block/MapBlockBuilder.java b/core/trino-spi/src/main/java/io/trino/spi/block/MapBlockBuilder.java index 5dd1a66a765e..ab18992d3b18 100644 --- a/core/trino-spi/src/main/java/io/trino/spi/block/MapBlockBuilder.java +++ b/core/trino-spi/src/main/java/io/trino/spi/block/MapBlockBuilder.java @@ -16,7 +16,6 @@ import io.trino.spi.block.MapHashTables.HashBuildMode; import io.trino.spi.type.MapType; -import jakarta.annotation.Nullable; import java.util.Arrays; import java.util.Optional; @@ -37,9 +36,6 @@ public class MapBlockBuilder private final MapType mapType; - @Nullable - private final BlockBuilderStatus blockBuilderStatus; - private int positionCount; private int[] offsets; private boolean[] mapIsNull; @@ -50,20 +46,18 @@ public class MapBlockBuilder private boolean currentEntryOpened; private HashBuildMode hashBuildMode = HashBuildMode.DUPLICATE_NOT_CHECKED; - public MapBlockBuilder(MapType mapType, BlockBuilderStatus blockBuilderStatus, int expectedEntries) + public MapBlockBuilder(MapType mapType, int expectedEntries) { this( mapType, - blockBuilderStatus, - mapType.getKeyType().createBlockBuilder(blockBuilderStatus, expectedEntries), - mapType.getValueType().createBlockBuilder(blockBuilderStatus, expectedEntries), + mapType.getKeyType().createBlockBuilder(expectedEntries), + mapType.getValueType().createBlockBuilder(expectedEntries), new int[expectedEntries + 1], new boolean[expectedEntries]); } private MapBlockBuilder( MapType mapType, - @Nullable BlockBuilderStatus blockBuilderStatus, BlockBuilder keyBlockBuilder, BlockBuilder valueBlockBuilder, int[] offsets, @@ -71,8 +65,6 @@ private MapBlockBuilder( { this.mapType = requireNonNull(mapType, "mapType is null"); - this.blockBuilderStatus = blockBuilderStatus; - this.positionCount = 0; this.offsets = requireNonNull(offsets, "offsets is null"); this.mapIsNull = requireNonNull(mapIsNull, "mapIsNull is null"); @@ -109,15 +101,11 @@ public long getSizeInBytes() @Override public long getRetainedSizeInBytes() { - long size = INSTANCE_SIZE + return INSTANCE_SIZE + keyBlockBuilder.getRetainedSizeInBytes() + valueBlockBuilder.getRetainedSizeInBytes() + sizeOf(offsets) + sizeOf(mapIsNull); - if (blockBuilderStatus != null) { - size += BlockBuilderStatus.INSTANCE_SIZE; - } - return size; } public void buildEntry(MapValueBuilder builder) @@ -226,11 +214,6 @@ private void entryAdded(boolean isNull) mapIsNull[positionCount] = isNull; hasNullValue |= isNull; positionCount++; - - if (blockBuilderStatus != null) { - blockBuilderStatus.addBytes(Integer.BYTES + Byte.BYTES); - blockBuilderStatus.addBytes((offsets[positionCount] - offsets[positionCount - 1]) * HASH_MULTIPLIER * Integer.BYTES); - } } @Override @@ -242,8 +225,8 @@ public Block build() hasNonNull |= !mapIsNull[i]; } if (!hasNonNull) { - Block emptyKeyBlock = mapType.getKeyType().createBlockBuilder(null, 0).build(); - Block emptyValueBlock = mapType.getValueType().createBlockBuilder(null, 0).build(); + Block emptyKeyBlock = mapType.getKeyType().createBlockBuilder(0).build(); + Block emptyValueBlock = mapType.getValueType().createBlockBuilder(0).build(); int[] emptyOffsets = {0, 0}; boolean[] nulls = {true}; return RunLengthEncodedBlock.create( @@ -293,13 +276,12 @@ public String toString() } @Override - public BlockBuilder newBlockBuilderLike(int expectedEntries, BlockBuilderStatus blockBuilderStatus) + public BlockBuilder newBlockBuilderLike(int expectedEntries) { return new MapBlockBuilder( mapType, - blockBuilderStatus, - keyBlockBuilder.newBlockBuilderLike(blockBuilderStatus), - valueBlockBuilder.newBlockBuilderLike(blockBuilderStatus), + keyBlockBuilder.newBlockBuilderLike(), + valueBlockBuilder.newBlockBuilderLike(), new int[expectedEntries + 1], new boolean[expectedEntries]); } diff --git a/core/trino-spi/src/main/java/io/trino/spi/block/PageBuilderStatus.java b/core/trino-spi/src/main/java/io/trino/spi/block/PageBuilderStatus.java index 36460b1616bf..b44f8c6ce2b3 100644 --- a/core/trino-spi/src/main/java/io/trino/spi/block/PageBuilderStatus.java +++ b/core/trino-spi/src/main/java/io/trino/spi/block/PageBuilderStatus.java @@ -13,31 +13,35 @@ */ package io.trino.spi.block; +import java.util.OptionalInt; +import java.util.function.Supplier; + import static io.airlift.slice.SizeOf.instanceSize; +import static java.lang.Math.clamp; +import static java.lang.Math.min; public class PageBuilderStatus { + private static final int INITIAL_BATCH_SIZE = 2; + private static final int BATCH_SIZE_GROWTH_FACTOR = 2; + public static final int INSTANCE_SIZE = instanceSize(PageBuilderStatus.class); public static final int DEFAULT_MAX_PAGE_SIZE_IN_BYTES = 1024 * 1024; private final int maxPageSizeInBytes; + private final Supplier currentSizeSupplier; - private long currentSize; - - public PageBuilderStatus() - { - this(DEFAULT_MAX_PAGE_SIZE_IN_BYTES); - } + private long lastRecordedSize; + private int positionsAtLastRecordedSize; + private int batchSize = INITIAL_BATCH_SIZE; - public PageBuilderStatus(int maxPageSizeInBytes) + public PageBuilderStatus(int maxPageSizeInBytes, Supplier currentSizeSupplier, OptionalInt maxRowCountHint) { this.maxPageSizeInBytes = maxPageSizeInBytes; - } - - public BlockBuilderStatus createBlockBuilderStatus() - { - return new BlockBuilderStatus(this); + this.currentSizeSupplier = currentSizeSupplier; + // Use row count of previous page to start initial batch size from a higher value + maxRowCountHint.ifPresent(value -> batchSize = value / 4); } public int getMaxPageSizeInBytes() @@ -45,27 +49,30 @@ public int getMaxPageSizeInBytes() return maxPageSizeInBytes; } - public boolean isEmpty() + public boolean isFull(int declaredPositions) { - return currentSize == 0; - } - - public boolean isFull() - { - return currentSize >= maxPageSizeInBytes; + if (declaredPositions - positionsAtLastRecordedSize >= batchSize) { + positionsAtLastRecordedSize = declaredPositions; + lastRecordedSize = currentSizeSupplier.get(); + if (lastRecordedSize >= maxPageSizeInBytes) { + batchSize = 0; + return true; + } + double sizePerPosition = (double) lastRecordedSize / declaredPositions; + int maxRemainingPositions = clamp((long) (maxPageSizeInBytes / sizePerPosition) - declaredPositions, 1, Integer.MAX_VALUE); + batchSize = min(batchSize * BATCH_SIZE_GROWTH_FACTOR, min(maxRemainingPositions, 8192)); + } + return false; } - void addBytes(int bytes) + public long getSizeInBytes() { - if (bytes < 0) { - throw new IllegalArgumentException("bytes cannot be negative"); - } - currentSize += bytes; + return lastRecordedSize; } - public long getSizeInBytes() + public int getMaxRowCountHint() { - return currentSize; + return positionsAtLastRecordedSize; } @Override @@ -73,7 +80,7 @@ public String toString() { StringBuilder buffer = new StringBuilder("PageBuilderStatus{"); buffer.append("maxPageSizeInBytes=").append(maxPageSizeInBytes); - buffer.append(", currentSize=").append(currentSize); + buffer.append(", currentSize=").append(lastRecordedSize); buffer.append('}'); return buffer.toString(); } diff --git a/core/trino-spi/src/main/java/io/trino/spi/block/RowBlockBuilder.java b/core/trino-spi/src/main/java/io/trino/spi/block/RowBlockBuilder.java index 35ecf22e8e1e..3221d1e43b12 100644 --- a/core/trino-spi/src/main/java/io/trino/spi/block/RowBlockBuilder.java +++ b/core/trino-spi/src/main/java/io/trino/spi/block/RowBlockBuilder.java @@ -15,7 +15,6 @@ package io.trino.spi.block; import io.trino.spi.type.Type; -import jakarta.annotation.Nullable; import java.util.Arrays; import java.util.List; @@ -32,9 +31,6 @@ public class RowBlockBuilder { private static final int INSTANCE_SIZE = instanceSize(RowBlockBuilder.class); - @Nullable - private final BlockBuilderStatus blockBuilderStatus; - private int positionCount; private boolean[] rowIsNull; private final BlockBuilder[] fieldBlockBuilders; @@ -44,29 +40,27 @@ public class RowBlockBuilder private boolean hasNullRow; private boolean hasNonNullRow; - public RowBlockBuilder(List fieldTypes, BlockBuilderStatus blockBuilderStatus, int expectedEntries) + public RowBlockBuilder(List fieldTypes, int expectedEntries) { this( - blockBuilderStatus, - createFieldBlockBuilders(fieldTypes, blockBuilderStatus, expectedEntries), + createFieldBlockBuilders(fieldTypes, expectedEntries), new boolean[expectedEntries]); } - private RowBlockBuilder(@Nullable BlockBuilderStatus blockBuilderStatus, BlockBuilder[] fieldBlockBuilders, boolean[] rowIsNull) + private RowBlockBuilder(BlockBuilder[] fieldBlockBuilders, boolean[] rowIsNull) { - this.blockBuilderStatus = blockBuilderStatus; this.positionCount = 0; this.rowIsNull = requireNonNull(rowIsNull, "rowIsNull is null"); this.fieldBlockBuilders = requireNonNull(fieldBlockBuilders, "fieldBlockBuilders is null"); this.fieldBlockBuildersList = List.of(fieldBlockBuilders); } - private static BlockBuilder[] createFieldBlockBuilders(List fieldTypes, BlockBuilderStatus blockBuilderStatus, int expectedEntries) + private static BlockBuilder[] createFieldBlockBuilders(List fieldTypes, int expectedEntries) { // Stream API should not be used since constructor can be called in performance sensitive sections BlockBuilder[] fieldBlockBuilders = new BlockBuilder[fieldTypes.size()]; for (int i = 0; i < fieldTypes.size(); i++) { - fieldBlockBuilders[i] = fieldTypes.get(i).createBlockBuilder(blockBuilderStatus, expectedEntries); + fieldBlockBuilders[i] = fieldTypes.get(i).createBlockBuilder(expectedEntries); } return fieldBlockBuilders; } @@ -94,9 +88,6 @@ public long getRetainedSizeInBytes() for (BlockBuilder fieldBlockBuilder : fieldBlockBuilders) { size += fieldBlockBuilder.getRetainedSizeInBytes(); } - if (blockBuilderStatus != null) { - size += BlockBuilderStatus.INSTANCE_SIZE; - } return size; } @@ -278,10 +269,6 @@ public void appendRepeated(ValueBlock block, int position, int count) } positionCount += count; - - if (blockBuilderStatus != null) { - blockBuilderStatus.addBytes(Integer.BYTES + Byte.BYTES); - } } private static void appendRepeatedToField(Block fieldBlock, int position, int count, BlockBuilder fieldBlockBuilder) @@ -410,10 +397,6 @@ private void entryAdded(boolean isNull) throw new IllegalStateException(format("field %s has unexpected position count. Expected: %s, actual: %s", i, positionCount, fieldBlockBuilders[i].getPositionCount())); } } - - if (blockBuilderStatus != null) { - blockBuilderStatus.addBytes(Integer.BYTES + Byte.BYTES); - } } @Override @@ -459,20 +442,20 @@ public String toString() } @Override - public BlockBuilder newBlockBuilderLike(int expectedEntries, BlockBuilderStatus blockBuilderStatus) + public BlockBuilder newBlockBuilderLike(int expectedEntries) { BlockBuilder[] newBlockBuilders = new BlockBuilder[fieldBlockBuilders.length]; for (int i = 0; i < fieldBlockBuilders.length; i++) { - newBlockBuilders[i] = fieldBlockBuilders[i].newBlockBuilderLike(blockBuilderStatus); + newBlockBuilders[i] = fieldBlockBuilders[i].newBlockBuilderLike(); } - return new RowBlockBuilder(blockBuilderStatus, newBlockBuilders, new boolean[expectedEntries]); + return new RowBlockBuilder(newBlockBuilders, new boolean[expectedEntries]); } private Block nullRle(int length) { Block[] fieldBlocks = new Block[fieldBlockBuilders.length]; for (int i = 0; i < fieldBlockBuilders.length; i++) { - fieldBlocks[i] = fieldBlockBuilders[i].newBlockBuilderLike(null).appendNull().build(); + fieldBlocks[i] = fieldBlockBuilders[i].newBlockBuilderLike().appendNull().build(); } RowBlock nullRowBlock = createRowBlockInternal(0, 1, new boolean[] {true}, fieldBlocks); diff --git a/core/trino-spi/src/main/java/io/trino/spi/block/ShortArrayBlockBuilder.java b/core/trino-spi/src/main/java/io/trino/spi/block/ShortArrayBlockBuilder.java index 08f36d8f9125..bcf482fba931 100644 --- a/core/trino-spi/src/main/java/io/trino/spi/block/ShortArrayBlockBuilder.java +++ b/core/trino-spi/src/main/java/io/trino/spi/block/ShortArrayBlockBuilder.java @@ -13,8 +13,6 @@ */ package io.trino.spi.block; -import jakarta.annotation.Nullable; - import java.util.Arrays; import static io.airlift.slice.SizeOf.instanceSize; @@ -29,8 +27,6 @@ public class ShortArrayBlockBuilder private static final int INSTANCE_SIZE = instanceSize(ShortArrayBlockBuilder.class); private static final Block NULL_VALUE_BLOCK = new ShortArrayBlock(0, 1, new boolean[] {true}, new short[1]); - @Nullable - private final BlockBuilderStatus blockBuilderStatus; private boolean initialized; private final int initialEntryCount; @@ -44,9 +40,8 @@ public class ShortArrayBlockBuilder private long retainedSizeInBytes; - public ShortArrayBlockBuilder(@Nullable BlockBuilderStatus blockBuilderStatus, int expectedEntries) + public ShortArrayBlockBuilder(int expectedEntries) { - this.blockBuilderStatus = blockBuilderStatus; this.initialEntryCount = max(expectedEntries, 1); updateRetainedSize(); @@ -60,9 +55,6 @@ public ShortArrayBlockBuilder writeShort(short value) hasNonNullValue = true; positionCount++; - if (blockBuilderStatus != null) { - blockBuilderStatus.addBytes(ShortArrayBlock.SIZE_IN_BYTES_PER_POSITION); - } return this; } @@ -81,10 +73,6 @@ public void append(ValueBlock block, int position) hasNonNullValue = true; } positionCount++; - - if (blockBuilderStatus != null) { - blockBuilderStatus.addBytes(ShortArrayBlock.SIZE_IN_BYTES_PER_POSITION); - } } @Override @@ -111,10 +99,6 @@ public void appendRepeated(ValueBlock block, int position, int count) hasNonNullValue = true; } positionCount += count; - - if (blockBuilderStatus != null) { - blockBuilderStatus.addBytes(count * ShortArrayBlock.SIZE_IN_BYTES_PER_POSITION); - } } @Override @@ -155,10 +139,6 @@ public void appendRange(ValueBlock block, int offset, int length) hasNonNullValue = true; } positionCount += length; - - if (blockBuilderStatus != null) { - blockBuilderStatus.addBytes(length * ShortArrayBlock.SIZE_IN_BYTES_PER_POSITION); - } } @Override @@ -199,10 +179,6 @@ public void appendPositions(ValueBlock block, int[] positions, int offset, int l hasNonNullValue = true; } positionCount += length; - - if (blockBuilderStatus != null) { - blockBuilderStatus.addBytes(length * ShortArrayBlock.SIZE_IN_BYTES_PER_POSITION); - } } @Override @@ -214,9 +190,6 @@ public ShortArrayBlockBuilder appendNull() hasNullValue = true; positionCount++; - if (blockBuilderStatus != null) { - blockBuilderStatus.addBytes(ShortArrayBlock.SIZE_IN_BYTES_PER_POSITION); - } return this; } @@ -243,9 +216,9 @@ public ShortArrayBlock buildValueBlock() } @Override - public BlockBuilder newBlockBuilderLike(int expectedEntries, BlockBuilderStatus blockBuilderStatus) + public BlockBuilder newBlockBuilderLike(int expectedEntries) { - return new ShortArrayBlockBuilder(blockBuilderStatus, expectedEntries); + return new ShortArrayBlockBuilder(expectedEntries); } private void ensureCapacity(int capacity) @@ -272,9 +245,6 @@ private void ensureCapacity(int capacity) private void updateRetainedSize() { retainedSizeInBytes = INSTANCE_SIZE + sizeOf(valueIsNull) + sizeOf(values); - if (blockBuilderStatus != null) { - retainedSizeInBytes += BlockBuilderStatus.INSTANCE_SIZE; - } } @Override diff --git a/core/trino-spi/src/main/java/io/trino/spi/block/VariableWidthBlockBuilder.java b/core/trino-spi/src/main/java/io/trino/spi/block/VariableWidthBlockBuilder.java index 89a8a599a90c..31a404242c85 100644 --- a/core/trino-spi/src/main/java/io/trino/spi/block/VariableWidthBlockBuilder.java +++ b/core/trino-spi/src/main/java/io/trino/spi/block/VariableWidthBlockBuilder.java @@ -15,7 +15,6 @@ import io.airlift.slice.Slice; import io.airlift.slice.Slices; -import jakarta.annotation.Nullable; import java.util.Arrays; @@ -36,8 +35,6 @@ public class VariableWidthBlockBuilder private static final Block NULL_VALUE_BLOCK = new VariableWidthBlock(0, 1, EMPTY_SLICE, new int[] {0, 0}, new boolean[] {true}); private static final int SIZE_IN_BYTES_PER_POSITION = Integer.BYTES + Byte.BYTES; - private final BlockBuilderStatus blockBuilderStatus; - private final int initialEntryCount; private final int initialSliceOutputSize; @@ -53,10 +50,8 @@ public class VariableWidthBlockBuilder private long arraysRetainedSizeInBytes; - public VariableWidthBlockBuilder(@Nullable BlockBuilderStatus blockBuilderStatus, int expectedEntries, int expectedBytes) + public VariableWidthBlockBuilder(int expectedEntries, int expectedBytes) { - this.blockBuilderStatus = blockBuilderStatus; - initialEntryCount = expectedEntries; initialSliceOutputSize = min(expectedBytes, MAX_ARRAY_SIZE); @@ -78,11 +73,7 @@ public long getSizeInBytes() @Override public long getRetainedSizeInBytes() { - long size = INSTANCE_SIZE + arraysRetainedSizeInBytes; - if (blockBuilderStatus != null) { - size += BlockBuilderStatus.INSTANCE_SIZE; - } - return size; + return INSTANCE_SIZE + arraysRetainedSizeInBytes; } public VariableWidthBlockBuilder writeEntry(Slice source) @@ -135,10 +126,6 @@ public void append(ValueBlock block, int position) } offsets[positionCount + 1] = offsets[positionCount] + bytesWritten; positionCount++; - - if (blockBuilderStatus != null) { - blockBuilderStatus.addBytes(SIZE_IN_BYTES_PER_POSITION + bytesWritten); - } } @Override @@ -204,10 +191,6 @@ public void appendRepeated(ValueBlock block, int position, int count) hasNonNullValue = true; } positionCount += count; - - if (blockBuilderStatus != null) { - blockBuilderStatus.addBytes(count * SIZE_IN_BYTES_PER_POSITION + bytesWritten); - } } @Override @@ -260,10 +243,6 @@ public void appendRange(ValueBlock block, int offset, int length) hasNonNullValue = true; } positionCount += length; - - if (blockBuilderStatus != null) { - blockBuilderStatus.addBytes(length * SIZE_IN_BYTES_PER_POSITION); - } } @Override @@ -324,10 +303,6 @@ public void appendPositions(ValueBlock block, int[] positions, int offset, int l hasNonNullValue = true; } positionCount += length; - - if (blockBuilderStatus != null) { - blockBuilderStatus.addBytes(length * SIZE_IN_BYTES_PER_POSITION + totalSize); - } } @Override @@ -354,10 +329,6 @@ private void entryAdded(int bytesWritten, boolean isNull) positionCount++; hasNonNullValue |= !isNull; - - if (blockBuilderStatus != null) { - blockBuilderStatus.addBytes(SIZE_IN_BYTES_PER_POSITION + bytesWritten); - } } @Override @@ -376,10 +347,10 @@ public VariableWidthBlock buildValueBlock() } @Override - public BlockBuilder newBlockBuilderLike(int expectedEntries, BlockBuilderStatus blockBuilderStatus) + public BlockBuilder newBlockBuilderLike(int expectedEntries) { int currentSizeInBytes = positionCount == 0 ? positionCount : (getOffset(positionCount) - getOffset(0)); - return new VariableWidthBlockBuilder(blockBuilderStatus, expectedEntries, calculateBlockResetBytes(currentSizeInBytes)); + return new VariableWidthBlockBuilder(expectedEntries, calculateBlockResetBytes(currentSizeInBytes)); } private int getOffset(int position) diff --git a/core/trino-spi/src/main/java/io/trino/spi/predicate/SortedRangeSet.java b/core/trino-spi/src/main/java/io/trino/spi/predicate/SortedRangeSet.java index c1bec7a223f6..1b887d8c536e 100644 --- a/core/trino-spi/src/main/java/io/trino/spi/predicate/SortedRangeSet.java +++ b/core/trino-spi/src/main/java/io/trino/spi/predicate/SortedRangeSet.java @@ -136,7 +136,7 @@ static SortedRangeSet none(Type type) type, new boolean[0], // TODO This can perhaps use an empty block singleton - type.createBlockBuilder(null, 0).build(), + type.createBlockBuilder(0).build(), // empty => no discrete set NON_DISCRETE); } @@ -147,7 +147,7 @@ static SortedRangeSet all(Type type) type, new boolean[] {false, false}, // TODO This can perhaps use a "block with two nulls" singleton - type.createBlockBuilder(null, 2) + type.createBlockBuilder(2) .appendNull() .appendNull() .build(), @@ -178,7 +178,7 @@ static SortedRangeSet of(Type type, Object first, Object... rest) return of(type, first); } - BlockBuilder blockBuilder = type.createBlockBuilder(null, 1 + rest.length); + BlockBuilder blockBuilder = type.createBlockBuilder(1 + rest.length); checkNotNaN(type, first); writeNativeValue(type, blockBuilder, first); for (Object value : rest) { @@ -196,7 +196,7 @@ static SortedRangeSet of(Type type, Collection values) return none(type); } - BlockBuilder blockBuilder = type.createBlockBuilder(null, values.size()); + BlockBuilder blockBuilder = type.createBlockBuilder(values.size()); for (Object value : values) { checkNotNaN(type, value); writeNativeValue(type, blockBuilder, value); @@ -571,7 +571,7 @@ SortedRangeSet linearDiscreteSetIntersect(SortedRangeSet that) int thatRangeCount = that.getRangeCount(); boolean[] inclusive = new boolean[2 * (thisRangeCount + thatRangeCount)]; - BlockBuilder blockBuilder = type.createBlockBuilder(null, 2 * (thisRangeCount + thatRangeCount)); + BlockBuilder blockBuilder = type.createBlockBuilder(2 * (thisRangeCount + thatRangeCount)); int resultRangeIndex = 0; int thisNextRangeIndex = 0; @@ -629,7 +629,7 @@ SortedRangeSet linearSearchIntersect(SortedRangeSet that) int thatRangeCount = that.getRangeCount(); boolean[] inclusive = new boolean[2 * (thisRangeCount + thatRangeCount)]; - BlockBuilder blockBuilder = type.createBlockBuilder(null, 2 * (thisRangeCount + thatRangeCount)); + BlockBuilder blockBuilder = type.createBlockBuilder(2 * (thisRangeCount + thatRangeCount)); int resultRangeIndex = 0; int thisNextRangeIndex = 0; @@ -718,7 +718,7 @@ SortedRangeSet binarySearchIntersect(SortedRangeSet that) } } if (blockBuilder == null) { - blockBuilder = type.createBlockBuilder(null, 2 * (testEnd + probeEnd)); + blockBuilder = type.createBlockBuilder(2 * (testEnd + probeEnd)); inclusive = new boolean[2 * (testEnd + probeEnd)]; } int probeIndex = insertionStartIndex; @@ -743,7 +743,7 @@ SortedRangeSet binarySearchIntersect(SortedRangeSet that) } if (blockBuilder == null) { - blockBuilder = type.createBlockBuilder(null, 0); + blockBuilder = type.createBlockBuilder(0); inclusive = new boolean[0]; } if (resultIndex * 2 < inclusive.length) { @@ -988,7 +988,7 @@ public SortedRangeSet union(ValueSet other) int thatRangeCount = that.getRangeCount(); boolean[] inclusive = new boolean[2 * (thisRangeCount + thatRangeCount)]; - BlockBuilder blockBuilder = type.createBlockBuilder(null, 2 * (thisRangeCount + thatRangeCount)); + BlockBuilder blockBuilder = type.createBlockBuilder(2 * (thisRangeCount + thatRangeCount)); int resultRangeIndex = 0; int thisNextRangeIndex = 0; @@ -1059,7 +1059,7 @@ private SortedRangeSet linearDiscreteSetUnion(SortedRangeSet leftRangeSet, Sorte int rightRangeCount = rightRangeSet.getRangeCount(); boolean[] inclusive = new boolean[2 * (leftRangeCount + rightRangeCount)]; - BlockBuilder blockBuilder = type.createBlockBuilder(null, 2 * (leftRangeCount + rightRangeCount)); + BlockBuilder blockBuilder = type.createBlockBuilder(2 * (leftRangeCount + rightRangeCount)); int resultRangeIndex = 0; int leftNextRangeIndex = 0; @@ -1200,7 +1200,7 @@ public SortedRangeSet complement() } boolean[] inclusive = new boolean[2 * resultRanges]; - BlockBuilder blockBuilder = type.createBlockBuilder(null, 2 * resultRanges); + BlockBuilder blockBuilder = type.createBlockBuilder(2 * resultRanges); int resultRangeIndex = 0; if (!first.isLowUnbounded()) { @@ -1512,7 +1512,7 @@ static SortedRangeSet buildFromUnsortedRanges(Type type, Collection unsor } boolean[] inclusive = new boolean[2 * result.size()]; - BlockBuilder blockBuilder = type.createBlockBuilder(null, 2 * result.size()); + BlockBuilder blockBuilder = type.createBlockBuilder(2 * result.size()); for (int rangeIndex = 0; rangeIndex < result.size(); rangeIndex++) { Range range = result.get(rangeIndex); writeRange(type, blockBuilder, inclusive, rangeIndex, range); diff --git a/core/trino-spi/src/main/java/io/trino/spi/type/AbstractIntType.java b/core/trino-spi/src/main/java/io/trino/spi/type/AbstractIntType.java index 5274086b47ac..e21ac9cdec93 100644 --- a/core/trino-spi/src/main/java/io/trino/spi/type/AbstractIntType.java +++ b/core/trino-spi/src/main/java/io/trino/spi/type/AbstractIntType.java @@ -17,7 +17,6 @@ import io.trino.spi.TrinoException; import io.trino.spi.block.Block; import io.trino.spi.block.BlockBuilder; -import io.trino.spi.block.BlockBuilderStatus; import io.trino.spi.block.IntArrayBlock; import io.trino.spi.block.IntArrayBlockBuilder; import io.trino.spi.block.PageBuilderStatus; @@ -121,24 +120,17 @@ public int getFlatFixedSize() } @Override - public final BlockBuilder createBlockBuilder(BlockBuilderStatus blockBuilderStatus, int expectedEntries) + public final BlockBuilder createBlockBuilder(int expectedEntries) { - int maxBlockSizeInBytes; - if (blockBuilderStatus == null) { - maxBlockSizeInBytes = PageBuilderStatus.DEFAULT_MAX_PAGE_SIZE_IN_BYTES; - } - else { - maxBlockSizeInBytes = blockBuilderStatus.getMaxPageSizeInBytes(); - } + int maxBlockSizeInBytes = PageBuilderStatus.DEFAULT_MAX_PAGE_SIZE_IN_BYTES; return new IntArrayBlockBuilder( - blockBuilderStatus, Math.min(expectedEntries, maxBlockSizeInBytes / Integer.BYTES)); } @Override public final BlockBuilder createFixedSizeBlockBuilder(int positionCount) { - return new IntArrayBlockBuilder(null, positionCount); + return new IntArrayBlockBuilder(positionCount); } @ScalarOperator(READ_VALUE) diff --git a/core/trino-spi/src/main/java/io/trino/spi/type/AbstractLongType.java b/core/trino-spi/src/main/java/io/trino/spi/type/AbstractLongType.java index dd2ae4ce569b..d7f35f4f6528 100644 --- a/core/trino-spi/src/main/java/io/trino/spi/type/AbstractLongType.java +++ b/core/trino-spi/src/main/java/io/trino/spi/type/AbstractLongType.java @@ -16,7 +16,6 @@ import io.airlift.slice.XxHash64; import io.trino.spi.block.Block; import io.trino.spi.block.BlockBuilder; -import io.trino.spi.block.BlockBuilderStatus; import io.trino.spi.block.LongArrayBlock; import io.trino.spi.block.LongArrayBlockBuilder; import io.trino.spi.block.PageBuilderStatus; @@ -98,24 +97,17 @@ public int getFlatFixedSize() } @Override - public final BlockBuilder createBlockBuilder(BlockBuilderStatus blockBuilderStatus, int expectedEntries) - { - int maxBlockSizeInBytes; - if (blockBuilderStatus == null) { - maxBlockSizeInBytes = PageBuilderStatus.DEFAULT_MAX_PAGE_SIZE_IN_BYTES; - } - else { - maxBlockSizeInBytes = blockBuilderStatus.getMaxPageSizeInBytes(); - } + public final BlockBuilder createBlockBuilder(int expectedEntries) + { + int maxBlockSizeInBytes = PageBuilderStatus.DEFAULT_MAX_PAGE_SIZE_IN_BYTES; return new LongArrayBlockBuilder( - blockBuilderStatus, Math.min(expectedEntries, maxBlockSizeInBytes / Long.BYTES)); } @Override public final BlockBuilder createFixedSizeBlockBuilder(int positionCount) { - return new LongArrayBlockBuilder(null, positionCount); + return new LongArrayBlockBuilder(positionCount); } public static long hash(long value) diff --git a/core/trino-spi/src/main/java/io/trino/spi/type/AbstractVariableWidthType.java b/core/trino-spi/src/main/java/io/trino/spi/type/AbstractVariableWidthType.java index 67c20d0dda50..6132cf233b63 100644 --- a/core/trino-spi/src/main/java/io/trino/spi/type/AbstractVariableWidthType.java +++ b/core/trino-spi/src/main/java/io/trino/spi/type/AbstractVariableWidthType.java @@ -17,7 +17,6 @@ import io.airlift.slice.XxHash64; import io.trino.spi.block.Block; import io.trino.spi.block.BlockBuilder; -import io.trino.spi.block.BlockBuilderStatus; import io.trino.spi.block.PageBuilderStatus; import io.trino.spi.block.VariableWidthBlock; import io.trino.spi.block.VariableWidthBlockBuilder; @@ -64,28 +63,21 @@ protected AbstractVariableWidthType(TypeSignature signature, Class javaType) } @Override - public VariableWidthBlockBuilder createBlockBuilder(BlockBuilderStatus blockBuilderStatus, int expectedEntries, int expectedBytesPerEntry) + public VariableWidthBlockBuilder createBlockBuilder(int expectedEntries, int expectedBytesPerEntry) { - int maxBlockSizeInBytes; - if (blockBuilderStatus == null) { - maxBlockSizeInBytes = PageBuilderStatus.DEFAULT_MAX_PAGE_SIZE_IN_BYTES; - } - else { - maxBlockSizeInBytes = blockBuilderStatus.getMaxPageSizeInBytes(); - } + int maxBlockSizeInBytes = PageBuilderStatus.DEFAULT_MAX_PAGE_SIZE_IN_BYTES; // it is guaranteed Math.min will not overflow; safe to cast int expectedBytes = (int) min((long) expectedEntries * expectedBytesPerEntry, maxBlockSizeInBytes); return new VariableWidthBlockBuilder( - blockBuilderStatus, expectedBytesPerEntry == 0 ? expectedEntries : min(expectedEntries, maxBlockSizeInBytes / expectedBytesPerEntry), expectedBytes); } @Override - public VariableWidthBlockBuilder createBlockBuilder(BlockBuilderStatus blockBuilderStatus, int expectedEntries) + public VariableWidthBlockBuilder createBlockBuilder(int expectedEntries) { - return createBlockBuilder(blockBuilderStatus, expectedEntries, EXPECTED_BYTES_PER_ENTRY); + return createBlockBuilder(expectedEntries, EXPECTED_BYTES_PER_ENTRY); } @Override diff --git a/core/trino-spi/src/main/java/io/trino/spi/type/ArrayType.java b/core/trino-spi/src/main/java/io/trino/spi/type/ArrayType.java index d19543c33ccd..c043372b9d7b 100644 --- a/core/trino-spi/src/main/java/io/trino/spi/type/ArrayType.java +++ b/core/trino-spi/src/main/java/io/trino/spi/type/ArrayType.java @@ -17,7 +17,6 @@ import io.trino.spi.block.ArrayBlockBuilder; import io.trino.spi.block.Block; import io.trino.spi.block.BlockBuilder; -import io.trino.spi.block.BlockBuilderStatus; import io.trino.spi.block.DictionaryBlock; import io.trino.spi.block.RunLengthEncodedBlock; import io.trino.spi.block.ValueBlock; @@ -314,15 +313,15 @@ public int getFlatVariableWidthSize(Block block, int position) } @Override - public ArrayBlockBuilder createBlockBuilder(BlockBuilderStatus blockBuilderStatus, int expectedEntries, int expectedBytesPerEntry) + public ArrayBlockBuilder createBlockBuilder(int expectedEntries, int expectedBytesPerEntry) { - return new ArrayBlockBuilder(elementType, blockBuilderStatus, expectedEntries, expectedBytesPerEntry); + return new ArrayBlockBuilder(elementType, expectedEntries, expectedBytesPerEntry); } @Override - public ArrayBlockBuilder createBlockBuilder(BlockBuilderStatus blockBuilderStatus, int expectedEntries) + public ArrayBlockBuilder createBlockBuilder(int expectedEntries) { - return createBlockBuilder(blockBuilderStatus, expectedEntries, 100); + return createBlockBuilder(expectedEntries, 100); } @Override @@ -359,7 +358,7 @@ private static Block readFlat( throws Throwable { int positionCount = (int) INT_HANDLE.get(fixedSizeSlice, fixedSizeOffset); - BlockBuilder elementBuilder = elementType.createBlockBuilder(null, positionCount); + BlockBuilder elementBuilder = elementType.createBlockBuilder(positionCount); readFlatElements(elementType, elementReadFlat, elementFixedSize, variableSizeSlice, variableSizeOffset, positionCount, elementBuilder); return elementBuilder.build(); } diff --git a/core/trino-spi/src/main/java/io/trino/spi/type/BooleanType.java b/core/trino-spi/src/main/java/io/trino/spi/type/BooleanType.java index 5ab89395b56b..793b146aa9ff 100644 --- a/core/trino-spi/src/main/java/io/trino/spi/type/BooleanType.java +++ b/core/trino-spi/src/main/java/io/trino/spi/type/BooleanType.java @@ -16,7 +16,6 @@ import io.airlift.slice.XxHash64; import io.trino.spi.block.Block; import io.trino.spi.block.BlockBuilder; -import io.trino.spi.block.BlockBuilderStatus; import io.trino.spi.block.ByteArrayBlock; import io.trino.spi.block.ByteArrayBlockBuilder; import io.trino.spi.block.PageBuilderStatus; @@ -79,24 +78,17 @@ public int getFixedSize() } @Override - public BlockBuilder createBlockBuilder(BlockBuilderStatus blockBuilderStatus, int expectedEntries) + public BlockBuilder createBlockBuilder(int expectedEntries) { - int maxBlockSizeInBytes; - if (blockBuilderStatus == null) { - maxBlockSizeInBytes = PageBuilderStatus.DEFAULT_MAX_PAGE_SIZE_IN_BYTES; - } - else { - maxBlockSizeInBytes = blockBuilderStatus.getMaxPageSizeInBytes(); - } + int maxBlockSizeInBytes = PageBuilderStatus.DEFAULT_MAX_PAGE_SIZE_IN_BYTES; return new ByteArrayBlockBuilder( - blockBuilderStatus, Math.min(expectedEntries, maxBlockSizeInBytes / Byte.BYTES)); } @Override public BlockBuilder createFixedSizeBlockBuilder(int positionCount) { - return new ByteArrayBlockBuilder(null, positionCount); + return new ByteArrayBlockBuilder(positionCount); } @Override diff --git a/core/trino-spi/src/main/java/io/trino/spi/type/CharType.java b/core/trino-spi/src/main/java/io/trino/spi/type/CharType.java index decca2d42467..9851717b09bf 100644 --- a/core/trino-spi/src/main/java/io/trino/spi/type/CharType.java +++ b/core/trino-spi/src/main/java/io/trino/spi/type/CharType.java @@ -18,7 +18,6 @@ import io.airlift.slice.Slices; import io.trino.spi.block.Block; import io.trino.spi.block.BlockBuilder; -import io.trino.spi.block.BlockBuilderStatus; import io.trino.spi.block.VariableWidthBlock; import io.trino.spi.block.VariableWidthBlockBuilder; import io.trino.spi.function.ScalarOperator; @@ -158,11 +157,11 @@ public Object getObjectValue(Block block, int position) } @Override - public VariableWidthBlockBuilder createBlockBuilder(BlockBuilderStatus blockBuilderStatus, int expectedEntries) + public VariableWidthBlockBuilder createBlockBuilder(int expectedEntries) { // If bound on length of char is smaller than EXPECTED_BYTES_PER_ENTRY, use that as expectedBytesPerEntry // The data can take up to 4 bytes per character due to UTF-8 encoding, but we assume it is ASCII and only needs one byte. - return createBlockBuilder(blockBuilderStatus, expectedEntries, Math.min(length, EXPECTED_BYTES_PER_ENTRY)); + return createBlockBuilder(expectedEntries, Math.min(length, EXPECTED_BYTES_PER_ENTRY)); } @Override diff --git a/core/trino-spi/src/main/java/io/trino/spi/type/DoubleType.java b/core/trino-spi/src/main/java/io/trino/spi/type/DoubleType.java index a53d7ad9e9d7..83fc0b557d02 100644 --- a/core/trino-spi/src/main/java/io/trino/spi/type/DoubleType.java +++ b/core/trino-spi/src/main/java/io/trino/spi/type/DoubleType.java @@ -16,7 +16,6 @@ import io.airlift.slice.XxHash64; import io.trino.spi.block.Block; import io.trino.spi.block.BlockBuilder; -import io.trino.spi.block.BlockBuilderStatus; import io.trino.spi.block.LongArrayBlock; import io.trino.spi.block.LongArrayBlockBuilder; import io.trino.spi.block.PageBuilderStatus; @@ -108,24 +107,17 @@ public void writeDouble(BlockBuilder blockBuilder, double value) } @Override - public BlockBuilder createBlockBuilder(BlockBuilderStatus blockBuilderStatus, int expectedEntries) + public BlockBuilder createBlockBuilder(int expectedEntries) { - int maxBlockSizeInBytes; - if (blockBuilderStatus == null) { - maxBlockSizeInBytes = PageBuilderStatus.DEFAULT_MAX_PAGE_SIZE_IN_BYTES; - } - else { - maxBlockSizeInBytes = blockBuilderStatus.getMaxPageSizeInBytes(); - } + int maxBlockSizeInBytes = PageBuilderStatus.DEFAULT_MAX_PAGE_SIZE_IN_BYTES; return new LongArrayBlockBuilder( - blockBuilderStatus, Math.min(expectedEntries, maxBlockSizeInBytes / Double.BYTES)); } @Override public BlockBuilder createFixedSizeBlockBuilder(int positionCount) { - return new LongArrayBlockBuilder(null, positionCount); + return new LongArrayBlockBuilder(positionCount); } @Override diff --git a/core/trino-spi/src/main/java/io/trino/spi/type/FixedWidthType.java b/core/trino-spi/src/main/java/io/trino/spi/type/FixedWidthType.java index a7d1fd721766..269ac60d4135 100644 --- a/core/trino-spi/src/main/java/io/trino/spi/type/FixedWidthType.java +++ b/core/trino-spi/src/main/java/io/trino/spi/type/FixedWidthType.java @@ -15,7 +15,6 @@ import io.trino.spi.block.Block; import io.trino.spi.block.BlockBuilder; -import io.trino.spi.block.BlockBuilderStatus; /** * FixedWidthType is a type that has a fixed size for every value. @@ -30,9 +29,9 @@ public interface FixedWidthType int getFixedSize(); @Override - default BlockBuilder createBlockBuilder(BlockBuilderStatus blockBuilderStatus, int expectedEntries, int expectedBytesPerEntry) + default BlockBuilder createBlockBuilder(int expectedEntries, int expectedBytesPerEntry) { - return createBlockBuilder(blockBuilderStatus, expectedEntries); + return createBlockBuilder(expectedEntries); } /** diff --git a/core/trino-spi/src/main/java/io/trino/spi/type/LongDecimalType.java b/core/trino-spi/src/main/java/io/trino/spi/type/LongDecimalType.java index 0150acfb9329..e0b981abea4e 100644 --- a/core/trino-spi/src/main/java/io/trino/spi/type/LongDecimalType.java +++ b/core/trino-spi/src/main/java/io/trino/spi/type/LongDecimalType.java @@ -16,7 +16,6 @@ import io.airlift.slice.XxHash64; import io.trino.spi.block.Block; import io.trino.spi.block.BlockBuilder; -import io.trino.spi.block.BlockBuilderStatus; import io.trino.spi.block.Int128ArrayBlock; import io.trino.spi.block.Int128ArrayBlockBuilder; import io.trino.spi.block.PageBuilderStatus; @@ -68,24 +67,17 @@ public int getFixedSize() } @Override - public BlockBuilder createBlockBuilder(BlockBuilderStatus blockBuilderStatus, int expectedEntries) + public BlockBuilder createBlockBuilder(int expectedEntries) { - int maxBlockSizeInBytes; - if (blockBuilderStatus == null) { - maxBlockSizeInBytes = PageBuilderStatus.DEFAULT_MAX_PAGE_SIZE_IN_BYTES; - } - else { - maxBlockSizeInBytes = blockBuilderStatus.getMaxPageSizeInBytes(); - } + int maxBlockSizeInBytes = PageBuilderStatus.DEFAULT_MAX_PAGE_SIZE_IN_BYTES; return new Int128ArrayBlockBuilder( - blockBuilderStatus, Math.min(expectedEntries, maxBlockSizeInBytes / getFixedSize())); } @Override public BlockBuilder createFixedSizeBlockBuilder(int positionCount) { - return new Int128ArrayBlockBuilder(null, positionCount); + return new Int128ArrayBlockBuilder(positionCount); } @Override diff --git a/core/trino-spi/src/main/java/io/trino/spi/type/LongTimeWithTimeZoneType.java b/core/trino-spi/src/main/java/io/trino/spi/type/LongTimeWithTimeZoneType.java index 9b8ee9d23b0a..afe0b5f6f5bf 100644 --- a/core/trino-spi/src/main/java/io/trino/spi/type/LongTimeWithTimeZoneType.java +++ b/core/trino-spi/src/main/java/io/trino/spi/type/LongTimeWithTimeZoneType.java @@ -16,7 +16,6 @@ import io.airlift.slice.XxHash64; import io.trino.spi.block.Block; import io.trino.spi.block.BlockBuilder; -import io.trino.spi.block.BlockBuilderStatus; import io.trino.spi.block.Fixed12Block; import io.trino.spi.block.Fixed12BlockBuilder; import io.trino.spi.block.PageBuilderStatus; @@ -74,24 +73,17 @@ public int getFixedSize() } @Override - public BlockBuilder createBlockBuilder(BlockBuilderStatus blockBuilderStatus, int expectedEntries) + public BlockBuilder createBlockBuilder(int expectedEntries) { - int maxBlockSizeInBytes; - if (blockBuilderStatus == null) { - maxBlockSizeInBytes = PageBuilderStatus.DEFAULT_MAX_PAGE_SIZE_IN_BYTES; - } - else { - maxBlockSizeInBytes = blockBuilderStatus.getMaxPageSizeInBytes(); - } + int maxBlockSizeInBytes = PageBuilderStatus.DEFAULT_MAX_PAGE_SIZE_IN_BYTES; return new Fixed12BlockBuilder( - blockBuilderStatus, Math.min(expectedEntries, maxBlockSizeInBytes / getFixedSize())); } @Override public BlockBuilder createFixedSizeBlockBuilder(int positionCount) { - return new Fixed12BlockBuilder(null, positionCount); + return new Fixed12BlockBuilder(positionCount); } @Override diff --git a/core/trino-spi/src/main/java/io/trino/spi/type/LongTimestampType.java b/core/trino-spi/src/main/java/io/trino/spi/type/LongTimestampType.java index b3d740419bbf..fffce0288e7a 100644 --- a/core/trino-spi/src/main/java/io/trino/spi/type/LongTimestampType.java +++ b/core/trino-spi/src/main/java/io/trino/spi/type/LongTimestampType.java @@ -16,7 +16,6 @@ import io.airlift.slice.XxHash64; import io.trino.spi.block.Block; import io.trino.spi.block.BlockBuilder; -import io.trino.spi.block.BlockBuilderStatus; import io.trino.spi.block.Fixed12Block; import io.trino.spi.block.Fixed12BlockBuilder; import io.trino.spi.block.PageBuilderStatus; @@ -86,24 +85,17 @@ public int getFixedSize() } @Override - public BlockBuilder createBlockBuilder(BlockBuilderStatus blockBuilderStatus, int expectedEntries) + public BlockBuilder createBlockBuilder(int expectedEntries) { - int maxBlockSizeInBytes; - if (blockBuilderStatus == null) { - maxBlockSizeInBytes = PageBuilderStatus.DEFAULT_MAX_PAGE_SIZE_IN_BYTES; - } - else { - maxBlockSizeInBytes = blockBuilderStatus.getMaxPageSizeInBytes(); - } + int maxBlockSizeInBytes = PageBuilderStatus.DEFAULT_MAX_PAGE_SIZE_IN_BYTES; return new Fixed12BlockBuilder( - blockBuilderStatus, Math.min(expectedEntries, maxBlockSizeInBytes / getFixedSize())); } @Override public BlockBuilder createFixedSizeBlockBuilder(int positionCount) { - return new Fixed12BlockBuilder(null, positionCount); + return new Fixed12BlockBuilder(positionCount); } @Override diff --git a/core/trino-spi/src/main/java/io/trino/spi/type/LongTimestampWithTimeZoneType.java b/core/trino-spi/src/main/java/io/trino/spi/type/LongTimestampWithTimeZoneType.java index 51b494b8ea6a..408c3df58962 100644 --- a/core/trino-spi/src/main/java/io/trino/spi/type/LongTimestampWithTimeZoneType.java +++ b/core/trino-spi/src/main/java/io/trino/spi/type/LongTimestampWithTimeZoneType.java @@ -16,7 +16,6 @@ import io.airlift.slice.XxHash64; import io.trino.spi.block.Block; import io.trino.spi.block.BlockBuilder; -import io.trino.spi.block.BlockBuilderStatus; import io.trino.spi.block.Fixed12Block; import io.trino.spi.block.Fixed12BlockBuilder; import io.trino.spi.block.PageBuilderStatus; @@ -85,24 +84,17 @@ public int getFixedSize() } @Override - public BlockBuilder createBlockBuilder(BlockBuilderStatus blockBuilderStatus, int expectedEntries) + public BlockBuilder createBlockBuilder(int expectedEntries) { - int maxBlockSizeInBytes; - if (blockBuilderStatus == null) { - maxBlockSizeInBytes = PageBuilderStatus.DEFAULT_MAX_PAGE_SIZE_IN_BYTES; - } - else { - maxBlockSizeInBytes = blockBuilderStatus.getMaxPageSizeInBytes(); - } + int maxBlockSizeInBytes = PageBuilderStatus.DEFAULT_MAX_PAGE_SIZE_IN_BYTES; return new Fixed12BlockBuilder( - blockBuilderStatus, Math.min(expectedEntries, maxBlockSizeInBytes / getFixedSize())); } @Override public BlockBuilder createFixedSizeBlockBuilder(int positionCount) { - return new Fixed12BlockBuilder(null, positionCount); + return new Fixed12BlockBuilder(positionCount); } @Override diff --git a/core/trino-spi/src/main/java/io/trino/spi/type/MapType.java b/core/trino-spi/src/main/java/io/trino/spi/type/MapType.java index b5d2928822b3..3a8ebd6836a4 100644 --- a/core/trino-spi/src/main/java/io/trino/spi/type/MapType.java +++ b/core/trino-spi/src/main/java/io/trino/spi/type/MapType.java @@ -15,7 +15,6 @@ import io.trino.spi.block.Block; import io.trino.spi.block.BlockBuilder; -import io.trino.spi.block.BlockBuilderStatus; import io.trino.spi.block.MapBlock; import io.trino.spi.block.MapBlockBuilder; import io.trino.spi.block.SqlMap; @@ -256,15 +255,15 @@ private static OperatorMethodHandle getIndeterminateOperatorInvoker(TypeOperator } @Override - public MapBlockBuilder createBlockBuilder(BlockBuilderStatus blockBuilderStatus, int expectedEntries, int expectedBytesPerEntry) + public MapBlockBuilder createBlockBuilder(int expectedEntries, int expectedBytesPerEntry) { - return new MapBlockBuilder(this, blockBuilderStatus, expectedEntries); + return new MapBlockBuilder(this, expectedEntries); } @Override - public MapBlockBuilder createBlockBuilder(BlockBuilderStatus blockBuilderStatus, int expectedEntries) + public MapBlockBuilder createBlockBuilder(int expectedEntries) { - return createBlockBuilder(blockBuilderStatus, expectedEntries, EXPECTED_BYTES_PER_ENTRY); + return createBlockBuilder(expectedEntries, EXPECTED_BYTES_PER_ENTRY); } public Type getKeyType() diff --git a/core/trino-spi/src/main/java/io/trino/spi/type/RowType.java b/core/trino-spi/src/main/java/io/trino/spi/type/RowType.java index 4e1d89a94389..fdf75c599d76 100644 --- a/core/trino-spi/src/main/java/io/trino/spi/type/RowType.java +++ b/core/trino-spi/src/main/java/io/trino/spi/type/RowType.java @@ -17,7 +17,6 @@ import io.trino.spi.TrinoException; import io.trino.spi.block.Block; import io.trino.spi.block.BlockBuilder; -import io.trino.spi.block.BlockBuilderStatus; import io.trino.spi.block.RowBlock; import io.trino.spi.block.RowBlockBuilder; import io.trino.spi.block.SqlRow; @@ -198,15 +197,15 @@ private static TypeSignature makeSignature(List fields) } @Override - public RowBlockBuilder createBlockBuilder(BlockBuilderStatus blockBuilderStatus, int expectedEntries, int expectedBytesPerEntry) + public RowBlockBuilder createBlockBuilder(int expectedEntries, int expectedBytesPerEntry) { - return new RowBlockBuilder(getTypeParameters(), blockBuilderStatus, expectedEntries); + return new RowBlockBuilder(getTypeParameters(), expectedEntries); } @Override - public RowBlockBuilder createBlockBuilder(BlockBuilderStatus blockBuilderStatus, int expectedEntries) + public RowBlockBuilder createBlockBuilder(int expectedEntries) { - return new RowBlockBuilder(getTypeParameters(), blockBuilderStatus, expectedEntries); + return new RowBlockBuilder(getTypeParameters(), expectedEntries); } @Override diff --git a/core/trino-spi/src/main/java/io/trino/spi/type/ShortDecimalType.java b/core/trino-spi/src/main/java/io/trino/spi/type/ShortDecimalType.java index 6fe8e1b9f037..599126e22b3d 100644 --- a/core/trino-spi/src/main/java/io/trino/spi/type/ShortDecimalType.java +++ b/core/trino-spi/src/main/java/io/trino/spi/type/ShortDecimalType.java @@ -16,7 +16,6 @@ import io.airlift.slice.XxHash64; import io.trino.spi.block.Block; import io.trino.spi.block.BlockBuilder; -import io.trino.spi.block.BlockBuilderStatus; import io.trino.spi.block.LongArrayBlock; import io.trino.spi.block.LongArrayBlockBuilder; import io.trino.spi.block.PageBuilderStatus; @@ -97,24 +96,17 @@ public int getFixedSize() } @Override - public BlockBuilder createBlockBuilder(BlockBuilderStatus blockBuilderStatus, int expectedEntries) + public BlockBuilder createBlockBuilder(int expectedEntries) { - int maxBlockSizeInBytes; - if (blockBuilderStatus == null) { - maxBlockSizeInBytes = PageBuilderStatus.DEFAULT_MAX_PAGE_SIZE_IN_BYTES; - } - else { - maxBlockSizeInBytes = blockBuilderStatus.getMaxPageSizeInBytes(); - } + int maxBlockSizeInBytes = PageBuilderStatus.DEFAULT_MAX_PAGE_SIZE_IN_BYTES; return new LongArrayBlockBuilder( - blockBuilderStatus, Math.min(expectedEntries, maxBlockSizeInBytes / getFixedSize())); } @Override public BlockBuilder createFixedSizeBlockBuilder(int positionCount) { - return new LongArrayBlockBuilder(null, positionCount); + return new LongArrayBlockBuilder(positionCount); } @Override diff --git a/core/trino-spi/src/main/java/io/trino/spi/type/ShortTimeWithTimeZoneType.java b/core/trino-spi/src/main/java/io/trino/spi/type/ShortTimeWithTimeZoneType.java index 865078bea023..6ef28da84f2a 100644 --- a/core/trino-spi/src/main/java/io/trino/spi/type/ShortTimeWithTimeZoneType.java +++ b/core/trino-spi/src/main/java/io/trino/spi/type/ShortTimeWithTimeZoneType.java @@ -16,7 +16,6 @@ import io.airlift.slice.XxHash64; import io.trino.spi.block.Block; import io.trino.spi.block.BlockBuilder; -import io.trino.spi.block.BlockBuilderStatus; import io.trino.spi.block.LongArrayBlock; import io.trino.spi.block.LongArrayBlockBuilder; import io.trino.spi.block.PageBuilderStatus; @@ -90,24 +89,17 @@ public void writeLong(BlockBuilder blockBuilder, long value) } @Override - public BlockBuilder createBlockBuilder(BlockBuilderStatus blockBuilderStatus, int expectedEntries) + public BlockBuilder createBlockBuilder(int expectedEntries) { - int maxBlockSizeInBytes; - if (blockBuilderStatus == null) { - maxBlockSizeInBytes = PageBuilderStatus.DEFAULT_MAX_PAGE_SIZE_IN_BYTES; - } - else { - maxBlockSizeInBytes = blockBuilderStatus.getMaxPageSizeInBytes(); - } + int maxBlockSizeInBytes = PageBuilderStatus.DEFAULT_MAX_PAGE_SIZE_IN_BYTES; return new LongArrayBlockBuilder( - blockBuilderStatus, Math.min(expectedEntries, maxBlockSizeInBytes / Long.BYTES)); } @Override public BlockBuilder createFixedSizeBlockBuilder(int positionCount) { - return new LongArrayBlockBuilder(null, positionCount); + return new LongArrayBlockBuilder(positionCount); } @Override diff --git a/core/trino-spi/src/main/java/io/trino/spi/type/ShortTimestampType.java b/core/trino-spi/src/main/java/io/trino/spi/type/ShortTimestampType.java index af333b9ca415..8b97656d1844 100644 --- a/core/trino-spi/src/main/java/io/trino/spi/type/ShortTimestampType.java +++ b/core/trino-spi/src/main/java/io/trino/spi/type/ShortTimestampType.java @@ -16,7 +16,6 @@ import io.airlift.slice.XxHash64; import io.trino.spi.block.Block; import io.trino.spi.block.BlockBuilder; -import io.trino.spi.block.BlockBuilderStatus; import io.trino.spi.block.LongArrayBlock; import io.trino.spi.block.LongArrayBlockBuilder; import io.trino.spi.block.PageBuilderStatus; @@ -101,24 +100,17 @@ public void writeLong(BlockBuilder blockBuilder, long value) } @Override - public BlockBuilder createBlockBuilder(BlockBuilderStatus blockBuilderStatus, int expectedEntries) + public BlockBuilder createBlockBuilder(int expectedEntries) { - int maxBlockSizeInBytes; - if (blockBuilderStatus == null) { - maxBlockSizeInBytes = PageBuilderStatus.DEFAULT_MAX_PAGE_SIZE_IN_BYTES; - } - else { - maxBlockSizeInBytes = blockBuilderStatus.getMaxPageSizeInBytes(); - } + int maxBlockSizeInBytes = PageBuilderStatus.DEFAULT_MAX_PAGE_SIZE_IN_BYTES; return new LongArrayBlockBuilder( - blockBuilderStatus, Math.min(expectedEntries, maxBlockSizeInBytes / Long.BYTES)); } @Override public BlockBuilder createFixedSizeBlockBuilder(int positionCount) { - return new LongArrayBlockBuilder(null, positionCount); + return new LongArrayBlockBuilder(positionCount); } @Override diff --git a/core/trino-spi/src/main/java/io/trino/spi/type/ShortTimestampWithTimeZoneType.java b/core/trino-spi/src/main/java/io/trino/spi/type/ShortTimestampWithTimeZoneType.java index 533e15f8016a..99e73e43165e 100644 --- a/core/trino-spi/src/main/java/io/trino/spi/type/ShortTimestampWithTimeZoneType.java +++ b/core/trino-spi/src/main/java/io/trino/spi/type/ShortTimestampWithTimeZoneType.java @@ -16,7 +16,6 @@ import io.airlift.slice.XxHash64; import io.trino.spi.block.Block; import io.trino.spi.block.BlockBuilder; -import io.trino.spi.block.BlockBuilderStatus; import io.trino.spi.block.LongArrayBlock; import io.trino.spi.block.LongArrayBlockBuilder; import io.trino.spi.block.PageBuilderStatus; @@ -90,24 +89,17 @@ public void writeLong(BlockBuilder blockBuilder, long value) } @Override - public BlockBuilder createBlockBuilder(BlockBuilderStatus blockBuilderStatus, int expectedEntries) + public BlockBuilder createBlockBuilder(int expectedEntries) { - int maxBlockSizeInBytes; - if (blockBuilderStatus == null) { - maxBlockSizeInBytes = PageBuilderStatus.DEFAULT_MAX_PAGE_SIZE_IN_BYTES; - } - else { - maxBlockSizeInBytes = blockBuilderStatus.getMaxPageSizeInBytes(); - } + int maxBlockSizeInBytes = PageBuilderStatus.DEFAULT_MAX_PAGE_SIZE_IN_BYTES; return new LongArrayBlockBuilder( - blockBuilderStatus, Math.min(expectedEntries, maxBlockSizeInBytes / Long.BYTES)); } @Override public BlockBuilder createFixedSizeBlockBuilder(int positionCount) { - return new LongArrayBlockBuilder(null, positionCount); + return new LongArrayBlockBuilder(positionCount); } @Override diff --git a/core/trino-spi/src/main/java/io/trino/spi/type/SmallintType.java b/core/trino-spi/src/main/java/io/trino/spi/type/SmallintType.java index 0f7b54898bec..db27cad0df26 100644 --- a/core/trino-spi/src/main/java/io/trino/spi/type/SmallintType.java +++ b/core/trino-spi/src/main/java/io/trino/spi/type/SmallintType.java @@ -17,7 +17,6 @@ import io.trino.spi.TrinoException; import io.trino.spi.block.Block; import io.trino.spi.block.BlockBuilder; -import io.trino.spi.block.BlockBuilderStatus; import io.trino.spi.block.PageBuilderStatus; import io.trino.spi.block.ShortArrayBlock; import io.trino.spi.block.ShortArrayBlockBuilder; @@ -69,24 +68,17 @@ public int getFixedSize() } @Override - public BlockBuilder createBlockBuilder(BlockBuilderStatus blockBuilderStatus, int expectedEntries) + public BlockBuilder createBlockBuilder(int expectedEntries) { - int maxBlockSizeInBytes; - if (blockBuilderStatus == null) { - maxBlockSizeInBytes = PageBuilderStatus.DEFAULT_MAX_PAGE_SIZE_IN_BYTES; - } - else { - maxBlockSizeInBytes = blockBuilderStatus.getMaxPageSizeInBytes(); - } + int maxBlockSizeInBytes = PageBuilderStatus.DEFAULT_MAX_PAGE_SIZE_IN_BYTES; return new ShortArrayBlockBuilder( - blockBuilderStatus, Math.min(expectedEntries, maxBlockSizeInBytes / Short.BYTES)); } @Override public BlockBuilder createFixedSizeBlockBuilder(int positionCount) { - return new ShortArrayBlockBuilder(null, positionCount); + return new ShortArrayBlockBuilder(positionCount); } @Override diff --git a/core/trino-spi/src/main/java/io/trino/spi/type/TinyintType.java b/core/trino-spi/src/main/java/io/trino/spi/type/TinyintType.java index 427c988912c2..b2d80a5ef156 100644 --- a/core/trino-spi/src/main/java/io/trino/spi/type/TinyintType.java +++ b/core/trino-spi/src/main/java/io/trino/spi/type/TinyintType.java @@ -17,7 +17,6 @@ import io.trino.spi.TrinoException; import io.trino.spi.block.Block; import io.trino.spi.block.BlockBuilder; -import io.trino.spi.block.BlockBuilderStatus; import io.trino.spi.block.ByteArrayBlock; import io.trino.spi.block.ByteArrayBlockBuilder; import io.trino.spi.block.PageBuilderStatus; @@ -65,24 +64,17 @@ public int getFixedSize() } @Override - public BlockBuilder createBlockBuilder(BlockBuilderStatus blockBuilderStatus, int expectedEntries) + public BlockBuilder createBlockBuilder(int expectedEntries) { - int maxBlockSizeInBytes; - if (blockBuilderStatus == null) { - maxBlockSizeInBytes = PageBuilderStatus.DEFAULT_MAX_PAGE_SIZE_IN_BYTES; - } - else { - maxBlockSizeInBytes = blockBuilderStatus.getMaxPageSizeInBytes(); - } + int maxBlockSizeInBytes = PageBuilderStatus.DEFAULT_MAX_PAGE_SIZE_IN_BYTES; return new ByteArrayBlockBuilder( - blockBuilderStatus, Math.min(expectedEntries, maxBlockSizeInBytes / Byte.BYTES)); } @Override public BlockBuilder createFixedSizeBlockBuilder(int positionCount) { - return new ByteArrayBlockBuilder(null, positionCount); + return new ByteArrayBlockBuilder(positionCount); } @Override diff --git a/core/trino-spi/src/main/java/io/trino/spi/type/Type.java b/core/trino-spi/src/main/java/io/trino/spi/type/Type.java index 951ecf6edcbf..bda122866353 100644 --- a/core/trino-spi/src/main/java/io/trino/spi/type/Type.java +++ b/core/trino-spi/src/main/java/io/trino/spi/type/Type.java @@ -17,7 +17,6 @@ import io.airlift.slice.Slice; import io.trino.spi.block.Block; import io.trino.spi.block.BlockBuilder; -import io.trino.spi.block.BlockBuilderStatus; import io.trino.spi.block.ValueBlock; import io.trino.spi.connector.ConnectorSession; @@ -96,20 +95,20 @@ default TypeOperatorDeclaration getTypeOperatorDeclaration(TypeOperators typeOpe * Creates the preferred block builder for this type. This is the builder used to * store values after an expression projection within the query. */ - BlockBuilder createBlockBuilder(BlockBuilderStatus blockBuilderStatus, int expectedEntries, int expectedBytesPerEntry); + BlockBuilder createBlockBuilder(int expectedEntries, int expectedBytesPerEntry); /** * Creates the preferred block builder for this type. This is the builder used to * store values after an expression projection within the query. */ - BlockBuilder createBlockBuilder(BlockBuilderStatus blockBuilderStatus, int expectedEntries); + BlockBuilder createBlockBuilder(int expectedEntries); /** * Creates a block containing as single null values. */ default ValueBlock createNullBlock() { - return createBlockBuilder(null, 1, 0) + return createBlockBuilder(1, 0) .appendNull() .buildValueBlock(); } diff --git a/core/trino-spi/src/main/java/io/trino/spi/type/TypeUtils.java b/core/trino-spi/src/main/java/io/trino/spi/type/TypeUtils.java index 677b8599e105..f99253e937aa 100644 --- a/core/trino-spi/src/main/java/io/trino/spi/type/TypeUtils.java +++ b/core/trino-spi/src/main/java/io/trino/spi/type/TypeUtils.java @@ -61,7 +61,7 @@ public static Object readNativeValue(Type type, Block block, int position) public static ValueBlock writeNativeValue(Type type, @Nullable Object value) { - BlockBuilder blockBuilder = type.createBlockBuilder(null, 1); + BlockBuilder blockBuilder = type.createBlockBuilder(1); writeNativeValue(type, blockBuilder, value); return blockBuilder.buildValueBlock(); } diff --git a/core/trino-spi/src/main/java/io/trino/spi/type/UuidType.java b/core/trino-spi/src/main/java/io/trino/spi/type/UuidType.java index c5c6a44386a3..cc01a835fec3 100644 --- a/core/trino-spi/src/main/java/io/trino/spi/type/UuidType.java +++ b/core/trino-spi/src/main/java/io/trino/spi/type/UuidType.java @@ -18,7 +18,6 @@ import io.airlift.slice.XxHash64; import io.trino.spi.block.Block; import io.trino.spi.block.BlockBuilder; -import io.trino.spi.block.BlockBuilderStatus; import io.trino.spi.block.Int128ArrayBlock; import io.trino.spi.block.Int128ArrayBlockBuilder; import io.trino.spi.block.PageBuilderStatus; @@ -72,24 +71,17 @@ public int getFixedSize() } @Override - public BlockBuilder createBlockBuilder(BlockBuilderStatus blockBuilderStatus, int expectedEntries) + public BlockBuilder createBlockBuilder(int expectedEntries) { - int maxBlockSizeInBytes; - if (blockBuilderStatus == null) { - maxBlockSizeInBytes = PageBuilderStatus.DEFAULT_MAX_PAGE_SIZE_IN_BYTES; - } - else { - maxBlockSizeInBytes = blockBuilderStatus.getMaxPageSizeInBytes(); - } + int maxBlockSizeInBytes = PageBuilderStatus.DEFAULT_MAX_PAGE_SIZE_IN_BYTES; return new Int128ArrayBlockBuilder( - blockBuilderStatus, Math.min(expectedEntries, maxBlockSizeInBytes / getFixedSize())); } @Override public BlockBuilder createFixedSizeBlockBuilder(int positionCount) { - return new Int128ArrayBlockBuilder(null, positionCount); + return new Int128ArrayBlockBuilder(positionCount); } @Override diff --git a/core/trino-spi/src/main/java/io/trino/spi/type/VarcharType.java b/core/trino-spi/src/main/java/io/trino/spi/type/VarcharType.java index fba214047483..41e1b93db725 100644 --- a/core/trino-spi/src/main/java/io/trino/spi/type/VarcharType.java +++ b/core/trino-spi/src/main/java/io/trino/spi/type/VarcharType.java @@ -18,7 +18,6 @@ import io.airlift.slice.Slices; import io.trino.spi.block.Block; import io.trino.spi.block.BlockBuilder; -import io.trino.spi.block.BlockBuilderStatus; import io.trino.spi.block.VariableWidthBlock; import io.trino.spi.block.VariableWidthBlockBuilder; @@ -139,10 +138,9 @@ public Object getObjectValue(Block block, int position) } @Override - public VariableWidthBlockBuilder createBlockBuilder(BlockBuilderStatus blockBuilderStatus, int expectedEntries) + public VariableWidthBlockBuilder createBlockBuilder(int expectedEntries) { return createBlockBuilder( - blockBuilderStatus, expectedEntries, getLength() // If bound on length is smaller than EXPECTED_BYTES_PER_ENTRY, use that as expectedBytesPerEntry diff --git a/core/trino-spi/src/test/java/io/trino/spi/TestPage.java b/core/trino-spi/src/test/java/io/trino/spi/TestPage.java index 37a5668ada87..7ba978e5bed8 100644 --- a/core/trino-spi/src/test/java/io/trino/spi/TestPage.java +++ b/core/trino-spi/src/test/java/io/trino/spi/TestPage.java @@ -167,7 +167,7 @@ private static int[] getDictionaryIds(int positionCount, int dictionarySize) private static Block createSlicesBlock(Slice[] values) { - BlockBuilder builder = VARBINARY.createBlockBuilder(null, 100); + BlockBuilder builder = VARBINARY.createBlockBuilder(100); for (Slice value : values) { verifyNotNull(value); diff --git a/core/trino-spi/src/test/java/io/trino/spi/block/BaseBlockEncodingTest.java b/core/trino-spi/src/test/java/io/trino/spi/block/BaseBlockEncodingTest.java index 7bc32fb5f122..1bba97cc7f9d 100644 --- a/core/trino-spi/src/test/java/io/trino/spi/block/BaseBlockEncodingTest.java +++ b/core/trino-spi/src/test/java/io/trino/spi/block/BaseBlockEncodingTest.java @@ -138,7 +138,7 @@ protected final void roundTrip(Object... values) private BlockBuilder createBlockBuilder(int length) { - return getType().createBlockBuilder(null, length); + return getType().createBlockBuilder(length); } private static Random getRandom() diff --git a/core/trino-spi/src/test/java/io/trino/spi/block/BenchmarkCopyPositions.java b/core/trino-spi/src/test/java/io/trino/spi/block/BenchmarkCopyPositions.java index 10166979629f..ad6056c88c6d 100644 --- a/core/trino-spi/src/test/java/io/trino/spi/block/BenchmarkCopyPositions.java +++ b/core/trino-spi/src/test/java/io/trino/spi/block/BenchmarkCopyPositions.java @@ -133,7 +133,7 @@ private static boolean randomNullChance(Random random) private static BlockBuilder createBlockBuilderWithValues(Slice[] generatedValues) { - VariableWidthBlockBuilder blockBuilder = new VariableWidthBlockBuilder(null, generatedValues.length, 32 * generatedValues.length); + VariableWidthBlockBuilder blockBuilder = new VariableWidthBlockBuilder(generatedValues.length, 32 * generatedValues.length); for (Slice value : generatedValues) { if (value == null) { blockBuilder.appendNull(); diff --git a/core/trino-spi/src/test/java/io/trino/spi/block/TestArrayBlockBuilder.java b/core/trino-spi/src/test/java/io/trino/spi/block/TestArrayBlockBuilder.java index 86c2d967d9f4..83a356c8d584 100644 --- a/core/trino-spi/src/test/java/io/trino/spi/block/TestArrayBlockBuilder.java +++ b/core/trino-spi/src/test/java/io/trino/spi/block/TestArrayBlockBuilder.java @@ -13,6 +13,9 @@ */ package io.trino.spi.block; +import com.google.common.collect.ImmutableList; +import io.trino.spi.PageBuilder; +import io.trino.spi.type.ArrayType; import org.junit.jupiter.api.Test; import java.util.ArrayList; @@ -36,14 +39,15 @@ public class TestArrayBlockBuilder @Test public void testArrayBlockIsFull() { - testIsFull(new PageBuilderStatus(THREE_INTS_ENTRY_SIZE * EXPECTED_ENTRY_COUNT)); + testIsFull(PageBuilder.withMaxPageSize(THREE_INTS_ENTRY_SIZE * EXPECTED_ENTRY_COUNT, ImmutableList.of(new ArrayType(BIGINT)))); } - private void testIsFull(PageBuilderStatus pageBuilderStatus) + private void testIsFull(PageBuilder pageBuilder) { - ArrayBlockBuilder blockBuilder = new ArrayBlockBuilder(BIGINT, pageBuilderStatus.createBlockBuilderStatus(), EXPECTED_ENTRY_COUNT); - assertThat(pageBuilderStatus.isEmpty()).isTrue(); - while (!pageBuilderStatus.isFull()) { + ArrayBlockBuilder blockBuilder = (ArrayBlockBuilder) pageBuilder.getBlockBuilder(0); + assertThat(pageBuilder.isEmpty()).isTrue(); + while (!pageBuilder.isFull()) { + pageBuilder.declarePosition(); blockBuilder.buildEntry(elementBuilder -> { BIGINT.writeLong(elementBuilder, 12); elementBuilder.appendNull(); @@ -51,7 +55,7 @@ private void testIsFull(PageBuilderStatus pageBuilderStatus) }); } assertThat(blockBuilder.getPositionCount()).isEqualTo(EXPECTED_ENTRY_COUNT); - assertThat(pageBuilderStatus.isFull()).isEqualTo(true); + assertThat(pageBuilder.isFull()).isEqualTo(true); } //TODO we should systematically test Block::getRetainedSizeInBytes() @@ -59,7 +63,7 @@ private void testIsFull(PageBuilderStatus pageBuilderStatus) public void testRetainedSizeInBytes() { int expectedEntries = 1000; - ArrayBlockBuilder arrayBlockBuilder = new ArrayBlockBuilder(BIGINT, null, expectedEntries); + ArrayBlockBuilder arrayBlockBuilder = new ArrayBlockBuilder(BIGINT, expectedEntries); long initialRetainedSize = arrayBlockBuilder.getRetainedSizeInBytes(); for (int i = 0; i < expectedEntries; i++) { int value = i; @@ -72,7 +76,7 @@ public void testRetainedSizeInBytes() @Test public void testConcurrentWriting() { - ArrayBlockBuilder blockBuilder = new ArrayBlockBuilder(BIGINT, null, EXPECTED_ENTRY_COUNT); + ArrayBlockBuilder blockBuilder = new ArrayBlockBuilder(BIGINT, EXPECTED_ENTRY_COUNT); blockBuilder.buildEntry(elementBuilder -> { BIGINT.writeLong(elementBuilder, 45); assertThatThrownBy(() -> blockBuilder.buildEntry(ignore -> {})) @@ -146,7 +150,7 @@ void buildEntry() private static BlockBuilder blockBuilder() { - return new ArrayBlockBuilder(BIGINT, null, 10); + return new ArrayBlockBuilder(BIGINT, 10); } private static void assertIsAllNulls(Block block, int expectedPositionCount) @@ -167,7 +171,7 @@ private static void assertIsAllNulls(Block block, int expectedPositionCount) @Override protected BlockBuilder createBlockBuilder() { - return new ArrayBlockBuilder(new VariableWidthBlockBuilder(null, 1, 100), null, 1); + return new ArrayBlockBuilder(new VariableWidthBlockBuilder(1, 100), 1); } @Override @@ -190,7 +194,7 @@ protected List getUnusedTestValue() @Override protected ValueBlock blockFromValues(Iterable> values) { - ArrayBlockBuilder blockBuilder = new ArrayBlockBuilder(new VariableWidthBlockBuilder(null, 1, 100), null, 1); + ArrayBlockBuilder blockBuilder = new ArrayBlockBuilder(new VariableWidthBlockBuilder(1, 100), 1); for (List array : values) { if (array == null) { blockBuilder.appendNull(); diff --git a/core/trino-spi/src/test/java/io/trino/spi/block/TestBlockRetainedSizeBreakdown.java b/core/trino-spi/src/test/java/io/trino/spi/block/TestBlockRetainedSizeBreakdown.java index ee2c7b5d206d..5839eb5e8d96 100644 --- a/core/trino-spi/src/test/java/io/trino/spi/block/TestBlockRetainedSizeBreakdown.java +++ b/core/trino-spi/src/test/java/io/trino/spi/block/TestBlockRetainedSizeBreakdown.java @@ -38,7 +38,7 @@ public class TestBlockRetainedSizeBreakdown @Test public void testArrayBlock() { - ArrayBlockBuilder arrayBlockBuilder = new ArrayBlockBuilder(BIGINT, null, EXPECTED_ENTRIES); + ArrayBlockBuilder arrayBlockBuilder = new ArrayBlockBuilder(BIGINT, EXPECTED_ENTRIES); for (int i = 0; i < EXPECTED_ENTRIES; i++) { int value = i; arrayBlockBuilder.buildEntry(elementBuilder -> writeNativeValue(BIGINT, elementBuilder, castIntegerToObject(value, BIGINT))); @@ -49,7 +49,7 @@ public void testArrayBlock() @Test public void testByteArrayBlock() { - ByteArrayBlockBuilder blockBuilder = new ByteArrayBlockBuilder(null, EXPECTED_ENTRIES); + ByteArrayBlockBuilder blockBuilder = new ByteArrayBlockBuilder(EXPECTED_ENTRIES); for (int i = 0; i < EXPECTED_ENTRIES; i++) { blockBuilder.writeByte((byte) i); } @@ -70,7 +70,7 @@ public void testDictionaryBlock() @Test public void testIntArrayBlock() { - BlockBuilder blockBuilder = new IntArrayBlockBuilder(null, EXPECTED_ENTRIES); + BlockBuilder blockBuilder = new IntArrayBlockBuilder(EXPECTED_ENTRIES); writeEntries(EXPECTED_ENTRIES, blockBuilder, INTEGER); checkRetainedSize(blockBuilder.build(), false); } @@ -78,7 +78,7 @@ public void testIntArrayBlock() @Test public void testLongArrayBlock() { - BlockBuilder blockBuilder = new LongArrayBlockBuilder(null, EXPECTED_ENTRIES); + BlockBuilder blockBuilder = new LongArrayBlockBuilder(EXPECTED_ENTRIES); writeEntries(EXPECTED_ENTRIES, blockBuilder, BIGINT); checkRetainedSize(blockBuilder.build(), false); } @@ -86,7 +86,7 @@ public void testLongArrayBlock() @Test public void testRunLengthEncodedBlock() { - BlockBuilder blockBuilder = new LongArrayBlockBuilder(null, 1); + BlockBuilder blockBuilder = new LongArrayBlockBuilder(1); writeEntries(1, blockBuilder, BIGINT); checkRetainedSize(RunLengthEncodedBlock.create(blockBuilder.build(), 1), false); } @@ -94,7 +94,7 @@ public void testRunLengthEncodedBlock() @Test public void testShortArrayBlock() { - ShortArrayBlockBuilder blockBuilder = new ShortArrayBlockBuilder(null, EXPECTED_ENTRIES); + ShortArrayBlockBuilder blockBuilder = new ShortArrayBlockBuilder(EXPECTED_ENTRIES); for (int i = 0; i < EXPECTED_ENTRIES; i++) { blockBuilder.writeShort((short) i); } diff --git a/core/trino-spi/src/test/java/io/trino/spi/block/TestByteArrayBlockBuilder.java b/core/trino-spi/src/test/java/io/trino/spi/block/TestByteArrayBlockBuilder.java index 91463d2a473f..fee95db47e8f 100644 --- a/core/trino-spi/src/test/java/io/trino/spi/block/TestByteArrayBlockBuilder.java +++ b/core/trino-spi/src/test/java/io/trino/spi/block/TestByteArrayBlockBuilder.java @@ -22,7 +22,7 @@ public class TestByteArrayBlockBuilder @Override protected BlockBuilder createBlockBuilder() { - return new ByteArrayBlockBuilder(null, 1); + return new ByteArrayBlockBuilder(1); } @Override @@ -40,7 +40,7 @@ protected Byte getUnusedTestValue() @Override protected ValueBlock blockFromValues(Iterable values) { - ByteArrayBlockBuilder blockBuilder = new ByteArrayBlockBuilder(null, 1); + ByteArrayBlockBuilder blockBuilder = new ByteArrayBlockBuilder(1); for (Byte value : values) { if (value == null) { blockBuilder.appendNull(); diff --git a/core/trino-spi/src/test/java/io/trino/spi/block/TestColumnarArray.java b/core/trino-spi/src/test/java/io/trino/spi/block/TestColumnarArray.java index 91223a252ec7..edb514225eca 100644 --- a/core/trino-spi/src/test/java/io/trino/spi/block/TestColumnarArray.java +++ b/core/trino-spi/src/test/java/io/trino/spi/block/TestColumnarArray.java @@ -122,13 +122,13 @@ private static void assertColumnarArray(Block block, T[][] expectedValues) public static BlockBuilder createBlockBuilderWithValues(Slice[][] expectedValues) { - BlockBuilder blockBuilder = ARRAY_TYPE.createBlockBuilder(null, 100, 100); + BlockBuilder blockBuilder = ARRAY_TYPE.createBlockBuilder(100, 100); for (Slice[] expectedValue : expectedValues) { if (expectedValue == null) { blockBuilder.appendNull(); } else { - BlockBuilder elementBlockBuilder = VARCHAR.createBlockBuilder(null, expectedValue.length); + BlockBuilder elementBlockBuilder = VARCHAR.createBlockBuilder(expectedValue.length); for (Slice v : expectedValue) { if (v == null) { elementBlockBuilder.appendNull(); diff --git a/core/trino-spi/src/test/java/io/trino/spi/block/TestColumnarMap.java b/core/trino-spi/src/test/java/io/trino/spi/block/TestColumnarMap.java index 297aeb1f24f4..ea48c2bb81ef 100644 --- a/core/trino-spi/src/test/java/io/trino/spi/block/TestColumnarMap.java +++ b/core/trino-spi/src/test/java/io/trino/spi/block/TestColumnarMap.java @@ -138,7 +138,7 @@ private static void assertColumnarMap(Block block, Slice[][][] expectedValues) public static BlockBuilder createBlockBuilderWithValues(Slice[][][] expectedValues) { - MapBlockBuilder blockBuilder = MAP_TYPE.createBlockBuilder(null, 100); + MapBlockBuilder blockBuilder = MAP_TYPE.createBlockBuilder(100); for (Slice[][] expectedMap : expectedValues) { if (expectedMap == null) { blockBuilder.appendNull(); diff --git a/core/trino-spi/src/test/java/io/trino/spi/block/TestDictionaryBlockEncoding.java b/core/trino-spi/src/test/java/io/trino/spi/block/TestDictionaryBlockEncoding.java index 81bfec9b0a26..414b2983dbdc 100644 --- a/core/trino-spi/src/test/java/io/trino/spi/block/TestDictionaryBlockEncoding.java +++ b/core/trino-spi/src/test/java/io/trino/spi/block/TestDictionaryBlockEncoding.java @@ -84,7 +84,7 @@ private Block roundTripBlock(Block block) private static Block buildTestDictionary() { // build dictionary - BlockBuilder dictionaryBuilder = VARCHAR.createBlockBuilder(null, 4); + BlockBuilder dictionaryBuilder = VARCHAR.createBlockBuilder(4); VARCHAR.writeString(dictionaryBuilder, "alice"); VARCHAR.writeString(dictionaryBuilder, "bob"); VARCHAR.writeString(dictionaryBuilder, "charlie"); diff --git a/core/trino-spi/src/test/java/io/trino/spi/block/TestFixed12BlockBuilder.java b/core/trino-spi/src/test/java/io/trino/spi/block/TestFixed12BlockBuilder.java index 392125972bfa..56b48591aab1 100644 --- a/core/trino-spi/src/test/java/io/trino/spi/block/TestFixed12BlockBuilder.java +++ b/core/trino-spi/src/test/java/io/trino/spi/block/TestFixed12BlockBuilder.java @@ -22,7 +22,7 @@ public class TestFixed12BlockBuilder @Override protected BlockBuilder createBlockBuilder() { - return new Fixed12BlockBuilder(null, 1); + return new Fixed12BlockBuilder(1); } @Override @@ -40,7 +40,7 @@ protected Fixed12 getUnusedTestValue() @Override protected ValueBlock blockFromValues(Iterable values) { - Fixed12BlockBuilder blockBuilder = new Fixed12BlockBuilder(null, 1); + Fixed12BlockBuilder blockBuilder = new Fixed12BlockBuilder(1); for (Fixed12 value : values) { if (value == null) { blockBuilder.appendNull(); diff --git a/core/trino-spi/src/test/java/io/trino/spi/block/TestInt128ArrayBlockBuilder.java b/core/trino-spi/src/test/java/io/trino/spi/block/TestInt128ArrayBlockBuilder.java index e25fe5af37f8..e8c65ab19175 100644 --- a/core/trino-spi/src/test/java/io/trino/spi/block/TestInt128ArrayBlockBuilder.java +++ b/core/trino-spi/src/test/java/io/trino/spi/block/TestInt128ArrayBlockBuilder.java @@ -24,7 +24,7 @@ public class TestInt128ArrayBlockBuilder @Override protected BlockBuilder createBlockBuilder() { - return new Int128ArrayBlockBuilder(null, 1); + return new Int128ArrayBlockBuilder(1); } @Override @@ -42,7 +42,7 @@ protected Int128 getUnusedTestValue() @Override protected ValueBlock blockFromValues(Iterable values) { - Int128ArrayBlockBuilder blockBuilder = new Int128ArrayBlockBuilder(null, 1); + Int128ArrayBlockBuilder blockBuilder = new Int128ArrayBlockBuilder(1); for (Int128 value : values) { if (value == null) { blockBuilder.appendNull(); diff --git a/core/trino-spi/src/test/java/io/trino/spi/block/TestIntArrayBlockBuilder.java b/core/trino-spi/src/test/java/io/trino/spi/block/TestIntArrayBlockBuilder.java index 9996772166fd..12c03b220a89 100644 --- a/core/trino-spi/src/test/java/io/trino/spi/block/TestIntArrayBlockBuilder.java +++ b/core/trino-spi/src/test/java/io/trino/spi/block/TestIntArrayBlockBuilder.java @@ -22,7 +22,7 @@ public class TestIntArrayBlockBuilder @Override protected BlockBuilder createBlockBuilder() { - return new IntArrayBlockBuilder(null, 1); + return new IntArrayBlockBuilder(1); } @Override @@ -40,7 +40,7 @@ protected Integer getUnusedTestValue() @Override protected ValueBlock blockFromValues(Iterable values) { - IntArrayBlockBuilder blockBuilder = new IntArrayBlockBuilder(null, 1); + IntArrayBlockBuilder blockBuilder = new IntArrayBlockBuilder(1); for (Integer value : values) { if (value == null) { blockBuilder.appendNull(); diff --git a/core/trino-spi/src/test/java/io/trino/spi/block/TestLongArrayBlockBuilder.java b/core/trino-spi/src/test/java/io/trino/spi/block/TestLongArrayBlockBuilder.java index 88766a0f3e67..c1f88d9eac87 100644 --- a/core/trino-spi/src/test/java/io/trino/spi/block/TestLongArrayBlockBuilder.java +++ b/core/trino-spi/src/test/java/io/trino/spi/block/TestLongArrayBlockBuilder.java @@ -22,7 +22,7 @@ public class TestLongArrayBlockBuilder @Override protected BlockBuilder createBlockBuilder() { - return new LongArrayBlockBuilder(null, 1); + return new LongArrayBlockBuilder(1); } @Override @@ -40,7 +40,7 @@ protected Long getUnusedTestValue() @Override protected ValueBlock blockFromValues(Iterable values) { - LongArrayBlockBuilder blockBuilder = new LongArrayBlockBuilder(null, 1); + LongArrayBlockBuilder blockBuilder = new LongArrayBlockBuilder(1); for (Long value : values) { if (value == null) { blockBuilder.appendNull(); diff --git a/core/trino-spi/src/test/java/io/trino/spi/block/TestMapBlockBuilder.java b/core/trino-spi/src/test/java/io/trino/spi/block/TestMapBlockBuilder.java index 137d0cc6c2cb..3dcf5964f4c0 100644 --- a/core/trino-spi/src/test/java/io/trino/spi/block/TestMapBlockBuilder.java +++ b/core/trino-spi/src/test/java/io/trino/spi/block/TestMapBlockBuilder.java @@ -33,7 +33,7 @@ public class TestMapBlockBuilder @Override protected BlockBuilder createBlockBuilder() { - return new MapBlockBuilder(MAP_TYPE, null, 1); + return new MapBlockBuilder(MAP_TYPE, 1); } @Override @@ -56,7 +56,7 @@ protected Map getUnusedTestValue() @Override protected ValueBlock blockFromValues(Iterable> maps) { - MapBlockBuilder blockBuilder = new MapBlockBuilder(MAP_TYPE, null, 1); + MapBlockBuilder blockBuilder = new MapBlockBuilder(MAP_TYPE, 1); for (Map map : maps) { if (map == null) { blockBuilder.appendNull(); diff --git a/core/trino-spi/src/test/java/io/trino/spi/block/TestRowBlockBuilder.java b/core/trino-spi/src/test/java/io/trino/spi/block/TestRowBlockBuilder.java index b5d0087087d7..a854dd054c53 100644 --- a/core/trino-spi/src/test/java/io/trino/spi/block/TestRowBlockBuilder.java +++ b/core/trino-spi/src/test/java/io/trino/spi/block/TestRowBlockBuilder.java @@ -52,7 +52,7 @@ void buildEntry() .doesNotContainNull() .doesNotContain(getUnusedTestValue()); - RowBlockBuilder blockBuilder = new RowBlockBuilder(List.of(VARCHAR, INTEGER, BOOLEAN), null, 1); + RowBlockBuilder blockBuilder = new RowBlockBuilder(List.of(VARCHAR, INTEGER, BOOLEAN), 1); for (TestRow row : values) { blockBuilder.buildEntry(fieldBuilders -> { if (row.name() == null) { @@ -67,7 +67,7 @@ void buildEntry() } assertThat(blockToValues(blockBuilder.buildValueBlock())).isEqualTo(values); - blockBuilder = new RowBlockBuilder(List.of(VARCHAR, INTEGER, BOOLEAN), null, 1); + blockBuilder = new RowBlockBuilder(List.of(VARCHAR, INTEGER, BOOLEAN), 1); for (TestRow row : values) { RowEntryBuilder rowEntryBuilder = blockBuilder.buildEntry(); if (row.name() == null) { @@ -82,15 +82,15 @@ void buildEntry() } assertThat(blockToValues(blockBuilder.buildValueBlock())).isEqualTo(values); - blockBuilder = new RowBlockBuilder(List.of(VARCHAR, INTEGER, BOOLEAN), null, 1); + blockBuilder = new RowBlockBuilder(List.of(VARCHAR, INTEGER, BOOLEAN), 1); blockBuilder.buildEntry(); assertThatThrownBy(blockBuilder::buildEntry).isInstanceOf(IllegalStateException.class); - blockBuilder = new RowBlockBuilder(List.of(VARCHAR, INTEGER, BOOLEAN), null, 1); + blockBuilder = new RowBlockBuilder(List.of(VARCHAR, INTEGER, BOOLEAN), 1); RowEntryBuilder incompleteEntryBuilder = blockBuilder.buildEntry(); assertThatThrownBy(incompleteEntryBuilder::build).isInstanceOf(IllegalStateException.class); - blockBuilder = new RowBlockBuilder(List.of(BOOLEAN), null, 1); + blockBuilder = new RowBlockBuilder(List.of(BOOLEAN), 1); RowEntryBuilder multipleEntryBuilder = blockBuilder.buildEntry(); BOOLEAN.writeBoolean(multipleEntryBuilder.getFieldBuilder(0), true); multipleEntryBuilder.build(); @@ -100,7 +100,7 @@ void buildEntry() private static BlockBuilder blockBuilder() { - return new RowBlockBuilder(ImmutableList.of(BIGINT), null, 10); + return new RowBlockBuilder(ImmutableList.of(BIGINT), 10); } private static void assertIsAllNulls(Block block, int expectedPositionCount) @@ -121,7 +121,7 @@ private static void assertIsAllNulls(Block block, int expectedPositionCount) @Override protected BlockBuilder createBlockBuilder() { - return new RowBlockBuilder(List.of(VARCHAR, INTEGER, BOOLEAN), null, 1); + return new RowBlockBuilder(List.of(VARCHAR, INTEGER, BOOLEAN), 1); } @Override @@ -144,7 +144,7 @@ protected TestRow getUnusedTestValue() @Override protected ValueBlock blockFromValues(Iterable values) { - RowBlockBuilder blockBuilder = new RowBlockBuilder(List.of(VARCHAR, INTEGER, BOOLEAN), null, 1); + RowBlockBuilder blockBuilder = new RowBlockBuilder(List.of(VARCHAR, INTEGER, BOOLEAN), 1); for (TestRow row : values) { if (row == null) { blockBuilder.appendNull(); diff --git a/core/trino-spi/src/test/java/io/trino/spi/block/TestRowBlockFieldExtraction.java b/core/trino-spi/src/test/java/io/trino/spi/block/TestRowBlockFieldExtraction.java index 206733e361e8..5a417daf03f2 100644 --- a/core/trino-spi/src/test/java/io/trino/spi/block/TestRowBlockFieldExtraction.java +++ b/core/trino-spi/src/test/java/io/trino/spi/block/TestRowBlockFieldExtraction.java @@ -146,7 +146,7 @@ private static void assertGetNullSuppressedFields(RowType rowType, Block blo public static Block createBlockBuilderWithValues(RowType rowType, Slice[][] expectedValues) { - RowBlockBuilder blockBuilder = rowType.createBlockBuilder(null, 100); + RowBlockBuilder blockBuilder = rowType.createBlockBuilder(100); for (Slice[] expectedValue : expectedValues) { if (expectedValue == null) { blockBuilder.appendNull(); diff --git a/core/trino-spi/src/test/java/io/trino/spi/block/TestShortArrayBlockBuilder.java b/core/trino-spi/src/test/java/io/trino/spi/block/TestShortArrayBlockBuilder.java index 031e16b81079..36a8e2789e10 100644 --- a/core/trino-spi/src/test/java/io/trino/spi/block/TestShortArrayBlockBuilder.java +++ b/core/trino-spi/src/test/java/io/trino/spi/block/TestShortArrayBlockBuilder.java @@ -22,7 +22,7 @@ public class TestShortArrayBlockBuilder @Override protected BlockBuilder createBlockBuilder() { - return new ShortArrayBlockBuilder(null, 1); + return new ShortArrayBlockBuilder(1); } @Override @@ -40,7 +40,7 @@ protected Short getUnusedTestValue() @Override protected ValueBlock blockFromValues(Iterable values) { - ShortArrayBlockBuilder blockBuilder = new ShortArrayBlockBuilder(null, 1); + ShortArrayBlockBuilder blockBuilder = new ShortArrayBlockBuilder(1); for (Short value : values) { if (value == null) { blockBuilder.appendNull(); diff --git a/core/trino-spi/src/test/java/io/trino/spi/block/TestVariableWidthBlockBuilder.java b/core/trino-spi/src/test/java/io/trino/spi/block/TestVariableWidthBlockBuilder.java index 5e86f7d4da6f..ad15a7c1e4ba 100644 --- a/core/trino-spi/src/test/java/io/trino/spi/block/TestVariableWidthBlockBuilder.java +++ b/core/trino-spi/src/test/java/io/trino/spi/block/TestVariableWidthBlockBuilder.java @@ -15,6 +15,7 @@ import com.google.common.collect.ImmutableList; import io.airlift.slice.Slices; +import io.trino.spi.PageBuilder; import org.junit.jupiter.api.Test; import java.util.ArrayList; @@ -40,7 +41,7 @@ public class TestVariableWidthBlockBuilder @Test public void testFixedBlockIsFull() { - testIsFull(new PageBuilderStatus(VARCHAR_ENTRY_SIZE * EXPECTED_ENTRY_COUNT)); + testIsFull(PageBuilder.withMaxPageSize(VARCHAR_ENTRY_SIZE * EXPECTED_ENTRY_COUNT, ImmutableList.of(VARCHAR))); } @Test @@ -48,11 +49,11 @@ public void testNewBlockBuilderLike() { int entries = 12345; double resetSkew = 1.25; - VariableWidthBlockBuilder blockBuilder = new VariableWidthBlockBuilder(null, entries, entries); + VariableWidthBlockBuilder blockBuilder = new VariableWidthBlockBuilder(entries, entries); for (int i = 0; i < entries; i++) { blockBuilder.writeEntry(Slices.wrappedBuffer((byte) i)); } - blockBuilder = (VariableWidthBlockBuilder) blockBuilder.newBlockBuilderLike(null); + blockBuilder = (VariableWidthBlockBuilder) blockBuilder.newBlockBuilderLike(); // force to initialize capacity blockBuilder.writeEntry(Slices.wrappedBuffer((byte) 1)); @@ -61,15 +62,16 @@ public void testNewBlockBuilderLike() assertThat(blockBuilder.getRetainedSizeInBytes()).isEqualTo(BLOCK_BUILDER_INSTANCE_SIZE + actualBytesSize + actualArraySize); } - private void testIsFull(PageBuilderStatus pageBuilderStatus) + private void testIsFull(PageBuilder pageBuilder) { - BlockBuilder blockBuilder = new VariableWidthBlockBuilder(pageBuilderStatus.createBlockBuilderStatus(), 32, 1024); - assertThat(pageBuilderStatus.isEmpty()).isTrue(); - while (!pageBuilderStatus.isFull()) { + BlockBuilder blockBuilder = pageBuilder.getBlockBuilder(0); + assertThat(pageBuilder.isEmpty()).isTrue(); + while (!pageBuilder.isFull()) { + pageBuilder.declarePosition(); VARCHAR.writeSlice(blockBuilder, Slices.allocate(VARCHAR_VALUE_SIZE)); } assertThat(blockBuilder.getPositionCount()).isEqualTo(EXPECTED_ENTRY_COUNT); - assertThat(pageBuilderStatus.isFull()).isEqualTo(true); + assertThat(pageBuilder.isFull()).isEqualTo(true); } @Test @@ -88,8 +90,8 @@ public void testBuilderProducesNullRleForNullRows() @Test public void testAppendRepeatedEmpty() { - VariableWidthBlockBuilder blockBuilder = new VariableWidthBlockBuilder(null, 1, 100); - ValueBlock value = VARCHAR.createBlockBuilder(null, 1) + VariableWidthBlockBuilder blockBuilder = new VariableWidthBlockBuilder(1, 100); + ValueBlock value = VARCHAR.createBlockBuilder(1) .writeEntry(utf8Slice("ignored")) .writeEntry(Slices.EMPTY_SLICE) .writeEntry(utf8Slice("ignored")) @@ -103,8 +105,8 @@ public void testAppendRepeatedEmpty() @Test public void testAppendRepeatedSingle() { - VariableWidthBlockBuilder blockBuilder = new VariableWidthBlockBuilder(null, 1, 100); - VariableWidthBlock value = VARCHAR.createBlockBuilder(null, 1) + VariableWidthBlockBuilder blockBuilder = new VariableWidthBlockBuilder(1, 100); + VariableWidthBlock value = VARCHAR.createBlockBuilder(1) .writeEntry(utf8Slice("ignored")) .writeEntry(utf8Slice("ab")) .writeEntry(utf8Slice("ignored")) @@ -118,8 +120,8 @@ public void testAppendRepeatedSingle() @Test public void testAppendRepeated1Byte() { - VariableWidthBlockBuilder blockBuilder = new VariableWidthBlockBuilder(null, 1, 100); - VariableWidthBlock value = VARCHAR.createBlockBuilder(null, 1) + VariableWidthBlockBuilder blockBuilder = new VariableWidthBlockBuilder(1, 100); + VariableWidthBlock value = VARCHAR.createBlockBuilder(1) .writeEntry(utf8Slice("ignored")) .writeEntry(utf8Slice("X")) .writeEntry(utf8Slice("ignored")) @@ -136,8 +138,8 @@ public void testAppendRepeated1Byte() @Test public void testAppendRepeated2Bytes() { - VariableWidthBlockBuilder blockBuilder = new VariableWidthBlockBuilder(null, 1, 100); - VariableWidthBlock value = VARCHAR.createBlockBuilder(null, 1) + VariableWidthBlockBuilder blockBuilder = new VariableWidthBlockBuilder(1, 100); + VariableWidthBlock value = VARCHAR.createBlockBuilder(1) .writeEntry(utf8Slice("ignored")) .writeEntry(utf8Slice("ab")) .writeEntry(utf8Slice("ignored")) @@ -153,8 +155,8 @@ public void testAppendRepeated2Bytes() @Test public void testAppendRepeatedMultipleBytesOddNumberOfTimes() { - VariableWidthBlockBuilder blockBuilder = new VariableWidthBlockBuilder(null, 1, 100); - VariableWidthBlock value = VARCHAR.createBlockBuilder(null, 1) + VariableWidthBlockBuilder blockBuilder = new VariableWidthBlockBuilder(1, 100); + VariableWidthBlock value = VARCHAR.createBlockBuilder(1) .writeEntry(utf8Slice("ignored")) .writeEntry(utf8Slice("abc")) .writeEntry(utf8Slice("ignored")) @@ -168,8 +170,8 @@ public void testAppendRepeatedMultipleBytesOddNumberOfTimes() @Test public void testAppendRepeatedMultipleBytesEvenNumberOfTimes() { - VariableWidthBlockBuilder blockBuilder = new VariableWidthBlockBuilder(null, 1, 100); - VariableWidthBlock value = VARCHAR.createBlockBuilder(null, 1) + VariableWidthBlockBuilder blockBuilder = new VariableWidthBlockBuilder(1, 100); + VariableWidthBlock value = VARCHAR.createBlockBuilder(1) .writeEntry(utf8Slice("ignored")) .writeEntry(utf8Slice("abc")) .writeEntry(utf8Slice("ignored")) @@ -183,8 +185,8 @@ public void testAppendRepeatedMultipleBytesEvenNumberOfTimes() @Test public void testAppendRepeatedMultipleBytesPowerOf2NumberOfTimes() { - VariableWidthBlockBuilder blockBuilder = new VariableWidthBlockBuilder(null, 1, 100); - VariableWidthBlock value = VARCHAR.createBlockBuilder(null, 1) + VariableWidthBlockBuilder blockBuilder = new VariableWidthBlockBuilder(1, 100); + VariableWidthBlock value = VARCHAR.createBlockBuilder(1) .writeEntry(utf8Slice("ignored")) .writeEntry(utf8Slice("abc")) .writeEntry(utf8Slice("ignored")) @@ -197,7 +199,7 @@ public void testAppendRepeatedMultipleBytesPowerOf2NumberOfTimes() private static BlockBuilder blockBuilder() { - return new VariableWidthBlockBuilder(null, 10, 0); + return new VariableWidthBlockBuilder(10, 0); } private static void assertIsAllNulls(Block block, int expectedPositionCount) @@ -227,7 +229,7 @@ private static List toStrings(VariableWidthBlock block) @Override protected BlockBuilder createBlockBuilder() { - return new VariableWidthBlockBuilder(null, 1, 100); + return new VariableWidthBlockBuilder(1, 100); } @Override @@ -245,7 +247,7 @@ protected String getUnusedTestValue() @Override protected ValueBlock blockFromValues(Iterable values) { - VariableWidthBlockBuilder blockBuilder = new VariableWidthBlockBuilder(null, 1, 100); + VariableWidthBlockBuilder blockBuilder = new VariableWidthBlockBuilder(1, 100); for (String value : values) { if (value == null) { blockBuilder.appendNull(); diff --git a/core/trino-spi/src/test/java/io/trino/spi/function/TestScalarFunctionAdapter.java b/core/trino-spi/src/test/java/io/trino/spi/function/TestScalarFunctionAdapter.java index 825e58db5c60..9805fe9379bf 100644 --- a/core/trino-spi/src/test/java/io/trino/spi/function/TestScalarFunctionAdapter.java +++ b/core/trino-spi/src/test/java/io/trino/spi/function/TestScalarFunctionAdapter.java @@ -373,7 +373,7 @@ private static void adaptAndVerify( try { boolean expectNull = expectNullReturn(actualConvention, nullArguments); if (expectedConvention.getReturnConvention() == BLOCK_BUILDER) { - BlockBuilder blockBuilder = returnType.createBlockBuilder(null, 1); + BlockBuilder blockBuilder = returnType.createBlockBuilder(1); argumentValues.add(blockBuilder); exactInvoker.invokeWithArguments(argumentValues); Block result = blockBuilder.build(); @@ -513,7 +513,7 @@ private static List toCallArgumentValues(InvocationConvention callingCon } case BLOCK_POSITION_NOT_NULL, VALUE_BLOCK_POSITION_NOT_NULL -> { verify(testValue != null, "null cannot be passed to a block positions not null argument"); - BlockBuilder blockBuilder = argumentType.createBlockBuilder(null, 3); + BlockBuilder blockBuilder = argumentType.createBlockBuilder(3); blockBuilder.appendNull(); writeNativeValue(argumentType, blockBuilder, testValue); blockBuilder.appendNull(); @@ -526,7 +526,7 @@ private static List toCallArgumentValues(InvocationConvention callingCon callArguments.add(1); } case BLOCK_POSITION, VALUE_BLOCK_POSITION -> { - BlockBuilder blockBuilder = argumentType.createBlockBuilder(null, 3); + BlockBuilder blockBuilder = argumentType.createBlockBuilder(3); blockBuilder.appendNull(); writeNativeValue(argumentType, blockBuilder, testValue); blockBuilder.appendNull(); @@ -540,7 +540,7 @@ private static List toCallArgumentValues(InvocationConvention callingCon } case FLAT -> { verify(testValue != null, "null cannot be passed to a flat argument"); - BlockBuilder blockBuilder = argumentType.createBlockBuilder(null, 3); + BlockBuilder blockBuilder = argumentType.createBlockBuilder(3); writeNativeValue(argumentType, blockBuilder, testValue); Block block = blockBuilder.build(); diff --git a/core/trino-spi/src/test/java/io/trino/spi/type/TestLongDecimalType.java b/core/trino-spi/src/test/java/io/trino/spi/type/TestLongDecimalType.java index 6c2eaac57619..c098e9624395 100644 --- a/core/trino-spi/src/test/java/io/trino/spi/type/TestLongDecimalType.java +++ b/core/trino-spi/src/test/java/io/trino/spi/type/TestLongDecimalType.java @@ -73,7 +73,7 @@ private void testCompare(String decimalA, String decimalB, int expected) private Block decimalAsBlock(String value) { Int128 decimal = Decimals.valueOf(new BigDecimal(value)); - BlockBuilder blockBuilder = new Int128ArrayBlockBuilder(null, 1); + BlockBuilder blockBuilder = new Int128ArrayBlockBuilder(1); TYPE.writeObject(blockBuilder, decimal); return blockBuilder.build(); } diff --git a/docs/src/main/sphinx/develop/connectors.md b/docs/src/main/sphinx/develop/connectors.md index 1bc57045e575..a921c9f8a0d7 100644 --- a/docs/src/main/sphinx/develop/connectors.md +++ b/docs/src/main/sphinx/develop/connectors.md @@ -750,7 +750,7 @@ The following example creates a block for an `array(varchar)` column: ```java private Block encodeArray(List names) { - BlockBuilder builder = VARCHAR.createBlockBuilder(null, names.size()); + BlockBuilder builder = VARCHAR.createBlockBuilder(names.size()); blockBuilder.buildEntry(elementBuilder -> names.forEach(name -> { if (name == null) { elementBuilder.appendNull(); @@ -771,7 +771,7 @@ private SqlMap encodeMap(Map map) MapType mapType = typeManager.getType(TypeSignature.mapType( VARCHAR.getTypeSignature(), VARCHAR.getTypeSignature())); - MapBlockBuilder values = mapType.createBlockBuilder(null, map != null ? map.size() : 0); + MapBlockBuilder values = mapType.createBlockBuilder(map != null ? map.size() : 0); if (map == null) { values.appendNull(); return values.build().getObject(0, Block.class); diff --git a/lib/trino-array/src/test/java/io/trino/array/TestBlockBigArray.java b/lib/trino-array/src/test/java/io/trino/array/TestBlockBigArray.java index a44ab67b125d..3b055b321e8a 100644 --- a/lib/trino-array/src/test/java/io/trino/array/TestBlockBigArray.java +++ b/lib/trino-array/src/test/java/io/trino/array/TestBlockBigArray.java @@ -26,7 +26,7 @@ public class TestBlockBigArray public void testRetainedSizeWithOverlappingBlocks() { int entries = 123; - IntArrayBlockBuilder blockBuilder = new IntArrayBlockBuilder(null, entries); + IntArrayBlockBuilder blockBuilder = new IntArrayBlockBuilder(entries); for (int i = 0; i < entries; i++) { blockBuilder.writeInt(i); } diff --git a/lib/trino-hive-formats/src/main/java/io/trino/hive/formats/encodings/binary/BinaryEncoding.java b/lib/trino-hive-formats/src/main/java/io/trino/hive/formats/encodings/binary/BinaryEncoding.java index 6485574fb6ff..68a9a39b477d 100644 --- a/lib/trino-hive-formats/src/main/java/io/trino/hive/formats/encodings/binary/BinaryEncoding.java +++ b/lib/trino-hive-formats/src/main/java/io/trino/hive/formats/encodings/binary/BinaryEncoding.java @@ -65,7 +65,7 @@ public void encodeValueInto(Block block, int position, SliceOutput output) public Block decodeColumn(ColumnData columnData) { int size = columnData.rowCount(); - BlockBuilder builder = type.createBlockBuilder(null, size); + BlockBuilder builder = type.createBlockBuilder(size); Slice slice = columnData.getSlice(); for (int i = 0; i < size; i++) { diff --git a/lib/trino-hive-formats/src/main/java/io/trino/hive/formats/encodings/binary/BlockEncoding.java b/lib/trino-hive-formats/src/main/java/io/trino/hive/formats/encodings/binary/BlockEncoding.java index 44e9674f2474..c7a75508e8b4 100644 --- a/lib/trino-hive-formats/src/main/java/io/trino/hive/formats/encodings/binary/BlockEncoding.java +++ b/lib/trino-hive-formats/src/main/java/io/trino/hive/formats/encodings/binary/BlockEncoding.java @@ -67,7 +67,7 @@ public final Block decodeColumn(ColumnData columnData) int size = columnData.rowCount(); Slice slice = columnData.getSlice(); - BlockBuilder builder = type.createBlockBuilder(null, size); + BlockBuilder builder = type.createBlockBuilder(size); for (int i = 0; i < size; i++) { int length = columnData.getLength(i); if (length > 0) { diff --git a/lib/trino-hive-formats/src/main/java/io/trino/hive/formats/encodings/binary/BooleanEncoding.java b/lib/trino-hive-formats/src/main/java/io/trino/hive/formats/encodings/binary/BooleanEncoding.java index 34df84d38998..8d2c430204c7 100644 --- a/lib/trino-hive-formats/src/main/java/io/trino/hive/formats/encodings/binary/BooleanEncoding.java +++ b/lib/trino-hive-formats/src/main/java/io/trino/hive/formats/encodings/binary/BooleanEncoding.java @@ -55,7 +55,7 @@ public void encodeValueInto(Block block, int position, SliceOutput output) public Block decodeColumn(ColumnData columnData) { int size = columnData.rowCount(); - BlockBuilder builder = type.createBlockBuilder(null, size); + BlockBuilder builder = type.createBlockBuilder(size); Slice slice = columnData.getSlice(); for (int i = 0; i < size; i++) { diff --git a/lib/trino-hive-formats/src/main/java/io/trino/hive/formats/encodings/binary/ByteEncoding.java b/lib/trino-hive-formats/src/main/java/io/trino/hive/formats/encodings/binary/ByteEncoding.java index f0f7e0c17107..b8965583199a 100644 --- a/lib/trino-hive-formats/src/main/java/io/trino/hive/formats/encodings/binary/ByteEncoding.java +++ b/lib/trino-hive-formats/src/main/java/io/trino/hive/formats/encodings/binary/ByteEncoding.java @@ -55,7 +55,7 @@ public void encodeValueInto(Block block, int position, SliceOutput output) public Block decodeColumn(ColumnData columnData) { int size = columnData.rowCount(); - BlockBuilder builder = type.createBlockBuilder(null, size); + BlockBuilder builder = type.createBlockBuilder(size); Slice slice = columnData.getSlice(); for (int i = 0; i < size; i++) { diff --git a/lib/trino-hive-formats/src/main/java/io/trino/hive/formats/encodings/binary/DateEncoding.java b/lib/trino-hive-formats/src/main/java/io/trino/hive/formats/encodings/binary/DateEncoding.java index 0b1b39db166f..28eac7e24529 100644 --- a/lib/trino-hive-formats/src/main/java/io/trino/hive/formats/encodings/binary/DateEncoding.java +++ b/lib/trino-hive-formats/src/main/java/io/trino/hive/formats/encodings/binary/DateEncoding.java @@ -57,7 +57,7 @@ public void encodeValueInto(Block block, int position, SliceOutput output) public Block decodeColumn(ColumnData columnData) { int size = columnData.rowCount(); - BlockBuilder builder = type.createBlockBuilder(null, size); + BlockBuilder builder = type.createBlockBuilder(size); Slice slice = columnData.getSlice(); for (int i = 0; i < size; i++) { diff --git a/lib/trino-hive-formats/src/main/java/io/trino/hive/formats/encodings/binary/DoubleEncoding.java b/lib/trino-hive-formats/src/main/java/io/trino/hive/formats/encodings/binary/DoubleEncoding.java index 8b6bc8cb81a3..4d9ce001c789 100644 --- a/lib/trino-hive-formats/src/main/java/io/trino/hive/formats/encodings/binary/DoubleEncoding.java +++ b/lib/trino-hive-formats/src/main/java/io/trino/hive/formats/encodings/binary/DoubleEncoding.java @@ -55,7 +55,7 @@ public void encodeValueInto(Block block, int position, SliceOutput output) public Block decodeColumn(ColumnData columnData) { int size = columnData.rowCount(); - BlockBuilder builder = type.createBlockBuilder(null, size); + BlockBuilder builder = type.createBlockBuilder(size); Slice slice = columnData.getSlice(); for (int i = 0; i < size; i++) { diff --git a/lib/trino-hive-formats/src/main/java/io/trino/hive/formats/encodings/binary/FloatEncoding.java b/lib/trino-hive-formats/src/main/java/io/trino/hive/formats/encodings/binary/FloatEncoding.java index 57d825726c57..14a2623313f1 100644 --- a/lib/trino-hive-formats/src/main/java/io/trino/hive/formats/encodings/binary/FloatEncoding.java +++ b/lib/trino-hive-formats/src/main/java/io/trino/hive/formats/encodings/binary/FloatEncoding.java @@ -55,7 +55,7 @@ public void encodeValueInto(Block block, int position, SliceOutput output) public Block decodeColumn(ColumnData columnData) { int size = columnData.rowCount(); - BlockBuilder builder = type.createBlockBuilder(null, size); + BlockBuilder builder = type.createBlockBuilder(size); Slice slice = columnData.getSlice(); for (int i = 0; i < size; i++) { diff --git a/lib/trino-hive-formats/src/main/java/io/trino/hive/formats/encodings/binary/LongEncoding.java b/lib/trino-hive-formats/src/main/java/io/trino/hive/formats/encodings/binary/LongEncoding.java index b36e937a0eab..6cf9e84cd66e 100644 --- a/lib/trino-hive-formats/src/main/java/io/trino/hive/formats/encodings/binary/LongEncoding.java +++ b/lib/trino-hive-formats/src/main/java/io/trino/hive/formats/encodings/binary/LongEncoding.java @@ -53,7 +53,7 @@ public void encodeValueInto(Block block, int position, SliceOutput output) public Block decodeColumn(ColumnData columnData) { int size = columnData.rowCount(); - BlockBuilder builder = type.createBlockBuilder(null, size); + BlockBuilder builder = type.createBlockBuilder(size); Slice slice = columnData.getSlice(); for (int i = 0; i < size; i++) { diff --git a/lib/trino-hive-formats/src/main/java/io/trino/hive/formats/encodings/binary/ShortEncoding.java b/lib/trino-hive-formats/src/main/java/io/trino/hive/formats/encodings/binary/ShortEncoding.java index 47047f9f7e66..355295619669 100644 --- a/lib/trino-hive-formats/src/main/java/io/trino/hive/formats/encodings/binary/ShortEncoding.java +++ b/lib/trino-hive-formats/src/main/java/io/trino/hive/formats/encodings/binary/ShortEncoding.java @@ -55,7 +55,7 @@ public void encodeValueInto(Block block, int position, SliceOutput output) public Block decodeColumn(ColumnData columnData) { int size = columnData.rowCount(); - BlockBuilder builder = type.createBlockBuilder(null, size); + BlockBuilder builder = type.createBlockBuilder(size); Slice slice = columnData.getSlice(); for (int i = 0; i < size; i++) { diff --git a/lib/trino-hive-formats/src/main/java/io/trino/hive/formats/encodings/binary/StringEncoding.java b/lib/trino-hive-formats/src/main/java/io/trino/hive/formats/encodings/binary/StringEncoding.java index 9bfe32c893eb..b710e3e65786 100644 --- a/lib/trino-hive-formats/src/main/java/io/trino/hive/formats/encodings/binary/StringEncoding.java +++ b/lib/trino-hive-formats/src/main/java/io/trino/hive/formats/encodings/binary/StringEncoding.java @@ -70,7 +70,7 @@ public void encodeValueInto(Block block, int position, SliceOutput output) public Block decodeColumn(ColumnData columnData) { int size = columnData.rowCount(); - BlockBuilder builder = type.createBlockBuilder(null, size); + BlockBuilder builder = type.createBlockBuilder(size); Slice slice = columnData.getSlice(); for (int i = 0; i < size; i++) { diff --git a/lib/trino-hive-formats/src/main/java/io/trino/hive/formats/encodings/text/BinaryEncoding.java b/lib/trino-hive-formats/src/main/java/io/trino/hive/formats/encodings/text/BinaryEncoding.java index 448315fd6396..6a1e57860095 100644 --- a/lib/trino-hive-formats/src/main/java/io/trino/hive/formats/encodings/text/BinaryEncoding.java +++ b/lib/trino-hive-formats/src/main/java/io/trino/hive/formats/encodings/text/BinaryEncoding.java @@ -73,7 +73,7 @@ public void encodeValueInto(Block block, int position, SliceOutput output) public Block decodeColumn(ColumnData columnData) { int size = columnData.rowCount(); - BlockBuilder builder = type.createBlockBuilder(null, size); + BlockBuilder builder = type.createBlockBuilder(size); Slice slice = columnData.getSlice(); for (int i = 0; i < size; i++) { diff --git a/lib/trino-hive-formats/src/main/java/io/trino/hive/formats/encodings/text/BlockEncoding.java b/lib/trino-hive-formats/src/main/java/io/trino/hive/formats/encodings/text/BlockEncoding.java index 6403c4749760..09545329fce4 100644 --- a/lib/trino-hive-formats/src/main/java/io/trino/hive/formats/encodings/text/BlockEncoding.java +++ b/lib/trino-hive-formats/src/main/java/io/trino/hive/formats/encodings/text/BlockEncoding.java @@ -58,7 +58,7 @@ public final Block decodeColumn(ColumnData columnData) int size = columnData.rowCount(); Slice slice = columnData.getSlice(); - BlockBuilder builder = type.createBlockBuilder(null, size); + BlockBuilder builder = type.createBlockBuilder(size); for (int i = 0; i < size; i++) { int length = columnData.getLength(i); int offset = columnData.getOffset(i); diff --git a/lib/trino-hive-formats/src/main/java/io/trino/hive/formats/encodings/text/BooleanEncoding.java b/lib/trino-hive-formats/src/main/java/io/trino/hive/formats/encodings/text/BooleanEncoding.java index 68d28645101f..04234685d733 100644 --- a/lib/trino-hive-formats/src/main/java/io/trino/hive/formats/encodings/text/BooleanEncoding.java +++ b/lib/trino-hive-formats/src/main/java/io/trino/hive/formats/encodings/text/BooleanEncoding.java @@ -73,7 +73,7 @@ private void encodeValue(Block block, int position, SliceOutput output) public Block decodeColumn(ColumnData columnData) { int size = columnData.rowCount(); - BlockBuilder builder = type.createBlockBuilder(null, size); + BlockBuilder builder = type.createBlockBuilder(size); Slice slice = columnData.getSlice(); for (int i = 0; i < size; i++) { diff --git a/lib/trino-hive-formats/src/main/java/io/trino/hive/formats/encodings/text/DateEncoding.java b/lib/trino-hive-formats/src/main/java/io/trino/hive/formats/encodings/text/DateEncoding.java index bfd249e30eda..b09b42daaaef 100644 --- a/lib/trino-hive-formats/src/main/java/io/trino/hive/formats/encodings/text/DateEncoding.java +++ b/lib/trino-hive-formats/src/main/java/io/trino/hive/formats/encodings/text/DateEncoding.java @@ -73,7 +73,7 @@ private void encodeValue(Block block, int position, SliceOutput output) public Block decodeColumn(ColumnData columnData) { int size = columnData.rowCount(); - BlockBuilder builder = type.createBlockBuilder(null, size); + BlockBuilder builder = type.createBlockBuilder(size); Slice slice = columnData.getSlice(); for (int i = 0; i < size; i++) { diff --git a/lib/trino-hive-formats/src/main/java/io/trino/hive/formats/encodings/text/DoubleEncoding.java b/lib/trino-hive-formats/src/main/java/io/trino/hive/formats/encodings/text/DoubleEncoding.java index 6153163e9b7f..09790701b1b6 100644 --- a/lib/trino-hive-formats/src/main/java/io/trino/hive/formats/encodings/text/DoubleEncoding.java +++ b/lib/trino-hive-formats/src/main/java/io/trino/hive/formats/encodings/text/DoubleEncoding.java @@ -70,7 +70,7 @@ public Block decodeColumn(ColumnData columnData) throws FileCorruptionException { int size = columnData.rowCount(); - BlockBuilder builder = type.createBlockBuilder(null, size); + BlockBuilder builder = type.createBlockBuilder(size); Slice slice = columnData.getSlice(); for (int i = 0; i < size; i++) { diff --git a/lib/trino-hive-formats/src/main/java/io/trino/hive/formats/encodings/text/FloatEncoding.java b/lib/trino-hive-formats/src/main/java/io/trino/hive/formats/encodings/text/FloatEncoding.java index 34af0247fac0..eae3de58c164 100644 --- a/lib/trino-hive-formats/src/main/java/io/trino/hive/formats/encodings/text/FloatEncoding.java +++ b/lib/trino-hive-formats/src/main/java/io/trino/hive/formats/encodings/text/FloatEncoding.java @@ -70,7 +70,7 @@ public Block decodeColumn(ColumnData columnData) throws FileCorruptionException { int size = columnData.rowCount(); - BlockBuilder builder = type.createBlockBuilder(null, size); + BlockBuilder builder = type.createBlockBuilder(size); Slice slice = columnData.getSlice(); for (int i = 0; i < size; i++) { diff --git a/lib/trino-hive-formats/src/main/java/io/trino/hive/formats/encodings/text/LongEncoding.java b/lib/trino-hive-formats/src/main/java/io/trino/hive/formats/encodings/text/LongEncoding.java index 6682a367bad0..49e8887debbb 100644 --- a/lib/trino-hive-formats/src/main/java/io/trino/hive/formats/encodings/text/LongEncoding.java +++ b/lib/trino-hive-formats/src/main/java/io/trino/hive/formats/encodings/text/LongEncoding.java @@ -71,7 +71,7 @@ public void encodeValueInto(Block block, int position, SliceOutput output) public Block decodeColumn(ColumnData columnData) { int size = columnData.rowCount(); - BlockBuilder builder = type.createBlockBuilder(null, size); + BlockBuilder builder = type.createBlockBuilder(size); Slice slice = columnData.getSlice(); for (int i = 0; i < size; i++) { diff --git a/lib/trino-hive-formats/src/main/java/io/trino/hive/formats/encodings/text/MapEncoding.java b/lib/trino-hive-formats/src/main/java/io/trino/hive/formats/encodings/text/MapEncoding.java index 0a4d3c8e25c3..5435bb197916 100644 --- a/lib/trino-hive-formats/src/main/java/io/trino/hive/formats/encodings/text/MapEncoding.java +++ b/lib/trino-hive-formats/src/main/java/io/trino/hive/formats/encodings/text/MapEncoding.java @@ -53,7 +53,7 @@ public MapEncoding( this.keyEncoding = keyEncoding; this.valueEncoding = valueEncoding; this.distinctMapKeys = new DistinctMapKeys(mapType, false); - this.keyBlockBuilder = mapType.getKeyType().createBlockBuilder(null, 128); + this.keyBlockBuilder = mapType.getKeyType().createBlockBuilder(128); } @Override @@ -166,7 +166,7 @@ private class KeyOnlyEntryDecoder public Block getKeyBlock() { Block keyBlock = keyBlockBuilder.build(); - keyBlockBuilder = mapType.getKeyType().createBlockBuilder(null, keyBlock.getPositionCount()); + keyBlockBuilder = mapType.getKeyType().createBlockBuilder(keyBlock.getPositionCount()); return keyBlock; } diff --git a/lib/trino-hive-formats/src/main/java/io/trino/hive/formats/encodings/text/StringEncoding.java b/lib/trino-hive-formats/src/main/java/io/trino/hive/formats/encodings/text/StringEncoding.java index a5d3ad6705dd..2564fa0c8252 100644 --- a/lib/trino-hive-formats/src/main/java/io/trino/hive/formats/encodings/text/StringEncoding.java +++ b/lib/trino-hive-formats/src/main/java/io/trino/hive/formats/encodings/text/StringEncoding.java @@ -106,7 +106,7 @@ public Block decodeColumn(ColumnData columnData) } int size = columnData.rowCount(); - BlockBuilder builder = type.createBlockBuilder(null, size); + BlockBuilder builder = type.createBlockBuilder(size); Slice slice = columnData.getSlice(); for (int i = 0; i < size; i++) { diff --git a/lib/trino-hive-formats/src/main/java/io/trino/hive/formats/line/json/JsonDeserializer.java b/lib/trino-hive-formats/src/main/java/io/trino/hive/formats/line/json/JsonDeserializer.java index f1e074094ef8..33050eb1a1ea 100644 --- a/lib/trino-hive-formats/src/main/java/io/trino/hive/formats/line/json/JsonDeserializer.java +++ b/lib/trino-hive-formats/src/main/java/io/trino/hive/formats/line/json/JsonDeserializer.java @@ -569,8 +569,8 @@ public MapDecoder(MapType mapType, Decoder valueDecoder, Function fieldNames) } Block keyBlock = tempKeyBlockBuilder.build(); - tempKeyBlockBuilder = keyType.createBlockBuilder(null, keyBlock.getPositionCount()); + tempKeyBlockBuilder = keyType.createBlockBuilder(keyBlock.getPositionCount()); return keyBlock; } } diff --git a/lib/trino-hive-formats/src/test/java/io/trino/hive/formats/avro/TestAvroPageDataReaderWithAvroNativeTypeManagement.java b/lib/trino-hive-formats/src/test/java/io/trino/hive/formats/avro/TestAvroPageDataReaderWithAvroNativeTypeManagement.java index c9115444cbab..165abe7de040 100644 --- a/lib/trino-hive-formats/src/test/java/io/trino/hive/formats/avro/TestAvroPageDataReaderWithAvroNativeTypeManagement.java +++ b/lib/trino-hive-formats/src/test/java/io/trino/hive/formats/avro/TestAvroPageDataReaderWithAvroNativeTypeManagement.java @@ -134,14 +134,14 @@ public class TestAvroPageDataReaderWithAvroNativeTypeManagement ALL_SUPPORTED_TYPES_GENERIC_RECORD.put("smallBytesDecimal", ByteBuffer.wrap(Longs.toByteArray(78068160000000L))); ALL_SUPPORTED_TYPES_GENERIC_RECORD.put("smallFixedDecimal", GENERIC_SMALL_FIXED_DECIMAL); - BlockBuilder smallDecimalBlock = SMALL_DECIMAL_TYPE.createBlockBuilder(null, 1); + BlockBuilder smallDecimalBlock = SMALL_DECIMAL_TYPE.createBlockBuilder(1); SMALL_DECIMAL_TYPE.writeLong(smallDecimalBlock, 78068160000000L); blocks.add(smallDecimalBlock.build()); blocks.add(smallDecimalBlock.build()); ALL_SUPPORTED_TYPES_GENERIC_RECORD.put("largeBytesDecimal", ByteBuffer.wrap(Int128.valueOf(78068160000000L).toBigEndianBytes())); ALL_SUPPORTED_TYPES_GENERIC_RECORD.put("largeFixedDecimal", GENERIC_LARGE_FIXED_DECIMAL); - BlockBuilder largeDecimalBlock = LARGE_DECIMAL_TYPE.createBlockBuilder(null, 1); + BlockBuilder largeDecimalBlock = LARGE_DECIMAL_TYPE.createBlockBuilder(1); LARGE_DECIMAL_TYPE.writeObject(largeDecimalBlock, Int128.valueOf(78068160000000L)); blocks.add(largeDecimalBlock.build()); blocks.add(largeDecimalBlock.build()); diff --git a/lib/trino-hive-formats/src/test/java/io/trino/hive/formats/avro/TestAvroPageDataWriterWithoutTypeManager.java b/lib/trino-hive-formats/src/test/java/io/trino/hive/formats/avro/TestAvroPageDataWriterWithoutTypeManager.java index 1885e138764c..f181c9787786 100644 --- a/lib/trino-hive-formats/src/test/java/io/trino/hive/formats/avro/TestAvroPageDataWriterWithoutTypeManager.java +++ b/lib/trino-hive-formats/src/test/java/io/trino/hive/formats/avro/TestAvroPageDataWriterWithoutTypeManager.java @@ -120,7 +120,7 @@ public void testRLEAndDictionaryBlocks() RunLengthEncodedBlock.create(IntegerType.INTEGER, 2L, 2), RunLengthEncodedBlock.create(VarcharType.VARCHAR, Slices.utf8Slice("rleString"), 2), DictionaryBlock.create(2, - VarcharType.VARCHAR.createBlockBuilder(null, 3, 1) + VarcharType.VARCHAR.createBlockBuilder(3, 1) .writeEntry(Slices.utf8Slice("A")) .writeEntry(Slices.utf8Slice("B")) .writeEntry(Slices.utf8Slice("C")) diff --git a/lib/trino-hive-formats/src/test/java/io/trino/hive/formats/rcfile/RcFileTester.java b/lib/trino-hive-formats/src/test/java/io/trino/hive/formats/rcfile/RcFileTester.java index 3fdd1af5554c..5e0e1f159d4b 100644 --- a/lib/trino-hive-formats/src/test/java/io/trino/hive/formats/rcfile/RcFileTester.java +++ b/lib/trino-hive-formats/src/test/java/io/trino/hive/formats/rcfile/RcFileTester.java @@ -488,7 +488,7 @@ private static void writeRcFileColumnNew(File outputFile, Format format, Optiona DataSize.of(100, KILOBYTE), // use a smaller size to create more row groups DataSize.of(200, KILOBYTE), true); - BlockBuilder blockBuilder = type.createBlockBuilder(null, 1024); + BlockBuilder blockBuilder = type.createBlockBuilder(1024); while (values.hasNext()) { Object value = values.next(); writeTrinoValue(type, blockBuilder, value); diff --git a/lib/trino-orc/src/main/java/io/trino/orc/reader/ListColumnReader.java b/lib/trino-orc/src/main/java/io/trino/orc/reader/ListColumnReader.java index e0baf370f72b..7c932c98c18f 100644 --- a/lib/trino-orc/src/main/java/io/trino/orc/reader/ListColumnReader.java +++ b/lib/trino-orc/src/main/java/io/trino/orc/reader/ListColumnReader.java @@ -148,7 +148,7 @@ public Block readBlock() elements = elementColumnReader.readBlock(); } else { - elements = elementType.createBlockBuilder(null, 0).build(); + elements = elementType.createBlockBuilder(0).build(); } Block arrayBlock = ArrayBlock.fromElementBlock(nextBatchSize, Optional.ofNullable(nullVector), offsetVector, elements); diff --git a/lib/trino-orc/src/main/java/io/trino/orc/reader/MapColumnReader.java b/lib/trino-orc/src/main/java/io/trino/orc/reader/MapColumnReader.java index a5f7c42ef3bb..810059512643 100644 --- a/lib/trino-orc/src/main/java/io/trino/orc/reader/MapColumnReader.java +++ b/lib/trino-orc/src/main/java/io/trino/orc/reader/MapColumnReader.java @@ -163,8 +163,8 @@ public Block readBlock() values = valueColumnReader.readBlock(); } else { - keys = type.getKeyType().createBlockBuilder(null, 0).build(); - values = type.getValueType().createBlockBuilder(null, 1).build(); + keys = type.getKeyType().createBlockBuilder(0).build(); + values = type.getValueType().createBlockBuilder(1).build(); } Block[] keyValueBlock = createKeyValueBlock(nextBatchSize, keys, values, offsetVector); diff --git a/lib/trino-orc/src/main/java/io/trino/orc/reader/StructColumnReader.java b/lib/trino-orc/src/main/java/io/trino/orc/reader/StructColumnReader.java index eead6e56f578..12dd850f99c3 100644 --- a/lib/trino-orc/src/main/java/io/trino/orc/reader/StructColumnReader.java +++ b/lib/trino-orc/src/main/java/io/trino/orc/reader/StructColumnReader.java @@ -159,7 +159,7 @@ public Block readBlock() List typeParameters = type.getTypeParameters(); blocks = new Block[typeParameters.size()]; for (int i = 0; i < typeParameters.size(); i++) { - blocks[i] = RunLengthEncodedBlock.create(typeParameters.get(i).createBlockBuilder(null, 0).appendNull().build(), nextBatchSize); + blocks[i] = RunLengthEncodedBlock.create(typeParameters.get(i).createBlockBuilder(0).appendNull().build(), nextBatchSize); } } } diff --git a/lib/trino-orc/src/main/java/io/trino/orc/reader/UnionColumnReader.java b/lib/trino-orc/src/main/java/io/trino/orc/reader/UnionColumnReader.java index 95d09a7bee28..319aec6492ba 100644 --- a/lib/trino-orc/src/main/java/io/trino/orc/reader/UnionColumnReader.java +++ b/lib/trino-orc/src/main/java/io/trino/orc/reader/UnionColumnReader.java @@ -148,7 +148,7 @@ public Block readBlock() blocks = new Block[typeParameters.size() + 1]; blocks[0] = TINYINT.createFixedSizeBlockBuilder(0).build(); for (int i = 0; i < typeParameters.size(); i++) { - blocks[i + 1] = typeParameters.get(i).createBlockBuilder(null, 0).build(); + blocks[i + 1] = typeParameters.get(i).createBlockBuilder(0).build(); } } } @@ -264,7 +264,7 @@ private Block[] getBlocks(int positionCount, int nonNullCount, boolean[] rowIsNu } else { blocks[i + 1] = RunLengthEncodedBlock.create( - fieldType.createBlockBuilder(null, 1).appendNull().build(), + fieldType.createBlockBuilder(1).appendNull().build(), positionCount); } } diff --git a/lib/trino-orc/src/test/java/io/trino/orc/OrcTester.java b/lib/trino-orc/src/test/java/io/trino/orc/OrcTester.java index 56ce0e74aea2..30bb54ecdc33 100644 --- a/lib/trino-orc/src/test/java/io/trino/orc/OrcTester.java +++ b/lib/trino-orc/src/test/java/io/trino/orc/OrcTester.java @@ -703,7 +703,7 @@ public static void writeOrcColumnTrino(File outputFile, CompressionKind compress BOTH, stats); - BlockBuilder blockBuilder = type.createBlockBuilder(null, 1024); + BlockBuilder blockBuilder = type.createBlockBuilder(1024); while (values.hasNext()) { Object value = values.next(); writeValue(type, blockBuilder, value); diff --git a/lib/trino-orc/src/test/java/io/trino/orc/TestOrcWriter.java b/lib/trino-orc/src/test/java/io/trino/orc/TestOrcWriter.java index 79fd5fb59822..ebafc7837d7e 100644 --- a/lib/trino-orc/src/test/java/io/trino/orc/TestOrcWriter.java +++ b/lib/trino-orc/src/test/java/io/trino/orc/TestOrcWriter.java @@ -154,7 +154,7 @@ private void testWriteOutput(List columnNames, String[] data) // write down some data with unsorted streams Block[] blocks = new Block[data.length]; int entries = 65536; - VariableWidthBlockBuilder blockBuilder = VARCHAR.createBlockBuilder(null, entries); + VariableWidthBlockBuilder blockBuilder = VARCHAR.createBlockBuilder(entries); for (int i = 0; i < data.length; i++) { byte[] bytes = data[i].getBytes(UTF_8); for (int j = 0; j < entries; j++) { @@ -163,7 +163,7 @@ private void testWriteOutput(List columnNames, String[] data) blockBuilder.writeEntry(Slices.wrappedBuffer(bytes, 0, bytes.length)); } blocks[i] = blockBuilder.build(); - blockBuilder = (VariableWidthBlockBuilder) blockBuilder.newBlockBuilderLike(null); + blockBuilder = (VariableWidthBlockBuilder) blockBuilder.newBlockBuilderLike(); } writer.write(new Page(blocks)); diff --git a/lib/trino-orc/src/test/java/io/trino/orc/TestSliceDictionaryColumnWriter.java b/lib/trino-orc/src/test/java/io/trino/orc/TestSliceDictionaryColumnWriter.java index 74a0c6e7c876..bd3637cac220 100644 --- a/lib/trino-orc/src/test/java/io/trino/orc/TestSliceDictionaryColumnWriter.java +++ b/lib/trino-orc/src/test/java/io/trino/orc/TestSliceDictionaryColumnWriter.java @@ -91,7 +91,6 @@ public void testBloomFiltersAfterConvertToDirect() List testValues = new ArrayList<>(valuesCount); int expectedEntries = (valuesCount / 9) + 1; VariableWidthBlockBuilder blockBuilder = new VariableWidthBlockBuilder( - null, expectedEntries, expectedEntries * 500); byte base = 0; diff --git a/lib/trino-orc/src/test/java/io/trino/orc/TestStructColumnReader.java b/lib/trino-orc/src/test/java/io/trino/orc/TestStructColumnReader.java index 5254f2e5ef1b..45807e0c1276 100644 --- a/lib/trino-orc/src/test/java/io/trino/orc/TestStructColumnReader.java +++ b/lib/trino-orc/src/test/java/io/trino/orc/TestStructColumnReader.java @@ -241,14 +241,14 @@ private void write(TempFile tempFile, Type writerType, List data) int entries = 10; - VariableWidthBlockBuilder fieldBlockBuilder = VARCHAR.createBlockBuilder(null, entries); + VariableWidthBlockBuilder fieldBlockBuilder = VARCHAR.createBlockBuilder(entries); for (int fieldId = 0; fieldId < data.size(); fieldId++) { Slice fieldValue = Slices.utf8Slice(data.get(fieldId)); for (int rowId = 0; rowId < entries; rowId++) { fieldBlockBuilder.writeEntry(fieldValue); } fieldBlocks[fieldId] = fieldBlockBuilder.build(); - fieldBlockBuilder = (VariableWidthBlockBuilder) fieldBlockBuilder.newBlockBuilderLike(null); + fieldBlockBuilder = (VariableWidthBlockBuilder) fieldBlockBuilder.newBlockBuilderLike(); } Block rowBlock = RowBlock.fromFieldBlocks(entries, fieldBlocks); writer.write(new Page(rowBlock)); diff --git a/lib/trino-parquet/src/main/java/io/trino/parquet/reader/ParquetReader.java b/lib/trino-parquet/src/main/java/io/trino/parquet/reader/ParquetReader.java index a8c6f6a004cb..89087517868b 100644 --- a/lib/trino-parquet/src/main/java/io/trino/parquet/reader/ParquetReader.java +++ b/lib/trino-parquet/src/main/java/io/trino/parquet/reader/ParquetReader.java @@ -522,7 +522,7 @@ private ColumnChunk readVariant(VariantField field) ColumnChunk metadataChunk = readColumnChunk(field.getMetadata()); int positionCount = metadataChunk.getBlock().getPositionCount(); - BlockBuilder variantBlock = VARCHAR.createBlockBuilder(null, max(1, positionCount)); + BlockBuilder variantBlock = VARCHAR.createBlockBuilder(max(1, positionCount)); ColumnChunk valueChunk = readColumnChunk(field.getValue()); for (int position = 0; position < positionCount; position++) { Slice metadata = VARBINARY.getSlice(metadataChunk.getBlock(), position); diff --git a/lib/trino-parquet/src/test/java/io/trino/parquet/ParquetTestUtils.java b/lib/trino-parquet/src/test/java/io/trino/parquet/ParquetTestUtils.java index ebb180374394..1172b7a790e1 100644 --- a/lib/trino-parquet/src/test/java/io/trino/parquet/ParquetTestUtils.java +++ b/lib/trino-parquet/src/test/java/io/trino/parquet/ParquetTestUtils.java @@ -282,7 +282,7 @@ private static Block createLongsBlockWithRandomNulls(int positionCount) private static Block generateBlock(Type type, int positions) { - BlockBuilder blockBuilder = type.createBlockBuilder(null, positions); + BlockBuilder blockBuilder = type.createBlockBuilder(positions); for (int i = 0; i < positions; i++) { writeNativeValue(type, blockBuilder, (long) i); } @@ -291,7 +291,7 @@ private static Block generateBlock(Type type, int positions) private static Block generateBlock(Type type, List data) { - BlockBuilder blockBuilder = type.createBlockBuilder(null, data.size()); + BlockBuilder blockBuilder = type.createBlockBuilder(data.size()); for (T value : data) { writeNativeValue(type, blockBuilder, value); } diff --git a/lib/trino-parquet/src/test/java/io/trino/parquet/writer/BenchmarkBinaryColumnWriter.java b/lib/trino-parquet/src/test/java/io/trino/parquet/writer/BenchmarkBinaryColumnWriter.java index ef8ec3880cdc..29fb47094fd3 100644 --- a/lib/trino-parquet/src/test/java/io/trino/parquet/writer/BenchmarkBinaryColumnWriter.java +++ b/lib/trino-parquet/src/test/java/io/trino/parquet/writer/BenchmarkBinaryColumnWriter.java @@ -16,7 +16,6 @@ import io.airlift.slice.Slices; import io.trino.spi.block.Block; import io.trino.spi.block.BlockBuilder; -import io.trino.spi.block.PageBuilderStatus; import io.trino.spi.type.Type; import io.trino.spi.type.VarcharType; import org.apache.parquet.schema.PrimitiveType; @@ -57,7 +56,7 @@ protected PrimitiveType getParquetType() @Override protected Block generateBlock(int size) { - BlockBuilder blockBuilder = getTrinoType().createBlockBuilder(new PageBuilderStatus().createBlockBuilderStatus(), size); + BlockBuilder blockBuilder = getTrinoType().createBlockBuilder(size); for (byte[] value : type.generateData(size, positionLength.getRange())) { getTrinoType().writeSlice(blockBuilder, Slices.wrappedBuffer(value)); } diff --git a/lib/trino-parquet/src/test/java/io/trino/parquet/writer/BenchmarkLongColumnWriter.java b/lib/trino-parquet/src/test/java/io/trino/parquet/writer/BenchmarkLongColumnWriter.java index 42f1b46bda68..a2fb357835ef 100644 --- a/lib/trino-parquet/src/test/java/io/trino/parquet/writer/BenchmarkLongColumnWriter.java +++ b/lib/trino-parquet/src/test/java/io/trino/parquet/writer/BenchmarkLongColumnWriter.java @@ -15,7 +15,6 @@ import io.trino.spi.block.Block; import io.trino.spi.block.BlockBuilder; -import io.trino.spi.block.PageBuilderStatus; import io.trino.spi.type.Type; import org.apache.parquet.schema.PrimitiveType; import org.apache.parquet.schema.Types; @@ -52,7 +51,7 @@ protected PrimitiveType getParquetType() @Override protected Block generateBlock(int size) { - BlockBuilder blockBuilder = getTrinoType().createBlockBuilder(new PageBuilderStatus().createBlockBuilderStatus(), size); + BlockBuilder blockBuilder = getTrinoType().createBlockBuilder(size); for (long value : this.generateDataBatch(size)) { getTrinoType().writeLong(blockBuilder, value); } diff --git a/lib/trino-parquet/src/test/java/io/trino/parquet/writer/TestParquetWriter.java b/lib/trino-parquet/src/test/java/io/trino/parquet/writer/TestParquetWriter.java index b35d81ee2a7f..edd9cda54938 100644 --- a/lib/trino-parquet/src/test/java/io/trino/parquet/writer/TestParquetWriter.java +++ b/lib/trino-parquet/src/test/java/io/trino/parquet/writer/TestParquetWriter.java @@ -241,7 +241,7 @@ public void testLargeStringTruncation() List types = ImmutableList.of(VARCHAR, VARCHAR); Slice minA = Slices.utf8Slice("abc".repeat(300)); // within truncation threshold - Block blockA = VARCHAR.createBlockBuilder(null, 2) + Block blockA = VARCHAR.createBlockBuilder(2) .writeEntry(minA) .writeEntry(Slices.utf8Slice("y".repeat(3200))) // bigger than truncation threshold .build(); @@ -249,7 +249,7 @@ public void testLargeStringTruncation() String threeByteCodePoint = new String(Character.toChars(0x20AC)); String maxCodePoint = new String(Character.toChars(Character.MAX_CODE_POINT)); Slice minB = Slices.utf8Slice(threeByteCodePoint.repeat(300)); // truncation in middle of unicode bytes - Block blockB = VARCHAR.createBlockBuilder(null, 2) + Block blockB = VARCHAR.createBlockBuilder(2) .writeEntry(minB) // start with maxCodePoint to make it max value in stats // last character for truncation is maxCodePoint diff --git a/lib/trino-record-decoder/src/main/java/io/trino/decoder/avro/AvroColumnDecoder.java b/lib/trino-record-decoder/src/main/java/io/trino/decoder/avro/AvroColumnDecoder.java index c34eed8f0b29..c8cb22cd23d0 100644 --- a/lib/trino-record-decoder/src/main/java/io/trino/decoder/avro/AvroColumnDecoder.java +++ b/lib/trino-record-decoder/src/main/java/io/trino/decoder/avro/AvroColumnDecoder.java @@ -271,7 +271,7 @@ private static Block serializeList(BlockBuilder parentBlockBuilder, Object value List typeParameters = type.getTypeParameters(); Type elementType = typeParameters.get(0); - BlockBuilder blockBuilder = elementType.createBlockBuilder(null, list.size()); + BlockBuilder blockBuilder = elementType.createBlockBuilder(list.size()); for (Object element : list) { serializeObject(blockBuilder, element, elementType, columnName); } diff --git a/lib/trino-record-decoder/src/main/java/io/trino/decoder/protobuf/ProtobufValueProvider.java b/lib/trino-record-decoder/src/main/java/io/trino/decoder/protobuf/ProtobufValueProvider.java index bf6eab330cb9..86124971d42d 100644 --- a/lib/trino-record-decoder/src/main/java/io/trino/decoder/protobuf/ProtobufValueProvider.java +++ b/lib/trino-record-decoder/src/main/java/io/trino/decoder/protobuf/ProtobufValueProvider.java @@ -193,7 +193,7 @@ private Block serializeList(BlockBuilder parentBlockBuilder, @Nullable Object va List typeParameters = type.getTypeParameters(); Type elementType = typeParameters.get(0); - BlockBuilder blockBuilder = elementType.createBlockBuilder(null, list.size()); + BlockBuilder blockBuilder = elementType.createBlockBuilder(list.size()); for (Object element : list) { serializeObject(blockBuilder, element, elementType, columnName); } diff --git a/plugin/trino-blackhole/src/main/java/io/trino/plugin/blackhole/BlackHolePageSourceProvider.java b/plugin/trino-blackhole/src/main/java/io/trino/plugin/blackhole/BlackHolePageSourceProvider.java index d644957ba9b2..1072ec14a79a 100644 --- a/plugin/trino-blackhole/src/main/java/io/trino/plugin/blackhole/BlackHolePageSourceProvider.java +++ b/plugin/trino-blackhole/src/main/java/io/trino/plugin/blackhole/BlackHolePageSourceProvider.java @@ -114,7 +114,7 @@ private Block createZeroBlock(Type type, int rowsCount, Slice constantSlice) builder = fixedWidthType.createFixedSizeBlockBuilder(rowsCount); } else { - builder = type.createBlockBuilder(null, rowsCount, slice.length()); + builder = type.createBlockBuilder(rowsCount, slice.length()); } for (int i = 0; i < rowsCount; i++) { diff --git a/plugin/trino-delta-lake/src/test/java/io/trino/plugin/deltalake/TestDeltaLakeNodeLocalDynamicSplitPruning.java b/plugin/trino-delta-lake/src/test/java/io/trino/plugin/deltalake/TestDeltaLakeNodeLocalDynamicSplitPruning.java index 70342f40e114..276d5c0959f8 100644 --- a/plugin/trino-delta-lake/src/test/java/io/trino/plugin/deltalake/TestDeltaLakeNodeLocalDynamicSplitPruning.java +++ b/plugin/trino-delta-lake/src/test/java/io/trino/plugin/deltalake/TestDeltaLakeNodeLocalDynamicSplitPruning.java @@ -107,7 +107,7 @@ public void testDynamicSplitPruningOnUnpartitionedTable() try (ParquetWriter writer = createParquetWriter(outputFile, schemaConverter)) { BlockBuilder keyBuilder = INTEGER.createFixedSizeBlockBuilder(1); INTEGER.writeLong(keyBuilder, keyColumnValue); - BlockBuilder dataBuilder = VARCHAR.createBlockBuilder(null, 1); + BlockBuilder dataBuilder = VARCHAR.createBlockBuilder(1); VARCHAR.writeString(dataBuilder, dataColumnValue); writer.write(new Page(keyBuilder.build(), dataBuilder.build())); } @@ -204,7 +204,7 @@ public void testDynamicSplitPruningWithExplicitPartitionFilter() TrinoInputFile inputFile = new LocalInputFile(file.file()); try (ParquetWriter writer = createParquetWriter(outputFile, schemaConverter)) { - BlockBuilder receiptBuilder = VARCHAR.createBlockBuilder(null, 1); + BlockBuilder receiptBuilder = VARCHAR.createBlockBuilder(1); VARCHAR.writeString(receiptBuilder, receiptColumnValue); BlockBuilder amountBuilder = amountColumnType.createFixedSizeBlockBuilder(1); writeShortDecimal(amountBuilder, amountColumnValue.unscaledValue().longValueExact()); diff --git a/plugin/trino-elasticsearch/src/main/java/io/trino/plugin/elasticsearch/NodesSystemTable.java b/plugin/trino-elasticsearch/src/main/java/io/trino/plugin/elasticsearch/NodesSystemTable.java index c71f54f63774..535ff565ea40 100644 --- a/plugin/trino-elasticsearch/src/main/java/io/trino/plugin/elasticsearch/NodesSystemTable.java +++ b/plugin/trino-elasticsearch/src/main/java/io/trino/plugin/elasticsearch/NodesSystemTable.java @@ -75,10 +75,10 @@ public ConnectorPageSource pageSource(ConnectorTransactionHandle transaction, Co { Set nodes = client.getNodes(); - BlockBuilder nodeId = VARCHAR.createBlockBuilder(null, nodes.size()); - BlockBuilder trinoAddress = VARCHAR.createBlockBuilder(null, nodes.size()); - BlockBuilder elasticsearchNodeId = VARCHAR.createBlockBuilder(null, nodes.size()); - BlockBuilder elasticsearchAddress = VARCHAR.createBlockBuilder(null, nodes.size()); + BlockBuilder nodeId = VARCHAR.createBlockBuilder(nodes.size()); + BlockBuilder trinoAddress = VARCHAR.createBlockBuilder(nodes.size()); + BlockBuilder elasticsearchNodeId = VARCHAR.createBlockBuilder(nodes.size()); + BlockBuilder elasticsearchAddress = VARCHAR.createBlockBuilder(nodes.size()); for (ElasticsearchNode node : nodes) { VARCHAR.writeString(nodeId, currentNode.getNodeIdentifier()); diff --git a/plugin/trino-elasticsearch/src/main/java/io/trino/plugin/elasticsearch/PassthroughQueryPageSource.java b/plugin/trino-elasticsearch/src/main/java/io/trino/plugin/elasticsearch/PassthroughQueryPageSource.java index a4317a3b9fa7..e447322ce22e 100644 --- a/plugin/trino-elasticsearch/src/main/java/io/trino/plugin/elasticsearch/PassthroughQueryPageSource.java +++ b/plugin/trino-elasticsearch/src/main/java/io/trino/plugin/elasticsearch/PassthroughQueryPageSource.java @@ -70,7 +70,7 @@ public SourcePage getNextSourcePage() done = true; Slice slice = Slices.utf8Slice(result); - BlockBuilder column = VARCHAR.createBlockBuilder(null, 0, slice.length()); + BlockBuilder column = VARCHAR.createBlockBuilder(0, slice.length()); VARCHAR.writeSlice(column, slice); return SourcePage.create(column.build()); } diff --git a/plugin/trino-elasticsearch/src/main/java/io/trino/plugin/elasticsearch/ScanQueryPageSource.java b/plugin/trino-elasticsearch/src/main/java/io/trino/plugin/elasticsearch/ScanQueryPageSource.java index e394276a0330..eca184adada6 100644 --- a/plugin/trino-elasticsearch/src/main/java/io/trino/plugin/elasticsearch/ScanQueryPageSource.java +++ b/plugin/trino-elasticsearch/src/main/java/io/trino/plugin/elasticsearch/ScanQueryPageSource.java @@ -91,7 +91,7 @@ public ScanQueryPageSource( columnBuilders = columns.stream() .map(ElasticsearchColumnHandle::type) - .map(type -> type.createBlockBuilder(null, 1)) + .map(type -> type.createBlockBuilder(1)) .toArray(BlockBuilder[]::new); List requiredFields = columns.stream() @@ -185,7 +185,7 @@ public SourcePage getNextSourcePage() Block[] blocks = new Block[columnBuilders.length]; for (int i = 0; i < columnBuilders.length; i++) { blocks[i] = columnBuilders[i].build(); - columnBuilders[i] = columnBuilders[i].newBlockBuilderLike(null); + columnBuilders[i] = columnBuilders[i].newBlockBuilderLike(); } return SourcePage.create(new Page(blocks)); diff --git a/plugin/trino-faker/src/main/java/io/trino/plugin/faker/FakerPageSource.java b/plugin/trino-faker/src/main/java/io/trino/plugin/faker/FakerPageSource.java index d0d8d6ef7848..b65f233e7648 100644 --- a/plugin/trino-faker/src/main/java/io/trino/plugin/faker/FakerPageSource.java +++ b/plugin/trino-faker/src/main/java/io/trino/plugin/faker/FakerPageSource.java @@ -364,7 +364,7 @@ private Generator randomValueGenerator(FakerColumnHandle handle) ValueSet.none(field.getType())))) .collect(toImmutableList()); return (blockBuilder) -> { - RowBlockBuilder rowBlockBuilder = rowType.createBlockBuilder(null, 1); + RowBlockBuilder rowBlockBuilder = rowType.createBlockBuilder(1); rowBlockBuilder.buildEntry(fieldBuilders -> { for (int i = 0; i < fieldBuilders.size(); i++) { fieldGenerators.get(i).accept(fieldBuilders.get(i)); @@ -374,13 +374,13 @@ private Generator randomValueGenerator(FakerColumnHandle handle) }; } if (type instanceof ArrayType arrayType) { - ArrayBlockBuilder arrayBlockBuilder = arrayType.createBlockBuilder(null, 0); + ArrayBlockBuilder arrayBlockBuilder = arrayType.createBlockBuilder(0); arrayBlockBuilder.buildEntry(_ -> {}); ArrayBlock emptyBlock = (ArrayBlock) arrayBlockBuilder.build(); return (blockBuilder) -> blockBuilder.append(emptyBlock, 0); } if (type instanceof MapType mapType) { - MapBlockBuilder mapBlockBuilder = mapType.createBlockBuilder(null, 0); + MapBlockBuilder mapBlockBuilder = mapType.createBlockBuilder(0); mapBlockBuilder.buildEntry((_, _) -> {}); MapBlock emptyBlock = (MapBlock) mapBlockBuilder.build(); return (blockBuilder) -> blockBuilder.append(emptyBlock, 0); diff --git a/plugin/trino-geospatial/src/main/java/io/trino/plugin/geospatial/GeoFunctions.java b/plugin/trino-geospatial/src/main/java/io/trino/plugin/geospatial/GeoFunctions.java index 2e6918e90ea0..6ff97581e867 100644 --- a/plugin/trino-geospatial/src/main/java/io/trino/plugin/geospatial/GeoFunctions.java +++ b/plugin/trino-geospatial/src/main/java/io/trino/plugin/geospatial/GeoFunctions.java @@ -670,7 +670,7 @@ public static Block lineInterpolatePoints( } List interpolatedPoints = interpolatePoints(geometry, fractionStep, true); - BlockBuilder blockBuilder = GEOMETRY.createBlockBuilder(null, interpolatedPoints.size()); + BlockBuilder blockBuilder = GEOMETRY.createBlockBuilder(interpolatedPoints.size()); for (Point point : interpolatedPoints) { GEOMETRY.writeSlice(blockBuilder, serialize(createFromEsriGeometry(point, null))); } @@ -804,7 +804,7 @@ public static Block stInteriorRings(@SqlType(StandardTypes.GEOMETRY) Slice input } OGCPolygon polygon = (OGCPolygon) geometry; - BlockBuilder blockBuilder = GEOMETRY.createBlockBuilder(null, polygon.numInteriorRing()); + BlockBuilder blockBuilder = GEOMETRY.createBlockBuilder(polygon.numInteriorRing()); for (int i = 0; i < polygon.numInteriorRing(); i++) { GEOMETRY.writeSlice(blockBuilder, serialize(polygon.interiorRingN(i))); } @@ -943,13 +943,13 @@ public static Block stGeometries(@SqlType(StandardTypes.GEOMETRY) Slice input) GeometryType type = GeometryType.getForEsriGeometryType(geometry.geometryType()); if (!type.isMultitype()) { - BlockBuilder blockBuilder = GEOMETRY.createBlockBuilder(null, 1); + BlockBuilder blockBuilder = GEOMETRY.createBlockBuilder(1); GEOMETRY.writeSlice(blockBuilder, serialize(geometry)); return blockBuilder.build(); } OGCGeometryCollection collection = (OGCGeometryCollection) geometry; - BlockBuilder blockBuilder = GEOMETRY.createBlockBuilder(null, collection.numGeometries()); + BlockBuilder blockBuilder = GEOMETRY.createBlockBuilder(collection.numGeometries()); for (int i = 0; i < collection.numGeometries(); i++) { GEOMETRY.writeSlice(blockBuilder, serialize(collection.geometryN(i))); } @@ -1057,7 +1057,7 @@ public static Block stPoints(@SqlType(StandardTypes.GEOMETRY) Slice input) } int pointCount = geometry.getNumPoints(); - BlockBuilder blockBuilder = GEOMETRY.createBlockBuilder(null, pointCount); + BlockBuilder blockBuilder = GEOMETRY.createBlockBuilder(pointCount); buildPointsBlock(geometry, blockBuilder); return blockBuilder.build(); @@ -1148,7 +1148,7 @@ public static Block stEnvelopeAsPts(@SqlType(StandardTypes.GEOMETRY) Slice input if (envelope.isEmpty()) { return null; } - BlockBuilder blockBuilder = GEOMETRY.createBlockBuilder(null, 2); + BlockBuilder blockBuilder = GEOMETRY.createBlockBuilder(2); Point lowerLeftCorner = new Point(envelope.getXMin(), envelope.getYMin()); Point upperRightCorner = new Point(envelope.getXMax(), envelope.getYMax()); GEOMETRY.writeSlice(blockBuilder, serialize(createFromEsriGeometry(lowerLeftCorner, null, false))); diff --git a/plugin/trino-geospatial/src/test/java/io/trino/plugin/geospatial/TestGeoFunctions.java b/plugin/trino-geospatial/src/test/java/io/trino/plugin/geospatial/TestGeoFunctions.java index 8e37a6ff249e..7881814209dc 100644 --- a/plugin/trino-geospatial/src/test/java/io/trino/plugin/geospatial/TestGeoFunctions.java +++ b/plugin/trino-geospatial/src/test/java/io/trino/plugin/geospatial/TestGeoFunctions.java @@ -132,7 +132,7 @@ private void assertSpatialPartitions(String kdbTreeJson, String wkt, double dist @Test public void testGeometryGetObjectValue() { - BlockBuilder builder = GEOMETRY.createBlockBuilder(null, 1); + BlockBuilder builder = GEOMETRY.createBlockBuilder(1); GEOMETRY.writeSlice(builder, GeoFunctions.stPoint(1.2, 3.4)); Block block = builder.build(); diff --git a/plugin/trino-geospatial/src/test/java/io/trino/plugin/geospatial/TestKdbTreeType.java b/plugin/trino-geospatial/src/test/java/io/trino/plugin/geospatial/TestKdbTreeType.java index a233e1f26922..41864b0c1890 100644 --- a/plugin/trino-geospatial/src/test/java/io/trino/plugin/geospatial/TestKdbTreeType.java +++ b/plugin/trino-geospatial/src/test/java/io/trino/plugin/geospatial/TestKdbTreeType.java @@ -38,7 +38,7 @@ protected TestKdbTreeType() private static ValueBlock createTestBlock() { - BlockBuilder blockBuilder = KDB_TREE.createBlockBuilder(null, 1); + BlockBuilder blockBuilder = KDB_TREE.createBlockBuilder(1); KdbTree kdbTree = new KdbTree( new Node( new Rectangle(10, 20, 30, 40), diff --git a/plugin/trino-geospatial/src/test/java/io/trino/plugin/geospatial/TestSpatialPartitioningInternalAggregation.java b/plugin/trino-geospatial/src/test/java/io/trino/plugin/geospatial/TestSpatialPartitioningInternalAggregation.java index 548f1c08fa14..d195d5c6c44f 100644 --- a/plugin/trino-geospatial/src/test/java/io/trino/plugin/geospatial/TestSpatialPartitioningInternalAggregation.java +++ b/plugin/trino-geospatial/src/test/java/io/trino/plugin/geospatial/TestSpatialPartitioningInternalAggregation.java @@ -127,7 +127,7 @@ private List makeGeometries() private Block makeGeometryBlock(List geometries) { - BlockBuilder builder = GEOMETRY.createBlockBuilder(null, geometries.size()); + BlockBuilder builder = GEOMETRY.createBlockBuilder(geometries.size()); for (OGCGeometry geometry : geometries) { GEOMETRY.writeSlice(builder, serialize(geometry)); } diff --git a/plugin/trino-geospatial/src/test/java/io/trino/plugin/geospatial/TestSphericalGeoFunctions.java b/plugin/trino-geospatial/src/test/java/io/trino/plugin/geospatial/TestSphericalGeoFunctions.java index fe6f69de8523..a1bfb6ec3c49 100644 --- a/plugin/trino-geospatial/src/test/java/io/trino/plugin/geospatial/TestSphericalGeoFunctions.java +++ b/plugin/trino-geospatial/src/test/java/io/trino/plugin/geospatial/TestSphericalGeoFunctions.java @@ -83,7 +83,7 @@ public void testGetObjectValue() "MULTIPOLYGON (((-40.2 28.9, -37.2 28.9, -37.2 31.9, -40.2 31.9, -40.2 28.9)), ((-39.2 29.9, -38.2 29.9, -38.2 30.9, -39.2 30.9, -39.2 29.9)))", "GEOMETRYCOLLECTION (POINT (-40.2 28.9), LINESTRING (-40.2 28.9, -40.2 31.9, -37.2 31.9), POLYGON ((-40.2 28.9, -37.2 28.9, -37.2 31.9, -40.2 31.9, -40.2 28.9)))"); - BlockBuilder builder = SPHERICAL_GEOGRAPHY.createBlockBuilder(null, wktList.size()); + BlockBuilder builder = SPHERICAL_GEOGRAPHY.createBlockBuilder(wktList.size()); for (String wkt : wktList) { SPHERICAL_GEOGRAPHY.writeSlice(builder, GeoFunctions.toSphericalGeography(GeoFunctions.stGeometryFromText(utf8Slice(wkt)))); } diff --git a/plugin/trino-geospatial/src/test/java/io/trino/plugin/geospatial/aggregation/TestGeometryStateSerializer.java b/plugin/trino-geospatial/src/test/java/io/trino/plugin/geospatial/aggregation/TestGeometryStateSerializer.java index 82a8196f3fd2..db0f8f5d06d9 100644 --- a/plugin/trino-geospatial/src/test/java/io/trino/plugin/geospatial/aggregation/TestGeometryStateSerializer.java +++ b/plugin/trino-geospatial/src/test/java/io/trino/plugin/geospatial/aggregation/TestGeometryStateSerializer.java @@ -36,7 +36,7 @@ public void testSerializeDeserialize() state.setGeometry(OGCGeometry.fromText("POINT (1 2)")); - BlockBuilder builder = GeometryType.GEOMETRY.createBlockBuilder(null, 1); + BlockBuilder builder = GeometryType.GEOMETRY.createBlockBuilder(1); serializer.serialize(state, builder); Block block = builder.build(); @@ -64,7 +64,7 @@ public void testSerializeDeserializeGrouped() // Return to group 1 state.setGroupId(1); - BlockBuilder builder = GeometryType.GEOMETRY.createBlockBuilder(null, 1); + BlockBuilder builder = GeometryType.GEOMETRY.createBlockBuilder(1); serializer.serialize(state, builder); Block block = builder.build(); diff --git a/plugin/trino-hive/src/main/java/io/trino/plugin/hive/HivePageSink.java b/plugin/trino-hive/src/main/java/io/trino/plugin/hive/HivePageSink.java index 8285e1772d5b..12b81a572f2a 100644 --- a/plugin/trino-hive/src/main/java/io/trino/plugin/hive/HivePageSink.java +++ b/plugin/trino-hive/src/main/java/io/trino/plugin/hive/HivePageSink.java @@ -421,7 +421,7 @@ private Block buildBucketBlock(Page page) return null; } - IntArrayBlockBuilder bucketColumnBuilder = new IntArrayBlockBuilder(null, page.getPositionCount()); + IntArrayBlockBuilder bucketColumnBuilder = new IntArrayBlockBuilder(page.getPositionCount()); Page bucketColumnsPage = extractColumns(page, bucketColumns); for (int position = 0; position < page.getPositionCount(); position++) { int bucket = bucketFunction.getBucket(bucketColumnsPage, position); diff --git a/plugin/trino-hive/src/main/java/io/trino/plugin/hive/coercions/TypeCoercer.java b/plugin/trino-hive/src/main/java/io/trino/plugin/hive/coercions/TypeCoercer.java index 528187e6d14b..3aa2205bf4d6 100644 --- a/plugin/trino-hive/src/main/java/io/trino/plugin/hive/coercions/TypeCoercer.java +++ b/plugin/trino-hive/src/main/java/io/trino/plugin/hive/coercions/TypeCoercer.java @@ -37,7 +37,7 @@ protected TypeCoercer(F fromType, T toType) @Override public Block apply(Block block) { - BlockBuilder blockBuilder = toType.createBlockBuilder(null, block.getPositionCount()); + BlockBuilder blockBuilder = toType.createBlockBuilder(block.getPositionCount()); for (int i = 0; i < block.getPositionCount(); i++) { if (block.isNull(i)) { blockBuilder.appendNull(); diff --git a/plugin/trino-hive/src/test/java/io/trino/plugin/hive/TestHiveFileFormats.java b/plugin/trino-hive/src/test/java/io/trino/plugin/hive/TestHiveFileFormats.java index 95d95365b225..019188598950 100644 --- a/plugin/trino-hive/src/test/java/io/trino/plugin/hive/TestHiveFileFormats.java +++ b/plugin/trino-hive/src/test/java/io/trino/plugin/hive/TestHiveFileFormats.java @@ -1109,7 +1109,7 @@ else if (type instanceof DecimalType) { .isEqualTo(expectedValue); } else { - BlockBuilder builder = type.createBlockBuilder(null, 1); + BlockBuilder builder = type.createBlockBuilder(1); type.writeObject(builder, expectedValue); expectedValue = type.getObjectValue(builder.build(), 0); assertThat(actualValue) diff --git a/plugin/trino-hive/src/test/java/io/trino/plugin/hive/TestHivePageSourceProvider.java b/plugin/trino-hive/src/test/java/io/trino/plugin/hive/TestHivePageSourceProvider.java index d8cabe9874c9..d0cd4f6a2545 100644 --- a/plugin/trino-hive/src/test/java/io/trino/plugin/hive/TestHivePageSourceProvider.java +++ b/plugin/trino-hive/src/test/java/io/trino/plugin/hive/TestHivePageSourceProvider.java @@ -165,7 +165,7 @@ private static Block createProjectedColumnBlock(Block data, Type finalType, RowT return data; } - BlockBuilder builder = finalType.createBlockBuilder(null, data.getPositionCount()); + BlockBuilder builder = finalType.createBlockBuilder(data.getPositionCount()); for (int i = 0; i < data.getPositionCount(); i++) { RowType sourceType = blockType; diff --git a/plugin/trino-hive/src/test/java/io/trino/plugin/hive/util/TestHiveBucketing.java b/plugin/trino-hive/src/test/java/io/trino/plugin/hive/util/TestHiveBucketing.java index a0ad90e07c65..cc3baa92e3e3 100644 --- a/plugin/trino-hive/src/test/java/io/trino/plugin/hive/util/TestHiveBucketing.java +++ b/plugin/trino-hive/src/test/java/io/trino/plugin/hive/util/TestHiveBucketing.java @@ -311,7 +311,7 @@ private static int computeTrino(BucketingVersion bucketingVersion, List Object hiveValue = hiveValues.get(i); Type type = TESTING_TYPE_MANAGER.getType(getTypeSignature(hiveTypes.get(i))); - BlockBuilder blockBuilder = type.createBlockBuilder(null, 3); + BlockBuilder blockBuilder = type.createBlockBuilder(3); // prepend 2 nulls to make sure position is respected when HiveBucketing function blockBuilder.appendNull(); blockBuilder.appendNull(); diff --git a/plugin/trino-iceberg/src/main/java/io/trino/plugin/iceberg/PartitionTransforms.java b/plugin/trino-iceberg/src/main/java/io/trino/plugin/iceberg/PartitionTransforms.java index 4dc1dbfc3422..5c7da29c94a7 100644 --- a/plugin/trino-iceberg/src/main/java/io/trino/plugin/iceberg/PartitionTransforms.java +++ b/plugin/trino-iceberg/src/main/java/io/trino/plugin/iceberg/PartitionTransforms.java @@ -710,7 +710,7 @@ private static ColumnTransform truncateVarchar(int width) private static Block truncateVarchar(Block block, int width) { - BlockBuilder builder = VARCHAR.createBlockBuilder(null, block.getPositionCount()); + BlockBuilder builder = VARCHAR.createBlockBuilder(block.getPositionCount()); for (int position = 0; position < block.getPositionCount(); position++) { if (block.isNull(position)) { builder.appendNull(); @@ -752,7 +752,7 @@ private static ColumnTransform truncateVarbinary(int width) private static Block truncateVarbinary(Block block, int width) { - BlockBuilder builder = VARBINARY.createBlockBuilder(null, block.getPositionCount()); + BlockBuilder builder = VARBINARY.createBlockBuilder(block.getPositionCount()); for (int position = 0; position < block.getPositionCount(); position++) { if (block.isNull(position)) { builder.appendNull(); diff --git a/plugin/trino-iceberg/src/test/java/io/trino/plugin/iceberg/TestIcebergBucketing.java b/plugin/trino-iceberg/src/test/java/io/trino/plugin/iceberg/TestIcebergBucketing.java index 1697b2ffdbff..edb3d723ac98 100644 --- a/plugin/trino-iceberg/src/test/java/io/trino/plugin/iceberg/TestIcebergBucketing.java +++ b/plugin/trino-iceberg/src/test/java/io/trino/plugin/iceberg/TestIcebergBucketing.java @@ -274,7 +274,7 @@ private Integer computeTrinoBucket(Type icebergType, Object icebergValue, int bu ColumnTransform transform = PartitionTransforms.bucket(trinoType, bucketCount); Function blockTransform = transform.blockTransform(); - BlockBuilder blockBuilder = trinoType.createBlockBuilder(null, 1); + BlockBuilder blockBuilder = trinoType.createBlockBuilder(1); Object trinoValue = toTrinoValue(icebergType, icebergValue); verify(trinoValue == null || Primitives.wrap(trinoType.getJavaType()).isInstance(trinoValue), "Unexpected value for %s: %s", trinoType, trinoValue != null ? trinoValue.getClass() : null); diff --git a/plugin/trino-iceberg/src/test/java/io/trino/plugin/iceberg/TestIcebergNodeLocalDynamicSplitPruning.java b/plugin/trino-iceberg/src/test/java/io/trino/plugin/iceberg/TestIcebergNodeLocalDynamicSplitPruning.java index fece57c8d4cc..064cf454118e 100644 --- a/plugin/trino-iceberg/src/test/java/io/trino/plugin/iceberg/TestIcebergNodeLocalDynamicSplitPruning.java +++ b/plugin/trino-iceberg/src/test/java/io/trino/plugin/iceberg/TestIcebergNodeLocalDynamicSplitPruning.java @@ -131,7 +131,7 @@ public void testDynamicSplitPruningOnUnpartitionedTable() new OrcWriterStats())) { BlockBuilder keyBuilder = INTEGER.createFixedSizeBlockBuilder(1); INTEGER.writeLong(keyBuilder, keyColumnValue); - BlockBuilder dataBuilder = VARCHAR.createBlockBuilder(null, 1); + BlockBuilder dataBuilder = VARCHAR.createBlockBuilder(1); VARCHAR.writeString(dataBuilder, dataColumnValue); writer.write(new Page(keyBuilder.build(), dataBuilder.build())); } @@ -300,7 +300,7 @@ public void testDynamicSplitPruningWithExplicitPartitionFilter() new OrcWriterStats())) { BlockBuilder dateBuilder = DATE.createFixedSizeBlockBuilder(1); DATE.writeLong(dateBuilder, dateColumnValue); - BlockBuilder receiptBuilder = VARCHAR.createBlockBuilder(null, 1); + BlockBuilder receiptBuilder = VARCHAR.createBlockBuilder(1); VARCHAR.writeString(receiptBuilder, receiptColumnValue); BlockBuilder amountBuilder = amountColumnType.createFixedSizeBlockBuilder(1); writeShortDecimal(amountBuilder, amountColumnValue.unscaledValue().longValueExact()); @@ -452,7 +452,7 @@ public void testDynamicSplitPruningWithExplicitPartitionFilterPartitionEvolution INTEGER.writeLong(yearBuilder, yearColumnValue); BlockBuilder monthBuilder = INTEGER.createFixedSizeBlockBuilder(1); INTEGER.writeLong(monthBuilder, monthColumnValue); - BlockBuilder receiptBuilder = VARCHAR.createBlockBuilder(null, 1); + BlockBuilder receiptBuilder = VARCHAR.createBlockBuilder(1); VARCHAR.writeString(receiptBuilder, receiptColumnValue); BlockBuilder amountBuilder = amountColumnType.createFixedSizeBlockBuilder(1); writeShortDecimal(amountBuilder, amountColumnValue.unscaledValue().longValueExact()); diff --git a/plugin/trino-kafka/src/test/java/io/trino/plugin/kafka/encoder/raw/TestRawEncoderMapping.java b/plugin/trino-kafka/src/test/java/io/trino/plugin/kafka/encoder/raw/TestRawEncoderMapping.java index 19751718c3c6..38b1fb2d1247 100644 --- a/plugin/trino-kafka/src/test/java/io/trino/plugin/kafka/encoder/raw/TestRawEncoderMapping.java +++ b/plugin/trino-kafka/src/test/java/io/trino/plugin/kafka/encoder/raw/TestRawEncoderMapping.java @@ -62,11 +62,11 @@ public void testMapping() buf.put("abcdef".getBytes(StandardCharsets.UTF_8)); // 36-42 buf.put("abcdef".getBytes(StandardCharsets.UTF_8)); // 42-48 - LongArrayBlockBuilder longArrayBlockBuilder = new LongArrayBlockBuilder(null, 1); + LongArrayBlockBuilder longArrayBlockBuilder = new LongArrayBlockBuilder(1); BIGINT.writeLong(longArrayBlockBuilder, 123456789); Block longArrayBlock = longArrayBlockBuilder.build(); - Block varArrayBlock = new VariableWidthBlockBuilder(null, 1, 6) + Block varArrayBlock = new VariableWidthBlockBuilder(1, 6) .writeEntry(Slices.wrappedBuffer("abcdef".getBytes(StandardCharsets.UTF_8)), 0, 6) .build(); diff --git a/plugin/trino-kafka/src/test/java/io/trino/plugin/kafka/protobuf/TestProtobufEncoder.java b/plugin/trino-kafka/src/test/java/io/trino/plugin/kafka/protobuf/TestProtobufEncoder.java index bb3405bbba1a..3e4769d753fd 100644 --- a/plugin/trino-kafka/src/test/java/io/trino/plugin/kafka/protobuf/TestProtobufEncoder.java +++ b/plugin/trino-kafka/src/test/java/io/trino/plugin/kafka/protobuf/TestProtobufEncoder.java @@ -251,12 +251,12 @@ private void testStructuralDataTypes(String stringData, Integer integerData, Lon RowEncoder rowEncoder = createRowEncoder("structural_datatypes.proto", columnHandles.subList(0, 3)); ArrayBlockBuilder arrayBlockBuilder = (ArrayBlockBuilder) columnHandles.get(0).getType() - .createBlockBuilder(null, 1); + .createBlockBuilder(1); arrayBlockBuilder.buildEntry(elementBuilder -> writeNativeValue(createVarcharType(5), elementBuilder, utf8Slice(stringData))); rowEncoder.appendColumnValue(arrayBlockBuilder.build(), 0); MapBlockBuilder mapBlockBuilder = (MapBlockBuilder) columnHandles.get(1).getType() - .createBlockBuilder(null, 1); + .createBlockBuilder(1); mapBlockBuilder.buildEntry((keyBuilder, valueBuilder) -> { writeNativeValue(VARCHAR, keyBuilder, utf8Slice("Key")); writeNativeValue(VARCHAR, valueBuilder, utf8Slice("Value")); @@ -264,7 +264,7 @@ private void testStructuralDataTypes(String stringData, Integer integerData, Lon rowEncoder.appendColumnValue(mapBlockBuilder.build(), 0); RowBlockBuilder rowBlockBuilder = (RowBlockBuilder) columnHandles.get(2).getType() - .createBlockBuilder(null, 1); + .createBlockBuilder(1); rowBlockBuilder.buildEntry(fieldBuilders -> { writeNativeValue(VARCHAR, fieldBuilders.get(0), utf8Slice(stringData)); writeNativeValue(INTEGER, fieldBuilders.get(1), integerData.longValue()); @@ -377,7 +377,7 @@ private void testNestedStructuralDataTypes(String stringData, Integer integerDat RowEncoder rowEncoder = createRowEncoder("structural_datatypes.proto", columnHandles); - RowBlockBuilder rowBlockBuilder = rowType.createBlockBuilder(null, 1); + RowBlockBuilder rowBlockBuilder = rowType.createBlockBuilder(1); rowBlockBuilder.buildEntry(fieldBuilders -> { writeNativeValue(VARCHAR, fieldBuilders.get(0), Slices.utf8Slice(stringData)); writeNativeValue(INTEGER, fieldBuilders.get(1), integerData.longValue()); @@ -393,7 +393,7 @@ private void testNestedStructuralDataTypes(String stringData, Integer integerDat RowType nestedRowType = (RowType) columnHandles.get(0).getType(); MapType mapType = (MapType) nestedRowType.getTypeParameters().get(1); - BlockBuilder mapBlockBuilder = mapType.createBlockBuilder(null, 1); + BlockBuilder mapBlockBuilder = mapType.createBlockBuilder(1); Block mapBlock = mapType.createBlockFromKeyValue( Optional.empty(), new int[] {0, 1}, @@ -402,7 +402,7 @@ private void testNestedStructuralDataTypes(String stringData, Integer integerDat mapBlockBuilder.append(mapBlock.getUnderlyingValueBlock(), mapBlock.getUnderlyingValuePosition(0)); Type listType = nestedRowType.getTypeParameters().get(0); - BlockBuilder listBlockBuilder = listType.createBlockBuilder(null, 1); + BlockBuilder listBlockBuilder = listType.createBlockBuilder(1); Block arrayBlock = fromElementBlock( 1, Optional.empty(), @@ -410,7 +410,7 @@ private void testNestedStructuralDataTypes(String stringData, Integer integerDat rowBlockBuilder.build()); listBlockBuilder.append(arrayBlock.getUnderlyingValueBlock(), arrayBlock.getUnderlyingValuePosition(0)); - BlockBuilder nestedBlockBuilder = nestedRowType.createBlockBuilder(null, 1); + BlockBuilder nestedBlockBuilder = nestedRowType.createBlockBuilder(1); Block rowBlock = fromFieldBlocks(1, new Block[] {listBlockBuilder.build(), mapBlockBuilder.build(), rowBlockBuilder.build()}); nestedBlockBuilder.append(rowBlock.getUnderlyingValueBlock(), rowBlock.getUnderlyingValuePosition(0)); diff --git a/plugin/trino-ml/src/test/java/io/trino/plugin/ml/TestEvaluateClassifierPredictions.java b/plugin/trino-ml/src/test/java/io/trino/plugin/ml/TestEvaluateClassifierPredictions.java index fbe1514cd1c5..a96d27dcb607 100644 --- a/plugin/trino-ml/src/test/java/io/trino/plugin/ml/TestEvaluateClassifierPredictions.java +++ b/plugin/trino-ml/src/test/java/io/trino/plugin/ml/TestEvaluateClassifierPredictions.java @@ -44,7 +44,7 @@ public void testEvaluateClassifierPredictions() TestingAggregationFunction aggregation = functionResolution.getAggregateFunction("evaluate_classifier_predictions", fromTypes(BIGINT, BIGINT)); Aggregator aggregator = aggregation.createAggregatorFactory(SINGLE, ImmutableList.of(0, 1), OptionalInt.empty()).createAggregator(new AggregationMetrics()); aggregator.processPage(getPage()); - BlockBuilder finalOut = VARCHAR.createBlockBuilder(null, 1); + BlockBuilder finalOut = VARCHAR.createBlockBuilder(1); aggregator.evaluate(finalOut); Block block = finalOut.build(); diff --git a/plugin/trino-ml/src/test/java/io/trino/plugin/ml/TestLearnAggregations.java b/plugin/trino-ml/src/test/java/io/trino/plugin/ml/TestLearnAggregations.java index 24d70865c584..d191c7e69be2 100644 --- a/plugin/trino-ml/src/test/java/io/trino/plugin/ml/TestLearnAggregations.java +++ b/plugin/trino-ml/src/test/java/io/trino/plugin/ml/TestLearnAggregations.java @@ -85,7 +85,7 @@ public void testLearnLibSvm() private static void assertLearnClassifier(Aggregator aggregator) { aggregator.processPage(getPage()); - BlockBuilder finalOut = aggregator.getType().createBlockBuilder(null, 1); + BlockBuilder finalOut = aggregator.getType().createBlockBuilder(1); aggregator.evaluate(finalOut); Block block = finalOut.build(); Slice slice = aggregator.getType().getSlice(block, 0); diff --git a/plugin/trino-opensearch/src/main/java/io/trino/plugin/opensearch/NodesSystemTable.java b/plugin/trino-opensearch/src/main/java/io/trino/plugin/opensearch/NodesSystemTable.java index 14fe32eaab72..52cdd3de62f9 100644 --- a/plugin/trino-opensearch/src/main/java/io/trino/plugin/opensearch/NodesSystemTable.java +++ b/plugin/trino-opensearch/src/main/java/io/trino/plugin/opensearch/NodesSystemTable.java @@ -75,10 +75,10 @@ public ConnectorPageSource pageSource(ConnectorTransactionHandle transaction, Co { Set nodes = client.getNodes(); - BlockBuilder nodeId = VARCHAR.createBlockBuilder(null, nodes.size()); - BlockBuilder trinoAddress = VARCHAR.createBlockBuilder(null, nodes.size()); - BlockBuilder opensearchNodeId = VARCHAR.createBlockBuilder(null, nodes.size()); - BlockBuilder opensearchAddress = VARCHAR.createBlockBuilder(null, nodes.size()); + BlockBuilder nodeId = VARCHAR.createBlockBuilder(nodes.size()); + BlockBuilder trinoAddress = VARCHAR.createBlockBuilder(nodes.size()); + BlockBuilder opensearchNodeId = VARCHAR.createBlockBuilder(nodes.size()); + BlockBuilder opensearchAddress = VARCHAR.createBlockBuilder(nodes.size()); for (OpenSearchNode node : nodes) { VARCHAR.writeString(nodeId, currentNode.getNodeIdentifier()); diff --git a/plugin/trino-opensearch/src/main/java/io/trino/plugin/opensearch/PassthroughQueryPageSource.java b/plugin/trino-opensearch/src/main/java/io/trino/plugin/opensearch/PassthroughQueryPageSource.java index 7eb951bda41b..ef8a42293198 100644 --- a/plugin/trino-opensearch/src/main/java/io/trino/plugin/opensearch/PassthroughQueryPageSource.java +++ b/plugin/trino-opensearch/src/main/java/io/trino/plugin/opensearch/PassthroughQueryPageSource.java @@ -70,7 +70,7 @@ public SourcePage getNextSourcePage() done = true; Slice slice = Slices.utf8Slice(result); - BlockBuilder column = VARCHAR.createBlockBuilder(null, 1, result.length()); + BlockBuilder column = VARCHAR.createBlockBuilder(1, result.length()); VARCHAR.writeSlice(column, slice); return SourcePage.create(column.build()); } diff --git a/plugin/trino-opensearch/src/main/java/io/trino/plugin/opensearch/ScanQueryPageSource.java b/plugin/trino-opensearch/src/main/java/io/trino/plugin/opensearch/ScanQueryPageSource.java index d240f121ce79..ebf606917bda 100644 --- a/plugin/trino-opensearch/src/main/java/io/trino/plugin/opensearch/ScanQueryPageSource.java +++ b/plugin/trino-opensearch/src/main/java/io/trino/plugin/opensearch/ScanQueryPageSource.java @@ -90,7 +90,7 @@ public ScanQueryPageSource( columnBuilders = columns.stream() .map(OpenSearchColumnHandle::type) - .map(type -> type.createBlockBuilder(null, 1)) + .map(type -> type.createBlockBuilder(1)) .toArray(BlockBuilder[]::new); List requiredFields = columns.stream() @@ -184,7 +184,7 @@ public SourcePage getNextSourcePage() Block[] blocks = new Block[columnBuilders.length]; for (int i = 0; i < columnBuilders.length; i++) { blocks[i] = columnBuilders[i].build(); - columnBuilders[i] = columnBuilders[i].newBlockBuilderLike(null); + columnBuilders[i] = columnBuilders[i].newBlockBuilderLike(); } return SourcePage.create(new Page(blocks)); diff --git a/plugin/trino-pinot/src/main/java/io/trino/plugin/pinot/PinotBrokerPageSource.java b/plugin/trino-pinot/src/main/java/io/trino/plugin/pinot/PinotBrokerPageSource.java index e7c688898488..e123b78fd4e7 100644 --- a/plugin/trino-pinot/src/main/java/io/trino/plugin/pinot/PinotBrokerPageSource.java +++ b/plugin/trino-pinot/src/main/java/io/trino/plugin/pinot/PinotBrokerPageSource.java @@ -64,7 +64,7 @@ public PinotBrokerPageSource( this.columnBuilders = columnHandles.stream() .map(PinotColumnHandle::getDataType) - .map(type -> type.createBlockBuilder(null, 1)) + .map(type -> type.createBlockBuilder(1)) .toArray(BlockBuilder[]::new); long start = System.nanoTime(); resultIterator = pinotClient.createResultIterator(session, query, columnHandles); @@ -131,7 +131,7 @@ public SourcePage getNextSourcePage() Block[] blocks = new Block[columnBuilders.length]; for (int i = 0; i < columnBuilders.length; i++) { blocks[i] = columnBuilders[i].build(); - columnBuilders[i] = columnBuilders[i].newBlockBuilderLike(null); + columnBuilders[i] = columnBuilders[i].newBlockBuilderLike(); } if (decoders.isEmpty()) { return SourcePage.create(rowCount); diff --git a/plugin/trino-pinot/src/main/java/io/trino/plugin/pinot/PinotSegmentPageSource.java b/plugin/trino-pinot/src/main/java/io/trino/plugin/pinot/PinotSegmentPageSource.java index d372bd39991c..5a8fda76a8fc 100755 --- a/plugin/trino-pinot/src/main/java/io/trino/plugin/pinot/PinotSegmentPageSource.java +++ b/plugin/trino-pinot/src/main/java/io/trino/plugin/pinot/PinotSegmentPageSource.java @@ -306,35 +306,35 @@ private Block getArrayBlock(int rowIndex, int columnIndex) switch (columnType) { case INT_ARRAY: int[] intArray = currentDataTable.dataTable().getIntArray(rowIndex, columnIndex); - blockBuilder = elementType.createBlockBuilder(null, intArray.length); + blockBuilder = elementType.createBlockBuilder(intArray.length); for (int element : intArray) { INTEGER.writeInt(blockBuilder, element); } break; case LONG_ARRAY: long[] longArray = currentDataTable.dataTable().getLongArray(rowIndex, columnIndex); - blockBuilder = elementType.createBlockBuilder(null, longArray.length); + blockBuilder = elementType.createBlockBuilder(longArray.length); for (long element : longArray) { BIGINT.writeLong(blockBuilder, element); } break; case FLOAT_ARRAY: float[] floatArray = currentDataTable.dataTable().getFloatArray(rowIndex, columnIndex); - blockBuilder = elementType.createBlockBuilder(null, floatArray.length); + blockBuilder = elementType.createBlockBuilder(floatArray.length); for (float element : floatArray) { REAL.writeFloat(blockBuilder, element); } break; case DOUBLE_ARRAY: double[] doubleArray = currentDataTable.dataTable().getDoubleArray(rowIndex, columnIndex); - blockBuilder = elementType.createBlockBuilder(null, doubleArray.length); + blockBuilder = elementType.createBlockBuilder(doubleArray.length); for (double element : doubleArray) { elementType.writeDouble(blockBuilder, element); } break; case STRING_ARRAY: String[] stringArray = currentDataTable.dataTable().getStringArray(rowIndex, columnIndex); - blockBuilder = elementType.createBlockBuilder(null, stringArray.length); + blockBuilder = elementType.createBlockBuilder(stringArray.length); for (String element : stringArray) { Slice slice = getUtf8Slice(element); elementType.writeSlice(blockBuilder, slice, 0, slice.length()); diff --git a/plugin/trino-pinot/src/main/java/io/trino/plugin/pinot/decoders/ArrayDecoder.java b/plugin/trino-pinot/src/main/java/io/trino/plugin/pinot/decoders/ArrayDecoder.java index 1bffd85e335f..fa26b0501521 100644 --- a/plugin/trino-pinot/src/main/java/io/trino/plugin/pinot/decoders/ArrayDecoder.java +++ b/plugin/trino-pinot/src/main/java/io/trino/plugin/pinot/decoders/ArrayDecoder.java @@ -46,7 +46,7 @@ public void decode(Supplier getter, BlockBuilder output) output.appendNull(); } else { - BlockBuilder elementBlockBuilder = type.getElementType().createBlockBuilder(null, 1); + BlockBuilder elementBlockBuilder = type.getElementType().createBlockBuilder(1); for (int i = 0; i < value.size(); i++) { int index = i; elementDecoder.decode(() -> value.get(index), elementBlockBuilder); diff --git a/plugin/trino-postgresql/src/main/java/io/trino/plugin/postgresql/PostgreSqlClient.java b/plugin/trino-postgresql/src/main/java/io/trino/plugin/postgresql/PostgreSqlClient.java index e320df277fbe..ac7227058b06 100644 --- a/plugin/trino-postgresql/src/main/java/io/trino/plugin/postgresql/PostgreSqlClient.java +++ b/plugin/trino-postgresql/src/main/java/io/trino/plugin/postgresql/PostgreSqlClient.java @@ -1587,8 +1587,8 @@ private ObjectReadFunction varcharMapReadFunction() return ObjectReadFunction.of(SqlMap.class, (resultSet, columnIndex) -> { @SuppressWarnings("unchecked") Map map = (Map) resultSet.getObject(columnIndex); - BlockBuilder keyBlockBuilder = varcharMapType.getKeyType().createBlockBuilder(null, map.size()); - BlockBuilder valueBlockBuilder = varcharMapType.getValueType().createBlockBuilder(null, map.size()); + BlockBuilder keyBlockBuilder = varcharMapType.getKeyType().createBlockBuilder(map.size()); + BlockBuilder valueBlockBuilder = varcharMapType.getValueType().createBlockBuilder(map.size()); for (Entry entry : map.entrySet()) { if (entry.getKey() == null) { throw new TrinoException(INVALID_FUNCTION_ARGUMENT, "hstore key is null"); @@ -1636,7 +1636,7 @@ private static ObjectReadFunction arrayReadFunction(Type elementType, ReadFuncti { return ObjectReadFunction.of(Block.class, (resultSet, columnIndex) -> { Array array = resultSet.getArray(columnIndex); - BlockBuilder builder = elementType.createBlockBuilder(null, 10); + BlockBuilder builder = elementType.createBlockBuilder(10); try (ResultSet arrayAsResultSet = array.getResultSet()) { while (arrayAsResultSet.next()) { if (elementReadFunction.isNull(arrayAsResultSet, ARRAY_RESULT_SET_VALUE_COLUMN)) { @@ -1699,7 +1699,7 @@ private static SliceReadFunction arrayAsJsonReadFunction(ColumnMapping baseEleme Block block = (Block) ((ObjectReadFunction) readFunction).readObject(resultSet, columnIndex); // convert block to JSON slice - BlockBuilder builder = type.createBlockBuilder(null, 1); + BlockBuilder builder = type.createBlockBuilder(1); type.writeObject(builder, block); Object value = type.getObjectValue(builder.build(), 0); diff --git a/plugin/trino-thrift-api/src/main/java/io/trino/plugin/thrift/api/TrinoThriftBlock.java b/plugin/trino-thrift-api/src/main/java/io/trino/plugin/thrift/api/TrinoThriftBlock.java index 52060846e4d8..1c69b1a22918 100644 --- a/plugin/trino-thrift-api/src/main/java/io/trino/plugin/thrift/api/TrinoThriftBlock.java +++ b/plugin/trino-thrift-api/src/main/java/io/trino/plugin/thrift/api/TrinoThriftBlock.java @@ -335,7 +335,7 @@ public static TrinoThriftBlock fromRecordSetColumn(RecordSet recordSet, int colu private static Block convertColumnToBlock(RecordSet recordSet, int columnIndex, int positions) { Type type = recordSet.getColumnTypes().get(columnIndex); - BlockBuilder output = type.createBlockBuilder(null, positions); + BlockBuilder output = type.createBlockBuilder(positions); Class javaType = type.getJavaType(); RecordCursor cursor = recordSet.cursor(); for (int position = 0; position < positions; position++) { diff --git a/plugin/trino-thrift-api/src/test/java/io/trino/plugin/thrift/api/TestReadWrite.java b/plugin/trino-thrift-api/src/test/java/io/trino/plugin/thrift/api/TestReadWrite.java index 110f59ddf2d3..7e7ffc68cdc1 100644 --- a/plugin/trino-thrift-api/src/test/java/io/trino/plugin/thrift/api/TestReadWrite.java +++ b/plugin/trino-thrift-api/src/test/java/io/trino/plugin/thrift/api/TestReadWrite.java @@ -180,7 +180,7 @@ private void testReadWrite(Random random, int records, Function, Tri private static Block generateColumn(ColumnDefinition column, Random random, int records) { - BlockBuilder builder = column.getType().createBlockBuilder(null, records); + BlockBuilder builder = column.getType().createBlockBuilder(records); for (int i = 0; i < records; i++) { if (random.nextDouble() < NULL_FRACTION) { builder.appendNull(); diff --git a/testing/trino-testing/src/main/java/io/trino/testing/StructuralTestUtil.java b/testing/trino-testing/src/main/java/io/trino/testing/StructuralTestUtil.java index 9903d63f57f6..89e84a4bd1d3 100644 --- a/testing/trino-testing/src/main/java/io/trino/testing/StructuralTestUtil.java +++ b/testing/trino-testing/src/main/java/io/trino/testing/StructuralTestUtil.java @@ -93,7 +93,7 @@ public static boolean sqlMapEqual(Type keyType, Type valueType, SqlMap leftMap, public static Block arrayBlockOf(Type elementType, Object... values) { - BlockBuilder blockBuilder = elementType.createBlockBuilder(null, 1024); + BlockBuilder blockBuilder = elementType.createBlockBuilder(1024); for (Object value : values) { appendToBlockBuilder(elementType, value, blockBuilder); }