![]() |
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.
|
The Catalog Set stores (key, value) map of a set of CatalogEntries. More...
#include <duckdb.hpp>

Classes | |
| struct | EntryLookup |
Public Member Functions | |
| DUCKDB_API | CatalogSet (Catalog &catalog, unique_ptr< DefaultGenerator > defaults=nullptr) |
| DUCKDB_API bool | CreateEntry (CatalogTransaction transaction, const string &name, unique_ptr< CatalogEntry > value, const LogicalDependencyList &dependencies) |
| DUCKDB_API bool | CreateEntry (ClientContext &context, const string &name, unique_ptr< CatalogEntry > value, const LogicalDependencyList &dependencies) |
| DUCKDB_API bool | AlterEntry (CatalogTransaction transaction, const string &name, AlterInfo &alter_info) |
| DUCKDB_API bool | DropEntry (CatalogTransaction transaction, const string &name, bool cascade, bool allow_drop_internal=false) |
| DUCKDB_API bool | DropEntry (ClientContext &context, const string &name, bool cascade, bool allow_drop_internal=false) |
| DUCKDB_API void | VerifyExistenceOfDependency (transaction_t commit_id, CatalogEntry &entry) |
| Verify that the entry referenced by the dependency is still alive. | |
| DUCKDB_API void | CommitDrop (transaction_t commit_id, transaction_t start_time, CatalogEntry &entry) |
| Verify we can still drop the entry while committing. | |
| DUCKDB_API DuckCatalog & | GetCatalog () |
| bool | AlterOwnership (CatalogTransaction transaction, ChangeOwnershipInfo &info) |
| void | CleanupEntry (CatalogEntry &catalog_entry) |
| DUCKDB_API EntryLookup | GetEntryDetailed (CatalogTransaction transaction, const string &name) |
| Returns the entry with the specified name. | |
| DUCKDB_API optional_ptr< CatalogEntry > | GetEntry (CatalogTransaction transaction, const string &name) |
| DUCKDB_API optional_ptr< CatalogEntry > | GetEntry (ClientContext &context, const string &name) |
| SimilarCatalogEntry | SimilarEntry (CatalogTransaction transaction, const string &name) |
| void | Undo (CatalogEntry &entry) |
| DUCKDB_API void | Scan (const std::function< void(CatalogEntry &)> &callback) |
| Scan the catalog set, invoking the callback method for every committed entry. | |
| DUCKDB_API void | ScanWithPrefix (CatalogTransaction transaction, const std::function< void(CatalogEntry &)> &callback, const string &prefix) |
| Scan the catalog set, invoking the callback method for every entry. | |
| DUCKDB_API void | Scan (CatalogTransaction transaction, const std::function< void(CatalogEntry &)> &callback) |
| DUCKDB_API void | ScanWithReturn (CatalogTransaction transaction, const std::function< bool(CatalogEntry &)> &callback) |
| DUCKDB_API void | Scan (ClientContext &context, const std::function< void(CatalogEntry &)> &callback) |
| DUCKDB_API void | ScanWithReturn (ClientContext &context, const std::function< bool(CatalogEntry &)> &callback) |
| template<class T > | |
| vector< reference< T > > | GetEntries (CatalogTransaction transaction) |
| DUCKDB_API bool | CreatedByOtherActiveTransaction (CatalogTransaction transaction, transaction_t timestamp) |
| DUCKDB_API bool | CommittedAfterStarting (CatalogTransaction transaction, transaction_t timestamp) |
| DUCKDB_API bool | HasConflict (CatalogTransaction transaction, transaction_t timestamp) |
| DUCKDB_API bool | UseTimestamp (CatalogTransaction transaction, transaction_t timestamp) |
| mutex & | GetCatalogLock () |
| void | Verify (Catalog &catalog) |
| void | SetDefaultGenerator (unique_ptr< DefaultGenerator > defaults) |
| Override the default generator - this should not be used after the catalog set has been used. | |
Static Public Member Functions | |
| static bool | IsCommitted (transaction_t timestamp) |
| static void | UpdateTimestamp (CatalogEntry &entry, transaction_t timestamp) |
Private Member Functions | |
| bool | DropDependencies (CatalogTransaction transaction, const string &name, bool cascade, bool allow_drop_internal=false) |
| CatalogEntry & | GetEntryForTransaction (CatalogTransaction transaction, CatalogEntry ¤t, bool &visible) |
| CatalogEntry & | GetEntryForTransaction (CatalogTransaction transaction, CatalogEntry ¤t) |
| Given a root entry, gets the entry valid for this transaction. | |
| CatalogEntry & | GetCommittedEntry (CatalogEntry ¤t) |
| optional_ptr< CatalogEntry > | GetEntryInternal (CatalogTransaction transaction, const string &name) |
| This method is used to retrieve an entry for the purpose of making a new version, through an alter/drop/create. | |
| optional_ptr< CatalogEntry > | CreateCommittedEntry (unique_ptr< CatalogEntry > entry) |
| void | CreateDefaultEntries (CatalogTransaction transaction, unique_lock< mutex > &lock) |
| Create all default entries. | |
| optional_ptr< CatalogEntry > | CreateDefaultEntry (CatalogTransaction transaction, const string &name, unique_lock< mutex > &lock) |
| Attempt to create a default entry with the specified name. Returns the entry if successful, nullptr otherwise. | |
| bool | DropEntryInternal (CatalogTransaction transaction, const string &name, bool allow_drop_internal=false) |
| bool | CreateEntryInternal (CatalogTransaction transaction, const string &name, unique_ptr< CatalogEntry > value, unique_lock< mutex > &read_lock, bool should_be_empty=true) |
| void | CheckCatalogEntryInvariants (CatalogEntry &value, const string &name) |
| bool | VerifyVacancy (CatalogTransaction transaction, CatalogEntry &entry) |
| Verify that the previous entry in the chain is dropped. | |
| bool | StartChain (CatalogTransaction transaction, const string &name, unique_lock< mutex > &read_lock) |
| Start the catalog entry chain with a dummy node. | |
| bool | RenameEntryInternal (CatalogTransaction transaction, CatalogEntry &old, const string &new_name, AlterInfo &alter_info, unique_lock< mutex > &read_lock) |
Private Attributes | |
| DuckCatalog & | catalog |
| mutex | catalog_lock |
| The catalog lock is used to make changes to the data. | |
| CatalogEntryMap | map |
| unique_ptr< DefaultGenerator > | defaults |
| The generator used to generate default internal entries. | |
The Catalog Set stores (key, value) map of a set of CatalogEntries.
|
explicit |
| duckdb::CatalogSet::~CatalogSet | ( | ) |
| bool duckdb::CatalogSet::CreateEntry | ( | CatalogTransaction | transaction, |
| const string & | name, | ||
| unique_ptr< CatalogEntry > | value, | ||
| const LogicalDependencyList & | dependencies | ||
| ) |
Create an entry in the catalog set. Returns whether or not it was successful.
| bool duckdb::CatalogSet::CreateEntry | ( | ClientContext & | context, |
| const string & | name, | ||
| unique_ptr< CatalogEntry > | value, | ||
| const LogicalDependencyList & | dependencies | ||
| ) |
| bool duckdb::CatalogSet::AlterEntry | ( | CatalogTransaction | transaction, |
| const string & | name, | ||
| AlterInfo & | alter_info | ||
| ) |
| bool duckdb::CatalogSet::DropEntry | ( | CatalogTransaction | transaction, |
| const string & | name, | ||
| bool | cascade, | ||
| bool | allow_drop_internal = false |
||
| ) |
| bool duckdb::CatalogSet::DropEntry | ( | ClientContext & | context, |
| const string & | name, | ||
| bool | cascade, | ||
| bool | allow_drop_internal = false |
||
| ) |
| void duckdb::CatalogSet::VerifyExistenceOfDependency | ( | transaction_t | commit_id, |
| CatalogEntry & | entry | ||
| ) |
Verify that the entry referenced by the dependency is still alive.
Verify that the object referenced by the dependency still exists when we commit the dependency.
| void duckdb::CatalogSet::CommitDrop | ( | transaction_t | commit_id, |
| transaction_t | start_time, | ||
| CatalogEntry & | entry | ||
| ) |
Verify we can still drop the entry while committing.
Verify that no dependencies creations were committed since our transaction started, that reference the entry we're dropping
| DuckCatalog & duckdb::CatalogSet::GetCatalog | ( | ) |
| bool duckdb::CatalogSet::AlterOwnership | ( | CatalogTransaction | transaction, |
| ChangeOwnershipInfo & | info | ||
| ) |
| void duckdb::CatalogSet::CleanupEntry | ( | CatalogEntry & | catalog_entry | ) |
| CatalogSet::EntryLookup duckdb::CatalogSet::GetEntryDetailed | ( | CatalogTransaction | transaction, |
| const string & | name | ||
| ) |
Returns the entry with the specified name.


| optional_ptr< CatalogEntry > duckdb::CatalogSet::GetEntry | ( | CatalogTransaction | transaction, |
| const string & | name | ||
| ) |
| optional_ptr< CatalogEntry > duckdb::CatalogSet::GetEntry | ( | ClientContext & | context, |
| const string & | name | ||
| ) |
| SimilarCatalogEntry duckdb::CatalogSet::SimilarEntry | ( | CatalogTransaction | transaction, |
| const string & | name | ||
| ) |
Gets the entry that is most similar to the given name (i.e. smallest levenshtein distance), or empty string if none is found. The returned pair consists of the entry name and the distance (smaller means closer).

| void duckdb::CatalogSet::Undo | ( | CatalogEntry & | entry | ) |
Rollback <entry> to be the currently valid entry for a certain catalog entry

| void duckdb::CatalogSet::Scan | ( | const std::function< void(CatalogEntry &)> & | callback | ) |
Scan the catalog set, invoking the callback method for every committed entry.
| void duckdb::CatalogSet::ScanWithPrefix | ( | CatalogTransaction | transaction, |
| const std::function< void(CatalogEntry &)> & | callback, | ||
| const string & | prefix | ||
| ) |
Scan the catalog set, invoking the callback method for every entry.

| void duckdb::CatalogSet::Scan | ( | CatalogTransaction | transaction, |
| const std::function< void(CatalogEntry &)> & | callback | ||
| ) |
| void duckdb::CatalogSet::ScanWithReturn | ( | CatalogTransaction | transaction, |
| const std::function< bool(CatalogEntry &)> & | callback | ||
| ) |
| void duckdb::CatalogSet::Scan | ( | ClientContext & | context, |
| const std::function< void(CatalogEntry &)> & | callback | ||
| ) |
| void duckdb::CatalogSet::ScanWithReturn | ( | ClientContext & | context, |
| const std::function< bool(CatalogEntry &)> & | callback | ||
| ) |
|
inline |
| bool duckdb::CatalogSet::CreatedByOtherActiveTransaction | ( | CatalogTransaction | transaction, |
| transaction_t | timestamp | ||
| ) |
| bool duckdb::CatalogSet::CommittedAfterStarting | ( | CatalogTransaction | transaction, |
| transaction_t | timestamp | ||
| ) |
| bool duckdb::CatalogSet::HasConflict | ( | CatalogTransaction | transaction, |
| transaction_t | timestamp | ||
| ) |
| bool duckdb::CatalogSet::UseTimestamp | ( | CatalogTransaction | transaction, |
| transaction_t | timestamp | ||
| ) |
|
static |
|
static |
|
inline |
| void duckdb::CatalogSet::SetDefaultGenerator | ( | unique_ptr< DefaultGenerator > | defaults | ) |
Override the default generator - this should not be used after the catalog set has been used.
|
private |
|
private |
Given a root entry, gets the entry valid for this transaction, 'visible' is used to indicate whether the entry is actually visible to the transaction

|
private |
Given a root entry, gets the entry valid for this transaction.

|
private |
|
private |
This method is used to retrieve an entry for the purpose of making a new version, through an alter/drop/create.
|
private |
|
private |
Create all default entries.

|
private |
Attempt to create a default entry with the specified name. Returns the entry if successful, nullptr otherwise.

|
private |
|
private |
|
private |
|
private |
Verify that the previous entry in the chain is dropped.
|
private |
Start the catalog entry chain with a dummy node.

|
private |