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::CatalogTransaction Struct Reference
Collaboration diagram for duckdb::CatalogTransaction:

Public Member Functions

 CatalogTransaction (Catalog &catalog, ClientContext &context)
 
 CatalogTransaction (DatabaseInstance &db, transaction_t transaction_id_p, transaction_t start_time_p)
 
bool HasContext () const
 
ClientContextGetContext ()
 

Static Public Member Functions

static CatalogTransaction GetSystemCatalogTransaction (ClientContext &context)
 
static CatalogTransaction GetSystemTransaction (DatabaseInstance &db)
 

Public Attributes

optional_ptr< DatabaseInstancedb
 
optional_ptr< ClientContextcontext
 
optional_ptr< Transactiontransaction
 
transaction_t transaction_id
 
transaction_t start_time
 

Constructor & Destructor Documentation

◆ CatalogTransaction() [1/2]

duckdb::CatalogTransaction::CatalogTransaction ( Catalog catalog,
ClientContext context 
)
23637 {
23638 auto &transaction = Transaction::Get(context, catalog);
23639 this->db = &DatabaseInstance::GetDatabase(context);
23640 if (!transaction.IsDuckTransaction()) {
23641 this->transaction_id = transaction_t(-1);
23642 this->start_time = transaction_t(-1);
23643 } else {
23644 auto &dtransaction = transaction.Cast<DuckTransaction>();
23645 this->transaction_id = dtransaction.transaction_id;
23646 this->start_time = dtransaction.start_time;
23647 }
23648 this->transaction = &transaction;
23649 this->context = &context;
23650}
idx_t transaction_t
Type used for transaction timestamps.
Definition duckdb.hpp:253

◆ CatalogTransaction() [2/2]

duckdb::CatalogTransaction::CatalogTransaction ( DatabaseInstance db,
transaction_t  transaction_id_p,
transaction_t  start_time_p 
)
23653 : db(&db), context(nullptr), transaction(nullptr), transaction_id(transaction_id_p), start_time(start_time_p) {
23654}

Member Function Documentation

◆ HasContext()

bool duckdb::CatalogTransaction::HasContext ( ) const
inline
6431 {
6432 return context;
6433 }

◆ GetContext()

ClientContext & duckdb::CatalogTransaction::GetContext ( )
23656 {
23657 if (!context) {
23658 throw InternalException("Attempting to get a context in a CatalogTransaction without a context");
23659 }
23660 return *context;
23661}

◆ GetSystemCatalogTransaction()

CatalogTransaction duckdb::CatalogTransaction::GetSystemCatalogTransaction ( ClientContext context)
static
23663 {
23664 return CatalogTransaction(Catalog::GetSystemCatalog(context), context);
23665}
static DUCKDB_API Catalog & GetSystemCatalog(ClientContext &context)
Get the SystemCatalog from the ClientContext.
Definition duckdb.cpp:7173

◆ GetSystemTransaction()

CatalogTransaction duckdb::CatalogTransaction::GetSystemTransaction ( DatabaseInstance db)
static
23667 {
23668 return CatalogTransaction(db, 1, 1);
23669}

The documentation for this struct was generated from the following files: