return nanos.loadIndeces(rowIndexEntries, updatedStartIndex);
}
@Override
public Object next(Object previous) throws IOException {
TimestampWritable result = null;
if (valuePresent) {
if (previous == null) {
result = new TimestampWritable();
} else {
result = (TimestampWritable) previous;
}
long millis = (data.next() + WriterImpl.BASE_TIMESTAMP) *
WriterImpl.MILLIS_PER_SECOND;
int newNanos = parseNanos(nanos.next());
// fix the rounding when we divided by 1000.
if (millis >= 0) {
millis += newNanos / 1000000;
} else {
millis -= newNanos / 1000000;
}
Timestamp timestamp = result.getTimestamp();
timestamp.setTime(millis);
timestamp.setNanos(newNanos);
result.set(timestamp);
}
return result;
}