public void stringColumn(Column column) { string = reader.getString(column); }
public String getString(Column column) { // TODO check type? return getString(column.getIndex()); }
public void stringColumn(Column column) { if (!pageReader.isNull(column)) { record.add(pageReader.getString(column)); } }
@Override public void stringColumn(Column column) { if (record.isNull(column)) { visit(column, null); } else { visit(column, record.getString(column)); } }
@Override public void stringColumn(Column inputColumn) { int index = indexMapping[inputColumn.getIndex()]; if (index >= 0) { if (pageReader.isNull(inputColumn)) { pageBuilder.setNull(index); } else { pageBuilder.setString(index, pageReader.getString(inputColumn)); } } }
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(); }
@Override public void stringColumn(Column outputColumn) { Column inputColumn = outputInputColumnMap.get(outputColumn); if (inputColumn == null || pageReader.isNull(inputColumn)) { String defaultValue = (String) outputDefaultMap.get(outputColumn); if (defaultValue == null) { pageBuilder.setNull(outputColumn); } else { pageBuilder.setString(outputColumn, defaultValue); } } else { pageBuilder.setString(outputColumn, pageReader.getString(inputColumn)); } }