SheafSystem  0.0.0.0
sheaf::storage_agent::transaction Class Reference

A transaction entity. More...

#include <storage_agent.h>

Public Member Functions

bool operator< (const transaction &xother) const
 True if this.target < xother.target. More...
 
 ~transaction ()
 Destructor. More...
 
 transaction ()
 Default constructor. More...
 
 transaction (pod_index_type xindex)
 Default constructor. More...
 
 transaction (transaction_type xtype, const poset_state_handle &xposet, const poset_bounds_descriptor &xrow_bounds=poset_bounds_descriptor::BOTTOM_TOP, const poset_bounds_descriptor &xcol_bounds=poset_bounds_descriptor::BOTTOM_TOP)
 Constructor. More...
 

Public Attributes

pod_index_type target
 The index of the target poset of the transaction. More...
 
bool is_read_transaction
 True if read transaction. More...
 
bool is_write_transaction
 True if write transaction. More...
 
poset_bounds_descriptor row_bounds
 Bounds for the rows accessed in this transaction. More...
 
poset_bounds_descriptor col_bounds
 Bounds for the columns accessed in this transaction. More...
 

Detailed Description

A transaction entity.

Definition at line 476 of file storage_agent.h.

Constructor & Destructor Documentation

◆ ~transaction()

sheaf::storage_agent::transaction::~transaction ( )

Destructor.

Definition at line 2444 of file storage_agent.cc.

References transaction().

Referenced by operator<().

◆ transaction() [1/3]

sheaf::storage_agent::transaction::transaction ( )

Default constructor.

Postcondition
  • !is_valid(target)
  • !is_read_transaction
  • !is_write_transaction

Definition at line 2459 of file storage_agent.cc.

References sheaf::poset_bounds_descriptor::BOTTOM_TOP, col_bounds, sheaf::invalid_pod_index(), is_read_transaction, sheaf::is_valid(), is_write_transaction, row_bounds, and target.

Referenced by transaction(), and ~transaction().

◆ transaction() [2/3]

sheaf::storage_agent::transaction::transaction ( pod_index_type  xindex)

Default constructor.

Postcondition
  • target == xindex
  • !is_read_transaction
  • !is_write_transaction

Definition at line 2487 of file storage_agent.cc.

References sheaf::poset_bounds_descriptor::BOTTOM_TOP, col_bounds, is_read_transaction, is_write_transaction, row_bounds, target, and transaction().

◆ transaction() [3/3]

sheaf::storage_agent::transaction::transaction ( transaction_type  xtype,
const poset_state_handle xposet,
const poset_bounds_descriptor xrow_bounds = poset_bounds_descriptor::BOTTOM_TOP,
const poset_bounds_descriptor xcol_bounds = poset_bounds_descriptor::BOTTOM_TOP 
)

Constructor.

Postcondition
  • target == xposet.index().pod()
  • is_read_transaction == ((xtype == READ) || (xtype == READ_WRITE))
  • is_write_transaction == ((xtype == WRITE) || (xtype == READ_WRITE))
  • row_bounds == xrow_bounds
  • col_bounds == xcol_bounds

Definition at line 2514 of file storage_agent.cc.

References col_bounds, sheaf::poset_state_handle::index(), is_read_transaction, is_write_transaction, sheaf::scoped_index::pod(), row_bounds, target, and sheaf::storage_agent::transaction_is_active().

Member Function Documentation

◆ operator<()

bool sheaf::storage_agent::transaction::operator< ( const transaction xother) const

True if this.target < xother.target.

Definition at line 2437 of file storage_agent.cc.

References target, and ~transaction().

Referenced by sheaf::storage_agent::initialize_namespace_id_spaces_for_write().

Member Data Documentation

◆ col_bounds

poset_bounds_descriptor sheaf::storage_agent::transaction::col_bounds
mutable

Bounds for the columns accessed in this transaction.

Definition at line 503 of file storage_agent.h.

Referenced by sheaf::poset_scaffold::poset_scaffold(), and transaction().

◆ is_read_transaction

bool sheaf::storage_agent::transaction::is_read_transaction
mutable

True if read transaction.

Definition at line 488 of file storage_agent.h.

Referenced by transaction().

◆ is_write_transaction

bool sheaf::storage_agent::transaction::is_write_transaction
mutable

True if write transaction.

Definition at line 493 of file storage_agent.h.

Referenced by transaction().

◆ row_bounds

poset_bounds_descriptor sheaf::storage_agent::transaction::row_bounds
mutable

Bounds for the rows accessed in this transaction.

Definition at line 498 of file storage_agent.h.

Referenced by sheaf::poset_scaffold::poset_scaffold(), and transaction().

◆ target

pod_index_type sheaf::storage_agent::transaction::target

The index of the target poset of the transaction.

Definition at line 483 of file storage_agent.h.

Referenced by operator<(), and transaction().


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