private Slice getSliceOutput() { buffer.close(); DynamicSliceOutput output = new DynamicSliceOutput(toIntExact(buffer.getOutputDataSize())); buffer.writeDataTo(output); Slice slice = output.slice(); buffer.reset(); return slice; } }
private Slice getSliceOutput() { buffer.close(); DynamicSliceOutput output = new DynamicSliceOutput(toIntExact(buffer.getOutputDataSize())); buffer.writeDataTo(output); Slice slice = output.slice(); buffer.reset(); return slice; } }
@Test public void testWriteHugeByteChucks() { int size = 1024 * 1024; byte[] largeByteArray = new byte[size]; Arrays.fill(largeByteArray, (byte) 0xA); OrcOutputBuffer sliceOutput = new OrcOutputBuffer(CompressionKind.NONE, 256 * 1024); DynamicSliceOutput output = new DynamicSliceOutput(size); sliceOutput.writeBytes(largeByteArray, 10, size - 10); assertEquals(sliceOutput.writeDataTo(output), size - 10); assertEquals(output.slice(), wrappedBuffer(largeByteArray, 10, size - 10)); sliceOutput.reset(); output.reset(); sliceOutput.writeBytes(wrappedBuffer(largeByteArray), 100, size - 100); assertEquals(sliceOutput.writeDataTo(output), size - 100); assertEquals(output.slice(), wrappedBuffer(largeByteArray, 100, size - 100)); }
@Test public void testWriteHugeByteChucks() { int size = 1024 * 1024; byte[] largeByteArray = new byte[size]; Arrays.fill(largeByteArray, (byte) 0xA); OrcOutputBuffer sliceOutput = new OrcOutputBuffer(CompressionKind.NONE, 256 * 1024); DynamicSliceOutput output = new DynamicSliceOutput(size); sliceOutput.writeBytes(largeByteArray, 10, size - 10); assertEquals(sliceOutput.writeDataTo(output), size - 10); assertEquals(output.slice(), wrappedBuffer(largeByteArray, 10, size - 10)); sliceOutput.reset(); output.reset(); sliceOutput.writeBytes(wrappedBuffer(largeByteArray), 100, size - 100); assertEquals(sliceOutput.writeDataTo(output), size - 100); assertEquals(output.slice(), wrappedBuffer(largeByteArray, 100, size - 100)); }
buffer.writeDataTo(slice); Slice batchWriteBuffer = slice.slice(); List<BooleanStreamCheckpoint> singleWriteCheckpoints = output.getCheckpoints(); slice = new DynamicSliceOutput(128); buffer.writeDataTo(slice); Slice singleWriteBuffer = slice.slice();
buffer.writeDataTo(slice); Slice batchWriteBuffer = slice.slice(); List<BooleanStreamCheckpoint> singleWriteCheckpoints = output.getCheckpoints(); slice = new DynamicSliceOutput(128); buffer.writeDataTo(slice); Slice singleWriteBuffer = slice.slice();
assertEquals(sliceOutput.writeDataTo(output), 200 + 200 + 1200 + 2000 + 2500);
assertEquals(sliceOutput.writeDataTo(output), 200 + 200 + 1200 + 2000 + 2500);