|
|
| TupleDataAllocator (BufferManager &buffer_manager, shared_ptr< TupleDataLayout > layout_ptr, MemoryTag tag, shared_ptr< ArenaAllocator > stl_allocator) |
| |
|
| TupleDataAllocator (TupleDataAllocator &allocator) |
| |
|
BufferManager & | GetBufferManager () |
| | Get the buffer manager.
|
| |
|
Allocator & | GetAllocator () |
| | Get the buffer allocator.
|
| |
|
ArenaAllocator & | GetStlAllocator () |
| | Get the STL allocator.
|
| |
|
shared_ptr< TupleDataLayout > | GetLayoutPtr () const |
| | Get the layout.
|
| |
|
const TupleDataLayout & | GetLayout () const |
| |
|
idx_t | RowBlockCount () const |
| | Number of row blocks.
|
| |
|
idx_t | HeapBlockCount () const |
| | Number of heap blocks.
|
| |
|
void | SetPartitionIndex (idx_t index) |
| | Sets the partition index of this tuple data allocator.
|
| |
|
void | Build (TupleDataSegment &segment, TupleDataPinState &pin_state, TupleDataChunkState &chunk_state, const idx_t append_offset, const idx_t append_count) |
| | Builds out the chunks for next append, given the metadata in the append state.
|
| |
|
bool | BuildFastPath (TupleDataSegment &segment, TupleDataPinState &pin_state, TupleDataChunkState &chunk_state, const idx_t append_offset, const idx_t append_count) |
| |
|
void | InitializeChunkState (TupleDataSegment &segment, TupleDataPinState &pin_state, TupleDataChunkState &chunk_state, idx_t chunk_idx, bool init_heap, optional_ptr< SortKeyPayloadState > sort_key_payload_state=nullptr) |
| | Initializes a chunk, making its pointers valid.
|
| |
|
void | ReleaseOrStoreHandles (TupleDataPinState &state, TupleDataSegment &segment, TupleDataChunk &chunk, bool release_heap) |
| | Releases or stores any handles in the management state that are no longer required.
|
| |
|
void | ReleaseOrStoreHandles (TupleDataPinState &state, TupleDataSegment &segment) |
| | Releases or stores ALL handles in the management state.
|
| |
|
void | SetDestroyBufferUponUnpin () |
| | Sets 'can_destroy' to true for all blocks so they aren't added to the eviction queue.
|
| |
|
void | DestroyRowBlocks (idx_t row_block_begin, idx_t row_block_end) |
| | Destroy the blocks between the given indices.
|
| |
|
void | DestroyHeapBlocks (idx_t heap_block_begin, idx_t heap_block_end) |
| |
|
|
unsafe_arena_ptr< TupleDataChunkPart > | BuildChunkPart (TupleDataSegment &segment, TupleDataPinState &pin_state, TupleDataChunkState &chunk_state, const idx_t append_offset, const idx_t append_count, TupleDataChunk &chunk) |
| | Builds out a single part (grabs the lock)
|
| |
|
void | InitializeChunkStateInternal (TupleDataPinState &pin_state, TupleDataChunkState &chunk_state, idx_t offset, bool recompute, bool init_heap_pointers, bool init_heap_sizes, unsafe_vector< reference< TupleDataChunkPart > > &parts, optional_ptr< SortKeyPayloadState > sort_key_payload_state=nullptr) |
| | Internal function for InitializeChunkState.
|
| |
|
void | CreateRowBlock (TupleDataSegment &segment) |
| | Create a row/heap block, extend the pinned handles in the segment accordingly.
|
| |
|
void | CreateHeapBlock (TupleDataSegment &segment, idx_t size) |
| |
|
BufferHandle & | PinRowBlock (TupleDataPinState &state, const TupleDataChunkPart &part) |
| | Pins the given row block.
|
| |
|
BufferHandle & | PinHeapBlock (TupleDataPinState &state, const TupleDataChunkPart &part) |
| | Pins the given heap block.
|
| |
|
data_ptr_t | GetRowPointer (TupleDataPinState &state, const TupleDataChunkPart &part) |
| | Gets the pointer to the rows for the given chunk part.
|
| |
|
data_ptr_t | GetBaseHeapPointer (TupleDataPinState &state, const TupleDataChunkPart &part) |
| | Gets the base pointer to the heap for the given chunk part.
|
| |