@Override final UTF8String getUTF8String(int rowId) { accessor.get(rowId, stringResult); if (stringResult.isSet == 0) { return null; } else { return UTF8String.fromAddress(null, stringResult.buffer.memoryAddress() + stringResult.start, stringResult.end - stringResult.start); } } }
@Override final UTF8String getUTF8String(int rowId) { accessor.get(rowId, stringResult); if (stringResult.isSet == 0) { return null; } else { return UTF8String.fromAddress(null, stringResult.buffer.memoryAddress() + stringResult.start, stringResult.end - stringResult.start); } } }
public static int fillAddresses(long[] addresses, int offset, FieldVector vector){ for(ArrowBuf ab : vector.getFieldBuffers()){ addresses[offset] = ab.memoryAddress(); offset++; } return offset; } }
public static long hash64(long start, long end, ArrowBuf buffer, long seed){ if (BoundsChecking.BOUNDS_CHECKING_ENABLED) { buffer.checkBytes((int)start, (int)end); } long s = buffer.memoryAddress() + start; long e = buffer.memoryAddress() + end; return hash64bytes(s, e, seed); }
/** * Start tracing the insert() operation of this table */ public void traceStart(int numRecords) { int numEntries = 6 * 2 + 1 + numRecords; traceBuf = allocator.buffer(numEntries * 4); traceBufNext = traceBuf.memoryAddress(); }
/** * Start tracing the insert() operation of this table */ public void traceStart(int numRecords) { int numEntries = 6 * 2 + 1 + numRecords; traceBuf = allocator.buffer(numEntries * 4); traceBufNext = traceBuf.memoryAddress(); }
public static void setNotNullAndZero(FieldVector vector){ List<ArrowBuf> buffers = vector.getFieldBuffers(); ArrowBuf bits = buffers.get(0); writeWordwise(bits.memoryAddress(), bits.capacity(), ON); ArrowBuf values = buffers.get(1); writeWordwise(values.memoryAddress(), values.capacity(), OFF); }
public static void setNullAndZero(FieldVector vector){ List<ArrowBuf> buffers = vector.getFieldBuffers(); ArrowBuf bits = buffers.get(0); writeWordwise(bits.memoryAddress(), bits.capacity(), OFF); ArrowBuf values = buffers.get(1); writeWordwise(values.memoryAddress(), values.capacity(), OFF); }
public static void setNullAndValue(FieldVector vector, int value){ List<ArrowBuf> buffers = vector.getFieldBuffers(); ArrowBuf bits = buffers.get(0); writeWordwise(bits.memoryAddress(), bits.capacity(), OFF); ArrowBuf values = buffers.get(1); fillInts(values.memoryAddress(), values.capacity(), value); }
public static void setNullAndValue(FieldVector vector, long value){ List<ArrowBuf> buffers = vector.getFieldBuffers(); ArrowBuf bits = buffers.get(0); writeWordwise(bits.memoryAddress(), bits.capacity(), OFF); ArrowBuf values = buffers.get(1); writeWordwise(values.memoryAddress(), values.capacity(), value); }
public static void setNotNullAndZero(FieldVector vector){ List<ArrowBuf> buffers = vector.getFieldBuffers(); ArrowBuf bits = buffers.get(0); writeWordwise(bits.memoryAddress(), bits.capacity(), ON); ArrowBuf values = buffers.get(1); writeWordwise(values.memoryAddress(), values.capacity(), OFF); }
public static void setNullAndValue(FieldVector vector, long value){ List<ArrowBuf> buffers = vector.getFieldBuffers(); ArrowBuf bits = buffers.get(0); writeWordwise(bits.memoryAddress(), bits.capacity(), OFF); ArrowBuf values = buffers.get(1); writeWordwise(values.memoryAddress(), values.capacity(), value); }
public static void setNullAndValue(FieldVector vector, int value){ List<ArrowBuf> buffers = vector.getFieldBuffers(); ArrowBuf bits = buffers.get(0); writeWordwise(bits.memoryAddress(), bits.capacity(), OFF); ArrowBuf values = buffers.get(1); fillInts(values.memoryAddress(), values.capacity(), value); }
public ArrowBuf getManagedBuffer(int size) { ArrowBuf newBuf = allocator.buffer(size, this); managedBuffers.put(newBuf.memoryAddress(), newBuf); return newBuf; } }
public static void setNullAndZero(FieldVector vector){ List<ArrowBuf> buffers = vector.getFieldBuffers(); ArrowBuf bits = buffers.get(0); writeWordwise(bits.memoryAddress(), bits.capacity(), OFF); ArrowBuf values = buffers.get(1); writeWordwise(values.memoryAddress(), values.capacity(), OFF); }
public ArrowBuf replace(ArrowBuf old, int newSize) { if (managedBuffers.remove(old.memoryAddress()) == null) { throw new IllegalStateException("Tried to remove unmanaged buffer."); } old.release(1); return getManagedBuffer(newSize); }
public ArrowBuf newLinksBuffer(int recordCount) { // Each link is 6 bytes. // First 4 bytes are used to identify the batch and remaining 2 bytes for record within the batch. final ArrowBuf linkBuf = context.getAllocator().buffer(recordCount * BUILD_RECORD_LINK_SIZE); // Initialize the buffer. Write -1 (int) in the first four bytes. long bufOffset = linkBuf.memoryAddress(); final long maxBufOffset = bufOffset + recordCount * BUILD_RECORD_LINK_SIZE; for(; bufOffset < maxBufOffset; bufOffset += BUILD_RECORD_LINK_SIZE) { PlatformDependent.putInt(bufOffset, INDEX_EMPTY); } return linkBuf; }
public static long getDate(ArrowBuf buf, int start, int end){ if (BoundsChecking.BOUNDS_CHECKING_ENABLED) { buf.checkBytes(start, end); } int[] dateFields = memGetDate(buf.memoryAddress(), start, end); return CHRONOLOGY.getDateTimeMillis(dateFields[0], dateFields[1], dateFields[2], 0); }
public ArrowBuf newLinksBuffer(int recordCount) { // Each link is 6 bytes. // First 4 bytes are used to identify the batch and remaining 2 bytes for record within the batch. final ArrowBuf linkBuf = context.getAllocator().buffer(recordCount * HashTable.BUILD_RECORD_LINK_SIZE); // Initialize the buffer. Write -1 (int) in the first four bytes. long bufOffset = linkBuf.memoryAddress(); final long maxBufOffset = bufOffset + recordCount * HashTable.BUILD_RECORD_LINK_SIZE; for(; bufOffset < maxBufOffset; bufOffset += HashTable.BUILD_RECORD_LINK_SIZE) { PlatformDependent.putInt(bufOffset, INDEX_EMPTY); } return linkBuf; }
private void resizeBuffer(int sizeInBytes) { int targetSize = Numbers.nextPowerOfTwo(sizeInBytes); final ArrowBuf oldBuf = buf; buf = allocator.buffer(targetSize); PlatformDependent.copyMemory(oldBuf.memoryAddress(), buf.memoryAddress(), oldBuf.capacity()); buf.writerIndex(oldBuf.writerIndex()); oldBuf.release(); }