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::DBInstanceCache Class Reference
Collaboration diagram for duckdb::DBInstanceCache:

Public Member Functions

shared_ptr< DuckDBGetInstance (const string &database, const DBConfig &config_dict)
 Gets a DB Instance from the cache if already exists (Fails if the configurations do not match)
 
shared_ptr< DuckDBCreateInstance (const string &database, DBConfig &config_dict, bool cache_instance=true, const std::function< void(DuckDB &)> &on_create=nullptr)
 Creates and caches a new DB Instance (Fails if a cached instance already exists)
 
shared_ptr< DuckDBGetOrCreateInstance (const string &database, DBConfig &config_dict, bool cache_instance, const std::function< void(DuckDB &)> &on_create=nullptr)
 Either returns an existing entry, or creates and caches a new DB Instance.
 
shared_ptr< DuckDBGetOrCreateInstance (const string &database, DBConfig &config_dict, CacheBehavior cache_behavior=CacheBehavior::AUTOMATIC, const std::function< void(DuckDB &)> &on_create=nullptr)
 

Private Member Functions

shared_ptr< DuckDBGetInstanceInternal (const string &database, const DBConfig &config, std::unique_lock< std::mutex > &db_instances_lock)
 
shared_ptr< DuckDBCreateInstanceInternal (const string &database, DBConfig &config_dict, bool cache_instance, std::unique_lock< std::mutex > db_instances_lock, const std::function< void(DuckDB &)> &on_create)
 

Private Attributes

shared_ptr< DatabaseFilePathManagerpath_manager
 
unordered_map< string, weak_ptr< DatabaseCacheEntry > > db_instances
 A map with the cached instances <absolute_path/instance>
 
mutex cache_lock
 Lock to alter cache.
 

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