@Override public boolean next() { if(index + 1 < repeatedHolder.end) { index++; repeatedHolder.vector.getAccessor().get(repeatedHolder.start + index, holder); return true; } else { return false; } }
public TransferImpl(MaterializedField field, BufferAllocator allocator) { to = new IntervalYearVector(field, allocator); }
/** * Allocate a new buffer that supports setting at least the provided number of * values. May actually be sized bigger depending on underlying buffer * rounding size. Must be called prior to using the ValueVector. * * Note that the maximum number of values a vector can allocate is * Integer.MAX_VALUE / value width. * * @param valueCount * @throws OutOfMemoryException * if it can't allocate the new buffer */ @Override public void allocateNew(final int valueCount) { allocateBytes(valueCount * VALUE_WIDTH); }
public void copyFromSafe(int fromIndex, int thisIndex, IntervalYearVector from) { while(thisIndex >= getValueCapacity()) { reAlloc(); } copyFrom(fromIndex, thisIndex, from); }
public void fromNotNullable(IntervalYearVector srce) { clear(); final int valueCount = srce.getAccessor().getValueCount(); // Create a new bits vector, all values non-null fillBitsVector(getBitsVector(), valueCount); // Swap the data portion getValuesVector().exchange(srce); setValueCount(valueCount); } }
@Override public void copyValueSafe(int fromIndex, int toIndex) { to.copyFromSafe(fromIndex, toIndex, IntervalYearVector.this); } }
@Override public void clear() { vector.clear(); }
@Override public void allocate() { vector.allocateNew(); }
@Override public void allocateNew() { if (!allocateNewSafe()) { throw new OutOfMemoryException("Failure while allocating buffer."); } }
@Override public void close() { vector.close(); }
@Override public void collectLedgers(Set<BufferLedger> ledgers) { bits.collectLedgers(ledgers); values.collectLedgers(ledgers); }
public void copyFromSafe(int fromIndex, int thisIndex, IntervalYearVector from) { while(thisIndex >= getValueCapacity()) { reAlloc(); } copyFrom(fromIndex, thisIndex, from); }
public void fromNotNullable(IntervalYearVector srce) { clear(); final int valueCount = srce.getAccessor().getValueCount(); // Create a new bits vector, all values non-null fillBitsVector(getBitsVector(), valueCount); // Swap the data portion getValuesVector().exchange(srce); setValueCount(valueCount); } }
@Override public void copyEntry(int toIndex, ValueVector from, int fromIndex) { copyFromSafe(fromIndex, toIndex, (IntervalYearVector) from); }
@Override public void allocateNew() { try { offsets.allocateNew(); values.allocateNew(); } catch (OutOfMemoryException e) { clear(); throw e; } offsets.zeroVector(); mutator.reset(); }
@Override public boolean allocateNewSafe() { /* boolean to keep track if all the memory allocations were successful. * Used in the case of composite vectors when we need to allocate multiple * buffers for multiple vectors. If one of the allocations failed we need to * clear all the memory that we allocated. */ boolean success = false; try { if(!offsets.allocateNewSafe()) return false; if(!values.allocateNewSafe()) return false; success = true; } finally { if (!success) { clear(); } } offsets.zeroVector(); mutator.reset(); return true; }
@Override public void close() { bits.close(); values.close(); super.close(); }
@Override public void collectLedgers(Set<BufferLedger> ledgers) { bits.collectLedgers(ledgers); values.collectLedgers(ledgers); }
@Override public Period readPeriod(int index){ repeatedHolder.vector.getAccessor().get(repeatedHolder.start + index, holder); Period value = readPeriod(); if (this.index > -1) { repeatedHolder.vector.getAccessor().get(repeatedHolder.start + this.index, holder); } return value; }