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::DependencyCatalogSet Class Reference

This class mocks the CatalogSet interface, but does not actually store CatalogEntries. More...

Collaboration diagram for duckdb::DependencyCatalogSet:

Public Member Functions

 DependencyCatalogSet (CatalogSet &set, const CatalogEntryInfo &info)
 
bool CreateEntry (CatalogTransaction transaction, const MangledEntryName &name, unique_ptr< CatalogEntry > value)
 
CatalogSet::EntryLookup GetEntryDetailed (CatalogTransaction transaction, const MangledEntryName &name)
 
optional_ptr< CatalogEntryGetEntry (CatalogTransaction transaction, const MangledEntryName &name)
 
void Scan (CatalogTransaction transaction, const std::function< void(CatalogEntry &)> &callback)
 
bool DropEntry (CatalogTransaction transaction, const MangledEntryName &name, bool cascade, bool allow_drop_internal=false)
 

Public Attributes

CatalogSetset
 
CatalogEntryInfo info
 
MangledEntryName mangled_name
 

Private Member Functions

MangledDependencyName ApplyPrefix (const MangledEntryName &name) const
 

Detailed Description

This class mocks the CatalogSet interface, but does not actually store CatalogEntries.

Constructor & Destructor Documentation

◆ DependencyCatalogSet()

duckdb::DependencyCatalogSet::DependencyCatalogSet ( CatalogSet set,
const CatalogEntryInfo info 
)
inline
25286 : set(set), info(info), mangled_name(DependencyManager::MangleName(info)) {
25287 }

Member Function Documentation

◆ CreateEntry()

bool duckdb::DependencyCatalogSet::CreateEntry ( CatalogTransaction  transaction,
const MangledEntryName name,
unique_ptr< CatalogEntry value 
)
25318 {
25319 auto new_name = ApplyPrefix(name);
25320 const LogicalDependencyList EMPTY_DEPENDENCIES;
25321 return set.CreateEntry(transaction, new_name.name, std::move(value), EMPTY_DEPENDENCIES);
25322}
DUCKDB_API bool CreateEntry(CatalogTransaction transaction, const string &name, unique_ptr< CatalogEntry > value, const LogicalDependencyList &dependencies)
Definition duckdb.cpp:23050

◆ GetEntryDetailed()

CatalogSet::EntryLookup duckdb::DependencyCatalogSet::GetEntryDetailed ( CatalogTransaction  transaction,
const MangledEntryName name 
)
25325 {
25326 auto new_name = ApplyPrefix(name);
25327 return set.GetEntryDetailed(transaction, new_name.name);
25328}
DUCKDB_API EntryLookup GetEntryDetailed(CatalogTransaction transaction, const string &name)
Returns the entry with the specified name.
Definition duckdb.cpp:23455

◆ GetEntry()

optional_ptr< CatalogEntry > duckdb::DependencyCatalogSet::GetEntry ( CatalogTransaction  transaction,
const MangledEntryName name 
)
25331 {
25332 auto new_name = ApplyPrefix(name);
25333 return set.GetEntry(transaction, new_name.name);
25334}

◆ Scan()

void duckdb::DependencyCatalogSet::Scan ( CatalogTransaction  transaction,
const std::function< void(CatalogEntry &)> &  callback 
)
25336 {
25337 set.ScanWithPrefix(
25338 transaction,
25339 [&](CatalogEntry &entry) {
25340 auto &dep = entry.Cast<DependencyEntry>();
25341 auto &from = dep.SourceMangledName();
25342 if (!StringUtil::CIEquals(from.name, mangled_name.name)) {
25343 return;
25344 }
25345 callback(entry);
25346 },
25347 mangled_name.name);
25348}
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.
Definition duckdb.cpp:23585
static DUCKDB_API bool CIEquals(const string &l1, const string &l2)
Case insensitive equals.
string name
Format: Type\0Schema\0Name.
Definition duckdb.cpp:8789

◆ DropEntry()

bool duckdb::DependencyCatalogSet::DropEntry ( CatalogTransaction  transaction,
const MangledEntryName name,
bool  cascade,
bool  allow_drop_internal = false 
)
25351 {
25352 auto new_name = ApplyPrefix(name);
25353 return set.DropEntry(transaction, new_name.name, cascade, allow_drop_internal);
25354}

◆ ApplyPrefix()

MangledDependencyName duckdb::DependencyCatalogSet::ApplyPrefix ( const MangledEntryName name) const
private
25313 {
25314 return MangledDependencyName(mangled_name, name);
25315}

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