17 template<
class TARGET>
22 template<
class TARGET>
31 inMemOverflowBuffer = std::make_unique<InMemOverflowBuffer>(memoryManager);
35 uint8_t*
allocateOverflow(uint64_t size) {
return inMemOverflowBuffer->allocateSpace(size); }
39 std::unique_ptr<InMemOverflowBuffer> inMemOverflowBuffer;
47 childrenVectors[idx] = std::move(vectorToReference);
50 return childrenVectors;
53 return childrenVectors[idx];
58 std::vector<std::shared_ptr<ValueVector>> childrenVectors;
74 void setDataVector(std::shared_ptr<ValueVector> vector) { dataVector = std::move(vector); }
89 void resizeStructDataVector(
ValueVector* dataVector);
95 std::shared_ptr<ValueVector> dataVector;
101 storage::MemoryManager* memoryManager);
#define KUZU_API
Definition api.h:25
Definition auxiliary_buffer.h:98
static std::unique_ptr< AuxiliaryBuffer > getAuxiliaryBuffer(LogicalType &type, storage::MemoryManager *memoryManager)
Definition auxiliary_buffer.h:13
virtual ~AuxiliaryBuffer()=default
TARGET & cast()
Definition auxiliary_buffer.h:18
const TARGET & constCast() const
Definition auxiliary_buffer.h:23
Definition in_mem_overflow_buffer.h:33
uint64_t getSize() const
Definition auxiliary_buffer.h:80
void resize(uint64_t numValues)
ValueVector * getDataVector() const
Definition auxiliary_buffer.h:75
std::shared_ptr< ValueVector > getSharedDataVector() const
Definition auxiliary_buffer.h:76
list_entry_t addList(list_size_t listSize)
ListAuxiliaryBuffer(const LogicalType &dataVectorType, storage::MemoryManager *memoryManager)
friend class ListVector
Definition auxiliary_buffer.h:69
void resetSize()
Definition auxiliary_buffer.h:82
void setDataVector(std::shared_ptr< ValueVector > vector)
Definition auxiliary_buffer.h:74
StringAuxiliaryBuffer(storage::MemoryManager *memoryManager)
Definition auxiliary_buffer.h:30
void resetOverflowBuffer() const
Definition auxiliary_buffer.h:36
InMemOverflowBuffer * getOverflowBuffer() const
Definition auxiliary_buffer.h:34
uint8_t * allocateOverflow(uint64_t size)
Definition auxiliary_buffer.h:35
void referenceChildVector(idx_t idx, std::shared_ptr< ValueVector > vectorToReference)
Definition auxiliary_buffer.h:46
std::shared_ptr< ValueVector > getFieldVectorShared(idx_t idx) const
Definition auxiliary_buffer.h:52
StructAuxiliaryBuffer(const LogicalType &type, storage::MemoryManager *memoryManager)
const std::vector< std::shared_ptr< ValueVector > > & getFieldVectors() const
Definition auxiliary_buffer.h:49
ValueVector * getFieldVectorPtr(idx_t idx) const
Definition auxiliary_buffer.h:55
Definition value_vector.h:21
Definition array_utils.h:7
uint32_t idx_t
Definition types.h:45
uint32_t list_size_t
Definition types.h:61
TO ku_dynamic_cast(FROM *old)
Definition cast.h:11
Definition array_utils.h:7