21 template<
class TARGET>
26 template<
class TARGET>
35 inMemOverflowBuffer = std::make_unique<InMemOverflowBuffer>(memoryManager);
39 uint8_t*
allocateOverflow(uint64_t size) {
return inMemOverflowBuffer->allocateSpace(size); }
43 std::unique_ptr<InMemOverflowBuffer> inMemOverflowBuffer;
51 childrenVectors[idx] = std::move(vectorToReference);
54 return childrenVectors;
57 return childrenVectors[idx];
62 std::vector<std::shared_ptr<ValueVector>> childrenVectors;
69 std::shared_ptr<arrow::ChunkedArray> column;
85 void setDataVector(std::shared_ptr<ValueVector> vector) { dataVector = std::move(vector); }
100 void resizeStructDataVector(
ValueVector* dataVector);
106 std::shared_ptr<ValueVector> dataVector;
112 storage::MemoryManager* memoryManager);
#define KUZU_API
Definition api.h:25
Definition auxiliary_buffer.h:65
friend class ArrowColumnVector
Definition auxiliary_buffer.h:66
Definition auxiliary_buffer.h:109
static std::unique_ptr< AuxiliaryBuffer > getAuxiliaryBuffer(LogicalType &type, storage::MemoryManager *memoryManager)
Definition auxiliary_buffer.h:17
virtual ~AuxiliaryBuffer()=default
TARGET & cast()
Definition auxiliary_buffer.h:22
const TARGET & constCast() const
Definition auxiliary_buffer.h:27
Definition in_mem_overflow_buffer.h:32
Definition auxiliary_buffer.h:79
uint64_t getSize() const
Definition auxiliary_buffer.h:91
void resize(uint64_t numValues)
ValueVector * getDataVector() const
Definition auxiliary_buffer.h:86
std::shared_ptr< ValueVector > getSharedDataVector() const
Definition auxiliary_buffer.h:87
list_entry_t addList(list_size_t listSize)
ListAuxiliaryBuffer(const LogicalType &dataVectorType, storage::MemoryManager *memoryManager)
void resetSize()
Definition auxiliary_buffer.h:93
void setDataVector(std::shared_ptr< ValueVector > vector)
Definition auxiliary_buffer.h:85
Definition value_vector.h:178
Definition auxiliary_buffer.h:32
StringAuxiliaryBuffer(storage::MemoryManager *memoryManager)
Definition auxiliary_buffer.h:34
void resetOverflowBuffer() const
Definition auxiliary_buffer.h:40
InMemOverflowBuffer * getOverflowBuffer() const
Definition auxiliary_buffer.h:38
uint8_t * allocateOverflow(uint64_t size)
Definition auxiliary_buffer.h:39
Definition auxiliary_buffer.h:46
void referenceChildVector(idx_t idx, std::shared_ptr< ValueVector > vectorToReference)
Definition auxiliary_buffer.h:50
std::shared_ptr< ValueVector > getFieldVectorShared(idx_t idx) const
Definition auxiliary_buffer.h:56
StructAuxiliaryBuffer(const LogicalType &type, storage::MemoryManager *memoryManager)
const std::vector< std::shared_ptr< ValueVector > > & getFieldVectors() const
Definition auxiliary_buffer.h:53
ValueVector * getFieldVectorPtr(idx_t idx) const
Definition auxiliary_buffer.h:59
Definition value_vector.h:21
Definition auxiliary_buffer.h:7
uint32_t idx_t
Definition types.h:44
uint32_t list_size_t
Definition types.h:59
TO ku_dynamic_cast(FROM *old)
Definition cast.h:11
Definition array_utils.h:7