Class StorageIOFacility

class StorageIOFacility

Subclassed by RelAlgExecutor

Public Types

using UpdateCallback = UpdateLogForFragment::Callback
using TableDescriptorType = TableDescriptor
using DeleteVictimOffsetList = std::vector<uint64_t>
using UpdateTargetOffsetList = std::vector<uint64_t>
using UpdateTargetTypeList = std::vector<TargetMetaInfo>
using UpdateTargetColumnNamesList = std::vector<std::string>
using TransactionLog = Fragmenter_Namespace::InsertOrderFragmenter::ModifyTransactionTracker
using TransactionLogPtr = std::unique_ptr<TransactionLog>
using ColumnValidationFunction = std::function<bool(std::string const&)>

Public Functions

StorageIOFacility(Executor *executor, Catalog_Namespace::Catalog const &catalog)
StorageIOFacility::UpdateCallback yieldUpdateCallback(UpdateTransactionParameters &update_parameters)
StorageIOFacility::UpdateCallback yieldDeleteCallback(DeleteTransactionParameters &delete_parameters)

Private Functions

int normalized_cpu_threads() const

Private Members

Executor *executor_
Catalog_Namespace::Catalog const &catalog_

Private Static Functions

static std::unique_ptr<int8_t[]> getRsBufferNoPadding(const ResultSet *rs, size_t col_idx, const SQLTypeInfo &column_type, size_t row_count)
struct DeleteTransactionParameters : public StorageIOFacility::TransactionParameters

Public Functions

DeleteTransactionParameters(const TableDescriptorType *table_descriptor)

Private Functions

DeleteTransactionParameters(DeleteTransactionParameters const &other)
DeleteTransactionParameters &operator=(DeleteTransactionParameters const &other)
class TransactionParameters

Subclassed by StorageIOFacility::DeleteTransactionParameters, StorageIOFacility::UpdateTransactionParameters

Public Functions

TransactionParameters(const TableDescriptorType *table_descriptor)
virtual ~TransactionParameters()
StorageIOFacility::TransactionLog &getTransactionTracker()
void finalizeTransaction(const Catalog_Namespace::Catalog &catalog)
auto tableIsTemporary() const
auto const *getTableDescriptor() const

Private Members

StorageIOFacility::TransactionLog transaction_tracker_
TableDescriptorType const *table_descriptor_
bool table_is_temporary_
class UpdateTransactionParameters : public StorageIOFacility::TransactionParameters

Public Functions

UpdateTransactionParameters(TableDescriptorType const *table_descriptor, UpdateTargetColumnNamesList const &update_column_names, UpdateTargetTypeList const &target_types, bool varlen_update_required)
auto getUpdateColumnCount() const
auto const &getTargetsMetaInfo() const
auto getTargetsMetaInfoSize() const
auto const &getUpdateColumnNames() const
auto isVarlenUpdateRequired() const

Private Functions

UpdateTransactionParameters(UpdateTransactionParameters const &other)
UpdateTransactionParameters &operator=(UpdateTransactionParameters const &other)

Private Members

UpdateTargetColumnNamesList update_column_names_
UpdateTargetTypeList const &targets_meta_
bool varlen_update_required_ = false