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

The MetaTransaction manages multiple transactions for different attached databases. More...

Collaboration diagram for duckdb::MetaTransaction:

Public Member Functions

DUCKDB_API MetaTransaction (ClientContext &context, timestamp_t start_timestamp, transaction_t global_transaction_id)
 
timestamp_t GetCurrentTransactionStartTimestamp () const
 
TransactionGetTransaction (AttachedDatabase &db)
 
optional_ptr< TransactionTryGetTransaction (AttachedDatabase &db)
 
void RemoveTransaction (AttachedDatabase &db)
 
ErrorData Commit ()
 
void Rollback ()
 
void Finalize ()
 
idx_t GetActiveQuery ()
 
void SetActiveQuery (transaction_t query_number)
 
void SetReadOnly ()
 
bool IsReadOnly () const
 
void ModifyDatabase (AttachedDatabase &db, DatabaseModificationType modification)
 
optional_ptr< AttachedDatabaseModifiedDatabase ()
 
const vector< reference< AttachedDatabase > > & OpenedTransactions () const
 
optional_ptr< AttachedDatabaseGetReferencedDatabase (const string &name)
 
shared_ptr< AttachedDatabaseGetReferencedDatabaseOwning (const string &name)
 
AttachedDatabaseUseDatabase (shared_ptr< AttachedDatabase > &database)
 
void DetachDatabase (AttachedDatabase &database)
 

Static Public Member Functions

static DUCKDB_API MetaTransactionGet (ClientContext &context)
 

Public Attributes

ClientContextcontext
 
timestamp_t start_timestamp
 The timestamp when the transaction started.
 
transaction_t global_transaction_id
 The global identifier of the transaction.
 
ValidChecker transaction_validity
 The validity checker of the transaction.
 
atomic< transaction_tactive_query
 The active query number.
 

Private Attributes

mutex lock
 Lock to prevent all_transactions and transactions from getting out of sync.
 
reference_map_t< AttachedDatabase, TransactionReferencetransactions
 The set of active transactions for each database.
 
vector< reference< AttachedDatabase > > all_transactions
 The set of referenced databases in invocation order.
 
optional_ptr< AttachedDatabasemodified_database
 The database we are modifying. We can only modify one database per meta transaction.
 
bool is_read_only
 Whether the meta transaction is marked as read only.
 
mutex referenced_database_lock
 Lock for referenced_databases.
 
reference_map_t< AttachedDatabase, shared_ptr< AttachedDatabase > > referenced_databases
 The set of used (referenced) databases.
 
case_insensitive_map_t< reference< AttachedDatabase > > used_databases
 Map of name -> database for databases that are in-use by this transaction.
 

Detailed Description

The MetaTransaction manages multiple transactions for different attached databases.

Member Function Documentation

◆ GetCurrentTransactionStartTimestamp()

timestamp_t duckdb::MetaTransaction::GetCurrentTransactionStartTimestamp ( ) const
inline
40504 {
40505 return start_timestamp;
40506 }
timestamp_t start_timestamp
The timestamp when the transaction started.
Definition duckdb.hpp:40494

◆ ModifiedDatabase()

optional_ptr< AttachedDatabase > duckdb::MetaTransaction::ModifiedDatabase ( )
inline
40523 {
40524 return modified_database;
40525 }
optional_ptr< AttachedDatabase > modified_database
The database we are modifying. We can only modify one database per meta transaction.
Definition duckdb.hpp:40542

◆ OpenedTransactions()

const vector< reference< AttachedDatabase > > & duckdb::MetaTransaction::OpenedTransactions ( ) const
inline
40526 {
40527 return all_transactions;
40528 }
vector< reference< AttachedDatabase > > all_transactions
The set of referenced databases in invocation order.
Definition duckdb.hpp:40540

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