OmniSciDB  ca0c39ec8f
 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)
 
virtual ~TransactionParameters ()=default
 
StorageIOFacility::TransactionLoggetTransactionTracker ()
 
void finalizeTransaction (const Catalog_Namespace::Catalog &catalog)
 
auto tableIsTemporary () const
 
auto const * getTableDescriptor () 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 RelAlgNodeinput_source_node_
 

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:4791
Data_Namespace::MemoryLevel persistenceLevel
TableDescriptorType const * table_descriptor_

+ Here is the call graph for this function:

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

Definition at line 146 of file StorageIOFacility.h.

References input_source_node_.

Referenced by StorageIOFacility::yieldUpdateCallback().

146 { return input_source_node_; }

+ Here is the caller 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:

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

Definition at line 148 of file StorageIOFacility.h.

References input_source_node_.

Referenced by RelAlgExecutor::executeUpdate().

148  {
149  input_source_node_ = input_source_node;
150  }

+ 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

const RelAlgNode* StorageIOFacility::TransactionParameters::input_source_node_
private

Definition at line 156 of file StorageIOFacility.h.

Referenced by getInputSourceNode(), and setInputSourceNode().

TableDescriptorType const* StorageIOFacility::TransactionParameters::table_descriptor_
private

Definition at line 154 of file StorageIOFacility.h.

Referenced by finalizeTransaction(), and getTableDescriptor().

bool StorageIOFacility::TransactionParameters::table_is_temporary_
private

Definition at line 155 of file StorageIOFacility.h.

Referenced by tableIsTemporary().

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

Definition at line 153 of file StorageIOFacility.h.

Referenced by finalizeTransaction(), and getTransactionTracker().


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