public void add(Page page) { reader.setPage(page); while (reader.nextRecord()) { System.out.println(printer.printRecord(reader, ",")); } }
public static List<Object[]> toObjects(Schema schema, Iterable<Page> pages) { ImmutableList.Builder<Object[]> builder = ImmutableList.builder(); Iterator<Page> ite = pages.iterator(); try (PageReader reader = new PageReader(schema)) { while (ite.hasNext()) { reader.setPage(ite.next()); while (reader.nextRecord()) { builder.add(toObjects(reader)); } } } return builder.build(); }
public void add(Page page) { pageReader.setPage(page); while (pageReader.nextRecord()) { schema.visitColumns(new ColumnVisitor() { public void booleanColumn(Column column) {
try (final PageReader pageReader = new PageReader(schema)) { pageReader.setPage(page); while (pageReader.nextRecord()) { final List<Object> record = new ArrayList<>(); schema.visitColumns(new ColumnVisitor() {
@Override public void add(Page page) { pageReader.setPage(page); while (pageReader.nextRecord()) { pageReader.getSchema().visitColumns(new ColumnVisitor() { @Override
@Test public void testEmptySchema() { MockPageOutput output = new MockPageOutput(); this.builder = new PageBuilder(bufferAllocator, Schema.builder().build(), output); builder.addRecord(); builder.addRecord(); builder.flush(); builder.close(); this.reader = new PageReader(Schema.builder().build()); assertEquals(1, output.pages.size()); reader.setPage(output.pages.get(0)); assertTrue(reader.nextRecord()); assertTrue(reader.nextRecord()); assertFalse(reader.nextRecord()); }
private void checkPage(Schema schema, Page page, final Object... objects) { this.reader = new PageReader(schema); reader.setPage(page); int idx = 0; while (idx < objects.length && reader.nextRecord()) { for (int column = 0; column < reader.getSchema().getColumnCount(); ++column) { Object value = objects[idx++]; if (value == null) { assertEquals(true, reader.isNull(column)); } else if (value instanceof Boolean) { assertEquals(value, reader.getBoolean(column)); } else if (value instanceof Double) { assertEquals(value, reader.getDouble(column)); } else if (value instanceof Long) { assertEquals(value, reader.getLong(column)); } else if (value instanceof String) { assertEquals(value, reader.getString(column)); } else if (value instanceof Timestamp) { assertEquals(value, reader.getTimestamp(column)); } else if (value instanceof Value) { assertEquals(value, reader.getJson(column)); } else { throw new IllegalStateException( "Unsupported type in test utils: " + value.toString()); } } } }
@Test public void testDoubleWriteStringsToRow() { MockPageOutput output = new MockPageOutput(); Schema schema = Schema.builder() .add("col0", STRING) .add("col1", STRING) .add("col2", STRING) .build(); builder = new PageBuilder(bufferAllocator, schema, output); builder.setString(0, "v0"); builder.setString(1, "v1"); builder.setNull(2); builder.setString(0, "v2"); // stored to page for col0 builder.setNull(1); // null is stored to page for col1 builder.setString(2, "v3"); // stored to page for col2 builder.addRecord(); builder.finish(); builder.close(); reader = new PageReader(schema); reader.setPage(output.pages.get(0)); assertTrue(reader.nextRecord()); assertEquals(reader.getString(0), "v2"); assertTrue(reader.isNull(1)); assertEquals(reader.getString(2), "v3"); assertFalse(reader.nextRecord()); reader.close(); }
@Test public void testDoubleWriteJsonsToRow() { MockPageOutput output = new MockPageOutput(); Schema schema = Schema.builder() .add("col0", JSON) .add("col1", JSON) .add("col2", JSON) .build(); builder = new PageBuilder(bufferAllocator, schema, output); builder.setJson(0, newString("v0")); builder.setJson(1, newString("v1")); builder.setNull(2); builder.setJson(0, newString("v2")); // store to page for col0 builder.setNull(1); // null is stored to page for col1 builder.setJson(2, newString("v3")); // store to page for col2 builder.addRecord(); builder.finish(); builder.close(); reader = new PageReader(schema); reader.setPage(output.pages.get(0)); assertTrue(reader.nextRecord()); assertEquals(reader.getJson(0), newString("v2")); assertTrue(reader.isNull(1)); assertEquals(reader.getJson(2), newString("v3")); assertFalse(reader.nextRecord()); reader.close(); }
@Override public void add(Page page) { pageReader.setPage(page); while (pageReader.nextRecord()) { outputSchema.visitColumns(visitor); pageBuilder.addRecord(); } } };
private List<Object[]> filter(PluginTask task, Schema inputSchema, Object ... objects) { MockPageOutput output = new MockPageOutput(); Schema outputSchema = ColumnFilterPlugin.buildOutputSchema(task, inputSchema); PageBuilder pageBuilder = new PageBuilder(runtime.getBufferAllocator(), outputSchema, output); PageReader pageReader = new PageReader(inputSchema); ColumnVisitorImpl visitor = new ColumnVisitorImpl(task, inputSchema, outputSchema, pageReader, pageBuilder); List<Page> pages = PageTestUtils.buildPage(runtime.getBufferAllocator(), inputSchema, objects); for (Page page : pages) { pageReader.setPage(page); while (pageReader.nextRecord()) { outputSchema.visitColumns(visitor); pageBuilder.addRecord(); } } pageBuilder.finish(); pageBuilder.close(); return Pages.toObjects(outputSchema, output.pages); }