@Override public BlockBuilder writeBytes(Slice source, int sourceIndex, int length) { blockBuilder.writeBytes(source, sourceIndex, length); return this; }
@Override public BlockBuilder writeBytes(Slice source, int sourceIndex, int length) { if (writeToValueNext) { valueBlockBuilder.writeBytes(source, sourceIndex, length); } else { keyBlockBuilder.writeBytes(source, sourceIndex, length); } return this; }
@Override public BlockBuilder writeBytes(Slice source, int sourceIndex, int length) { checkFieldIndexToWrite(); fieldBlockBuilders[currentFieldIndexToWrite].writeBytes(source, sourceIndex, length); return this; }
@Override public void writeSlice(BlockBuilder blockBuilder, Slice value, int offset, int length) { blockBuilder.writeBytes(value, offset, length).closeEntry(); }
@Override public void writeSlice(BlockBuilder blockBuilder, Slice value, int offset, int length) { blockBuilder.writeBytes(value, offset, length).closeEntry(); }
@Override public void writeSlice(BlockBuilder blockBuilder, Slice value, int offset, int length) { blockBuilder.writeBytes(value, offset, length).closeEntry(); } }
@Override public void writeSlice(BlockBuilder blockBuilder, Slice value, int offset, int length) { blockBuilder.writeBytes(value, offset, length).closeEntry(); }
@Override public void writeSlice(BlockBuilder blockBuilder, Slice value, int offset, int length) { blockBuilder.writeBytes(value, offset, length).closeEntry(); }
@Override public void writeSlice(BlockBuilder blockBuilder, Slice value, int offset, int length) { blockBuilder.writeBytes(value, offset, length).closeEntry(); }
@Override public void writeSlice(BlockBuilder blockBuilder, Slice value, int offset, int length) { blockBuilder.writeBytes(value, offset, length).closeEntry(); }
@Override public void writeSlice(BlockBuilder blockBuilder, Slice value, int offset, int length) { blockBuilder.writeBytes(value, offset, length).closeEntry(); }
@Override public void writeSlice(BlockBuilder blockBuilder, Slice value, int offset, int length) { blockBuilder.writeBytes(value, offset, length).closeEntry(); } }
@Override public void writeSlice(BlockBuilder blockBuilder, Slice value, int offset, int length) { blockBuilder.writeBytes(value, offset, length).closeEntry(); }
@Override public void writeSlice(BlockBuilder blockBuilder, Slice value, int offset, int length) { if (length > 0 && value.getByte(offset + length - 1) == ' ') { throw new IllegalArgumentException("Slice representing Char should not have trailing spaces"); } blockBuilder.writeBytes(value, offset, length).closeEntry(); }
@Override public void writeSlice(BlockBuilder blockBuilder, Slice value, int offset, int length) { if (value == null) { blockBuilder.appendNull(); return; } blockBuilder.writeBytes(value, offset, length).closeEntry(); }
@Override public void writeBytesTo(int position, int offset, int length, BlockBuilder blockBuilder) { checkReadablePosition(position); blockBuilder.writeBytes(getRawSlice(position), getPositionOffset(position) + offset, length); }
@Override public void writeBytesTo(int position, int offset, int length, BlockBuilder blockBuilder) { checkReadablePosition(position); blockBuilder.writeBytes(getRawSlice(), valueOffset(position) + offset, length); }
private static BlockBuilder writeValues(Slice[] expectedValues, BlockBuilder blockBuilder) { for (Slice expectedValue : expectedValues) { if (expectedValue == null) { blockBuilder.appendNull(); } else { blockBuilder.writeBytes(expectedValue, 0, expectedValue.length()).closeEntry(); } } return blockBuilder; } }
@Test public void testHashCode() { Slice data = Slices.wrappedBuffer(ALL_BYTES); Block block = VARBINARY.createBlockBuilder(null, 1, ALL_BYTES.length) .writeBytes(data, 0, data.length()) .closeEntry() .build(); assertEquals(VarbinaryOperators.hashCode(data), VARBINARY.hash(block, 0)); }
private static Block createSingleValueBlock(Slice expectedValue) { BlockBuilder blockBuilder = new VariableWidthBlockBuilder(null, 1, expectedValue.length()); blockBuilder.writeBytes(expectedValue, 0, expectedValue.length()).closeEntry(); return blockBuilder.build(); }