Autonomy Software C++ 24.5.1
Welcome to the Autonomy Software repository of the Mars Rover Design Team (MRDT) at Missouri University of Science and Technology (Missouri S&T)! API reference contains the source code and other resources for the development of the autonomy software for our Mars rover. The Autonomy Software project aims to compete in the University Rover Challenge (URC) by demonstrating advanced autonomous capabilities and robust navigation algorithms.
Loading...
Searching...
No Matches
duckdb::MetadataManager Class Reference
Collaboration diagram for duckdb::MetadataManager:

Public Member Functions

 MetadataManager (BlockManager &block_manager, BufferManager &buffer_manager)
 
BufferManagerGetBufferManager () const
 
MetadataHandle AllocateHandle ()
 
MetadataHandle Pin (const MetadataPointer &pointer)
 
MetadataHandle Pin (const QueryContext &context, const MetadataPointer &pointer)
 
MetaBlockPointer GetDiskPointer (const MetadataPointer &pointer, uint32_t offset=0)
 
MetadataPointer FromDiskPointer (MetaBlockPointer pointer)
 
MetadataPointer RegisterDiskPointer (MetaBlockPointer pointer)
 
void Flush ()
 Flush all blocks to disk.
 
bool BlockHasBeenCleared (const MetaBlockPointer &ptr)
 
void MarkBlocksAsModified ()
 
void ClearModifiedBlocks (const vector< MetaBlockPointer > &pointers)
 
vector< MetadataBlockInfoGetMetadataInfo () const
 
vector< shared_ptr< BlockHandle > > GetBlocks () const
 
idx_t BlockCount ()
 
void Write (WriteStream &sink)
 
void Read (ReadStream &source)
 
idx_t GetMetadataBlockSize () const
 

Static Public Member Functions

static BlockPointer ToBlockPointer (MetaBlockPointer meta_pointer, const idx_t metadata_block_size)
 
static MetaBlockPointer FromBlockPointer (BlockPointer block_pointer, const idx_t metadata_block_size)
 

Static Public Attributes

static constexpr const idx_t METADATA_BLOCK_COUNT = 64
 The amount of metadata blocks per storage block.
 

Protected Member Functions

block_id_t AllocateNewBlock (unique_lock< mutex > &block_lock)
 
block_id_t PeekNextBlockId () const
 
block_id_t GetNextBlockId () const
 
void AddBlock (unique_lock< mutex > &block_lock, MetadataBlock new_block, bool if_exists=false)
 
void AddAndRegisterBlock (unique_lock< mutex > &block_lock, MetadataBlock block)
 
void ConvertToTransient (unique_lock< mutex > &block_lock, MetadataBlock &block)
 
MetadataPointer FromDiskPointerInternal (unique_lock< mutex > &block_lock, MetaBlockPointer pointer)
 

Protected Attributes

BlockManagerblock_manager
 
BufferManagerbuffer_manager
 
mutex block_lock
 
unordered_map< block_id_t, MetadataBlockblocks
 
unordered_map< block_id_t, idx_tmodified_blocks
 

Member Function Documentation

◆ GetBufferManager()

BufferManager & duckdb::MetadataManager::GetBufferManager ( ) const
inline
48498 {
48499 return buffer_manager;
48500 }

The documentation for this class was generated from the following file: