OmniSciDB  ba1bac9284
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
StorageIOFacility::TransactionParameters Class Reference

#include <StorageIOFacility.h>

+ Inheritance diagram for StorageIOFacility::TransactionParameters:
+ Collaboration diagram for StorageIOFacility::TransactionParameters:

Public Member Functions

 TransactionParameters (const TableDescriptorType *table_descriptor)
 
virtual ~TransactionParameters ()=default
 
StorageIOFacility::TransactionLoggetTransactionTracker ()
 
void finalizeTransaction (const Catalog_Namespace::Catalog &catalog)
 
auto tableIsTemporary () const
 
auto constgetTableDescriptor () const
 

Private Attributes

StorageIOFacility::TransactionLog transaction_tracker_
 
TableDescriptorType consttable_descriptor_
 
bool table_is_temporary_
 

Detailed Description

Definition at line 121 of file StorageIOFacility.h.

Constructor & Destructor Documentation

StorageIOFacility::TransactionParameters::TransactionParameters ( const TableDescriptorType table_descriptor)
inline

Definition at line 123 of file StorageIOFacility.h.

124  : table_descriptor_(table_descriptor)
125  , table_is_temporary_(table_is_temporary(table_descriptor)) {}
bool table_is_temporary(const TableDescriptor *const td)
TableDescriptorType const * table_descriptor_
virtual StorageIOFacility::TransactionParameters::~TransactionParameters ( )
virtualdefault

Member Function Documentation

void StorageIOFacility::TransactionParameters::finalizeTransaction ( const Catalog_Namespace::Catalog catalog)
inline

Definition at line 132 of file StorageIOFacility.h.

References Catalog_Namespace::Catalog::checkpointWithAutoRollback(), UpdelRoll::commitUpdate(), Data_Namespace::DISK_LEVEL, TableDescriptor::persistenceLevel, table_descriptor_, TableDescriptor::tableId, and transaction_tracker_.

132  {
133  auto update_occurred = transaction_tracker_.commitUpdate();
134  if (!update_occurred && table_descriptor_->persistenceLevel ==
136  // If commitUpdate() did not checkpoint, then we need to checkpoint here in order
137  // to ensure that epochs are uniformly incremented in distributed mode.
139  }
140  }
StorageIOFacility::TransactionLog transaction_tracker_
bool commitUpdate()
void checkpointWithAutoRollback(const int logical_table_id) const
Definition: Catalog.cpp:4218
Data_Namespace::MemoryLevel persistenceLevel
TableDescriptorType const * table_descriptor_

+ Here is the call graph for this function:

auto const* StorageIOFacility::TransactionParameters::getTableDescriptor ( ) const
inline

Definition at line 144 of file StorageIOFacility.h.

References table_descriptor_.

Referenced by StorageIOFacility::yieldDeleteCallback(), and StorageIOFacility::yieldUpdateCallback().

144 { return table_descriptor_; }
TableDescriptorType const * table_descriptor_

+ Here is the caller graph for this function:

StorageIOFacility::TransactionLog& StorageIOFacility::TransactionParameters::getTransactionTracker ( )
inline

Definition at line 129 of file StorageIOFacility.h.

References transaction_tracker_.

Referenced by StorageIOFacility::yieldDeleteCallback(), and StorageIOFacility::yieldUpdateCallback().

129  {
130  return transaction_tracker_;
131  }
StorageIOFacility::TransactionLog transaction_tracker_

+ Here is the caller graph for this function:

auto StorageIOFacility::TransactionParameters::tableIsTemporary ( ) const
inline

Definition at line 142 of file StorageIOFacility.h.

References table_is_temporary_.

Referenced by StorageIOFacility::yieldDeleteCallback(), and StorageIOFacility::yieldUpdateCallback().

+ Here is the caller graph for this function:

Member Data Documentation

TableDescriptorType const* StorageIOFacility::TransactionParameters::table_descriptor_
private

Definition at line 148 of file StorageIOFacility.h.

Referenced by finalizeTransaction(), and getTableDescriptor().

bool StorageIOFacility::TransactionParameters::table_is_temporary_
private

Definition at line 149 of file StorageIOFacility.h.

Referenced by tableIsTemporary().

StorageIOFacility::TransactionLog StorageIOFacility::TransactionParameters::transaction_tracker_
private

Definition at line 147 of file StorageIOFacility.h.

Referenced by finalizeTransaction(), and getTransactionTracker().


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