public static void writePages(BlockEncodingSerde blockEncodingSerde, SliceOutput sliceOutput, Iterable<Page> pages) { writePages(blockEncodingSerde, sliceOutput, pages.iterator()); }
private static int serializedSize(List<? extends Type> types, Page expectedPage) { DynamicSliceOutput sliceOutput = new DynamicSliceOutput(1024); writePages(blockEncodingManager, sliceOutput, expectedPage); Slice slice = sliceOutput.slice(); Iterator<Page> pageIterator = readPages(blockEncodingManager, slice.getInput()); if (pageIterator.hasNext()) { assertPageEquals(types, pageIterator.next(), expectedPage); } else { assertEquals(expectedPage.getPositionCount(), 0); } assertFalse(pageIterator.hasNext()); return slice.length(); } }
List<Page> pages = ImmutableList.copyOf(readPages(blockEncodingSerde, input)); return createPagesResponse(taskInstanceId, token, nextToken, pages, complete);
@Test public void testRoundTrip() { BlockBuilder expectedBlockBuilder = VARCHAR.createBlockBuilder(new BlockBuilderStatus(), 5); VARCHAR.writeString(expectedBlockBuilder, "alice"); VARCHAR.writeString(expectedBlockBuilder, "bob"); VARCHAR.writeString(expectedBlockBuilder, "charlie"); VARCHAR.writeString(expectedBlockBuilder, "dave"); Block expectedBlock = expectedBlockBuilder.build(); Page expectedPage = new Page(expectedBlock, expectedBlock, expectedBlock); DynamicSliceOutput sliceOutput = new DynamicSliceOutput(1024); writePages(blockEncodingManager, sliceOutput, expectedPage, expectedPage, expectedPage); List<Type> types = ImmutableList.<Type>of(VARCHAR, VARCHAR, VARCHAR); Iterator<Page> pageIterator = readPages(blockEncodingManager, sliceOutput.slice().getInput()); assertPageEquals(types, pageIterator.next(), expectedPage); assertPageEquals(types, pageIterator.next(), expectedPage); assertPageEquals(types, pageIterator.next(), expectedPage); assertFalse(pageIterator.hasNext()); }
public static void writePages(BlockEncodingSerde blockEncodingSerde, SliceOutput sliceOutput, Page... pages) { writePages(blockEncodingSerde, sliceOutput, asList(pages).iterator()); }
PagesSerde.writePages(blockEncodingSerde, new OutputStreamSliceOutput(output), pages);
headers.put(PRESTO_BUFFER_COMPLETE, String.valueOf(false)); DynamicSliceOutput output = new DynamicSliceOutput(256); PagesSerde.writePages(blockEncodingSerde, output, page); return new TestingResponse(HttpStatus.OK, headers.build(), output.slice().getInput());
if (!pages.isEmpty()) { DynamicSliceOutput sliceOutput = new DynamicSliceOutput(64); PagesSerde.writePages(new BlockEncodingManager(new TypeRegistry()), sliceOutput, pages); bytes = sliceOutput.slice().getBytes(); status = HttpStatus.OK;