@Override public FieldReader reader() { return data.getReader(); }
@Override public FieldReader reader() { return data.getReader(); }
@Override public boolean next() { if (currentOffset + 1 < maxOffset) { data.getReader().setPosition(++currentOffset); return true; } else { return false; } }
@Override public boolean next() { if (currentOffset < listSize) { data.getReader().setPosition(idx() * listSize + currentOffset++); return true; } else { return false; } }
@Override public void setPosition(int index) { super.setPosition(index); data.getReader().setPosition(index * listSize); currentOffset = 0; }
@Override public FieldReader reader(String name) { FieldReader reader = fields.get(name); if (reader == null) { ValueVector child = vector.getChild(name); if (child == null) { reader = NullReader.INSTANCE; } else { reader = child.getReader(); } fields.put(name, reader); reader.setPosition(idx()); } return reader; }
public void getFieldById(int fieldId, ComplexHolder holder) { final ValueVector vv = vectors[fieldId]; if (vv instanceof BaseValueVector) { holder.isSet =vv.isNull(currentIndex) ? 1 : 0; } else { holder.isSet = vv.isNull(currentIndex) ? 1 : 0; } holder.reader = vv.getReader(); holder.reader.setPosition(currentIndex); }
@Override public void read(int index, UnionHolder holder) { setPosition(idx()); for (int i = -1; i < index; i++) { if (!next()) { throw new IndexOutOfBoundsException("Requested " + index + ", size " + listSize); } } holder.reader = data.getReader(); holder.isSet = vector.isNull(idx()) ? 0 : 1; }
private void initFieldWriters() throws IOException { fieldConverters = Lists.newArrayList(); try { int fieldId = 0; for (VectorWrapper w : batch) { if (w.getField().getName().equalsIgnoreCase(WriterPrel.PARTITION_COMPARATOR_FIELD)) { continue; } FieldReader reader = w.getValueVector().getReader(); FieldConverter converter = getConverter(recordWriter, fieldId, w.getField().getName(), w.getValueVector().getMinorType(), reader); if (converter != null) { fieldId++; fieldConverters.add(converter); } } } catch(Exception e) { logger.error("Failed to create FieldWriter.", e); throw new IOException("Failed to initialize FieldWriters.", e); } }