@Override public BlockBuilder createFixedSizeBlockBuilder(int positionCount) { return new ByteArrayBlockBuilder(null, positionCount); }
@Override public BlockBuilder createFixedSizeBlockBuilder(int positionCount) { return new ByteArrayBlockBuilder(null, positionCount); }
@Override public BlockBuilder newBlockBuilderLike(BlockBuilderStatus blockBuilderStatus) { return new ByteArrayBlockBuilder(blockBuilderStatus, calculateBlockResetSize(positionCount)); }
@Override public BlockBuilder createBlockBuilder(BlockBuilderStatus blockBuilderStatus, int expectedEntries, int expectedBytesPerEntry) { int maxBlockSizeInBytes; if (blockBuilderStatus == null) { maxBlockSizeInBytes = PageBuilderStatus.DEFAULT_MAX_PAGE_SIZE_IN_BYTES; } else { maxBlockSizeInBytes = blockBuilderStatus.getMaxPageSizeInBytes(); } return new ByteArrayBlockBuilder( blockBuilderStatus, Math.min(expectedEntries, maxBlockSizeInBytes / Byte.BYTES)); }
@Override public BlockBuilder createBlockBuilder(BlockBuilderStatus blockBuilderStatus, int expectedEntries, int expectedBytesPerEntry) { int maxBlockSizeInBytes; if (blockBuilderStatus == null) { maxBlockSizeInBytes = PageBuilderStatus.DEFAULT_MAX_PAGE_SIZE_IN_BYTES; } else { maxBlockSizeInBytes = blockBuilderStatus.getMaxPageSizeInBytes(); } return new ByteArrayBlockBuilder( blockBuilderStatus, Math.min(expectedEntries, maxBlockSizeInBytes / Byte.BYTES)); }
private static BlockBuilder createBlockBuilderWithValues(Slice[] expectedValues) { ByteArrayBlockBuilder blockBuilder = new ByteArrayBlockBuilder(null, expectedValues.length); writeValues(expectedValues, blockBuilder); return blockBuilder; }
@Test public void testBuildingFromByteArrayBlockBuilder() { ByteArrayBlockBuilder blockBuilder = new ByteArrayBlockBuilder(null, 100); populateNullValues(blockBuilder, 100); assertEquals(blockBuilder.build().getEncodingName(), RunLengthBlockEncoding.NAME); }
@Test public void testByteArrayBlock() { BlockBuilder blockBuilder = new ByteArrayBlockBuilder(null, EXPECTED_ENTRIES); for (int i = 0; i < EXPECTED_ENTRIES; i++) { blockBuilder.writeByte(i); } checkRetainedSize(blockBuilder.build(), false); }
@Test public void testLazyBlockBuilderInitialization() { Slice[] expectedValues = createTestValue(100); BlockBuilder emptyBlockBuilder = new ByteArrayBlockBuilder(null, 0); BlockBuilder blockBuilder = new ByteArrayBlockBuilder(null, expectedValues.length); assertEquals(blockBuilder.getSizeInBytes(), emptyBlockBuilder.getSizeInBytes()); assertEquals(blockBuilder.getRetainedSizeInBytes(), emptyBlockBuilder.getRetainedSizeInBytes()); writeValues(expectedValues, blockBuilder); assertTrue(blockBuilder.getSizeInBytes() > emptyBlockBuilder.getSizeInBytes()); assertTrue(blockBuilder.getRetainedSizeInBytes() > emptyBlockBuilder.getRetainedSizeInBytes()); blockBuilder = blockBuilder.newBlockBuilderLike(null); assertEquals(blockBuilder.getSizeInBytes(), emptyBlockBuilder.getSizeInBytes()); assertEquals(blockBuilder.getRetainedSizeInBytes(), emptyBlockBuilder.getRetainedSizeInBytes()); }
@Override public BlockBuilder createFixedSizeBlockBuilder(int positionCount) { return new ByteArrayBlockBuilder(null, positionCount); }
@Override public BlockBuilder createFixedSizeBlockBuilder(int positionCount) { return new ByteArrayBlockBuilder(null, positionCount); }
@Override public BlockBuilder newBlockBuilderLike(BlockBuilderStatus blockBuilderStatus) { return new ByteArrayBlockBuilder(blockBuilderStatus, calculateBlockResetSize(positionCount)); }
@Override public BlockBuilder createBlockBuilder(BlockBuilderStatus blockBuilderStatus, int expectedEntries, int expectedBytesPerEntry) { int maxBlockSizeInBytes; if (blockBuilderStatus == null) { maxBlockSizeInBytes = PageBuilderStatus.DEFAULT_MAX_PAGE_SIZE_IN_BYTES; } else { maxBlockSizeInBytes = blockBuilderStatus.getMaxPageSizeInBytes(); } return new ByteArrayBlockBuilder( blockBuilderStatus, Math.min(expectedEntries, maxBlockSizeInBytes / Byte.BYTES)); }
@Override public BlockBuilder createBlockBuilder(BlockBuilderStatus blockBuilderStatus, int expectedEntries, int expectedBytesPerEntry) { int maxBlockSizeInBytes; if (blockBuilderStatus == null) { maxBlockSizeInBytes = PageBuilderStatus.DEFAULT_MAX_PAGE_SIZE_IN_BYTES; } else { maxBlockSizeInBytes = blockBuilderStatus.getMaxPageSizeInBytes(); } return new ByteArrayBlockBuilder( blockBuilderStatus, Math.min(expectedEntries, maxBlockSizeInBytes / Byte.BYTES)); }