OmniSciDB  72c90bc290
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups 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, const Catalog_Namespace::Catalog &catalog)
 
virtual ~TransactionParameters ()=default
 
StorageIOFacility::TransactionLoggetTransactionTracker ()
 
void finalizeTransaction (const Catalog_Namespace::Catalog &catalog)
 
auto tableIsTemporary () const
 
auto const * getTableDescriptor () const
 
const Catalog_Namespace::CataloggetCatalog () const
 
const RelAlgNodegetInputSourceNode () const
 
void setInputSourceNode (const RelAlgNode *input_source_node)
 

Private Attributes

StorageIOFacility::TransactionLog transaction_tracker_
 
TableDescriptorType const * table_descriptor_
 
bool table_is_temporary_
 
const Catalog_Namespace::Catalogcatalog_
 
const RelAlgNodeinput_source_node_
 

Detailed Description

Definition at line 121 of file StorageIOFacility.h.

Constructor & Destructor Documentation

StorageIOFacility::TransactionParameters::TransactionParameters ( const TableDescriptorType table_descriptor,
const Catalog_Namespace::Catalog catalog 
)
inline

Definition at line 123 of file StorageIOFacility.h.

125  : table_descriptor_(table_descriptor)
126  , table_is_temporary_(table_is_temporary(table_descriptor))
127  , catalog_(catalog) {}
const Catalog_Namespace::Catalog & catalog_
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 134 of file StorageIOFacility.h.

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

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

+ Here is the call graph for this function:

const Catalog_Namespace::Catalog& StorageIOFacility::TransactionParameters::getCatalog ( ) const
inline

Definition at line 148 of file StorageIOFacility.h.

References catalog_.

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

148 { return catalog_; }
const Catalog_Namespace::Catalog & catalog_

+ Here is the caller graph for this function:

const RelAlgNode* StorageIOFacility::TransactionParameters::getInputSourceNode ( ) const
inline

Definition at line 150 of file StorageIOFacility.h.

References input_source_node_.

Referenced by StorageIOFacility::yieldUpdateCallback().

150 { return input_source_node_; }

+ Here is the caller graph for this function:

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

Definition at line 146 of file StorageIOFacility.h.

References table_descriptor_.

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

146 { return table_descriptor_; }
TableDescriptorType const * table_descriptor_

+ Here is the caller graph for this function:

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

Definition at line 131 of file StorageIOFacility.h.

References transaction_tracker_.

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

131  {
132  return transaction_tracker_;
133  }
StorageIOFacility::TransactionLog transaction_tracker_

+ Here is the caller graph for this function:

void StorageIOFacility::TransactionParameters::setInputSourceNode ( const RelAlgNode input_source_node)
inline

Definition at line 152 of file StorageIOFacility.h.

References input_source_node_.

Referenced by RelAlgExecutor::executeUpdate().

152  {
153  input_source_node_ = input_source_node;
154  }

+ Here is the caller graph for this function:

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

Definition at line 144 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

const Catalog_Namespace::Catalog& StorageIOFacility::TransactionParameters::catalog_
private

Definition at line 160 of file StorageIOFacility.h.

Referenced by getCatalog().

const RelAlgNode* StorageIOFacility::TransactionParameters::input_source_node_
private

Definition at line 161 of file StorageIOFacility.h.

Referenced by getInputSourceNode(), and setInputSourceNode().

TableDescriptorType const* StorageIOFacility::TransactionParameters::table_descriptor_
private

Definition at line 158 of file StorageIOFacility.h.

Referenced by finalizeTransaction(), and getTableDescriptor().

bool StorageIOFacility::TransactionParameters::table_is_temporary_
private

Definition at line 159 of file StorageIOFacility.h.

Referenced by tableIsTemporary().

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

Definition at line 157 of file StorageIOFacility.h.

Referenced by finalizeTransaction(), and getTransactionTracker().


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