OmniSciDB
a5dc49c757
|
#include <StorageIOFacility.h>
Classes | |
struct | DeleteTransactionParameters |
class | TransactionParameters |
class | UpdateTransactionParameters |
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 Member Functions | |
StorageIOFacility (Executor *executor) | |
StorageIOFacility::UpdateCallback | yieldUpdateCallback (UpdateTransactionParameters &update_parameters) |
StorageIOFacility::UpdateCallback | yieldDeleteCallback (DeleteTransactionParameters &delete_parameters) |
Private Member Functions | |
int | normalized_cpu_threads () const |
Static Private Member Functions | |
static std::unique_ptr< int8_t[]> | getRsBufferNoPadding (const ResultSet *rs, size_t col_idx, const SQLTypeInfo &column_type, size_t row_count) |
Private Attributes | |
Executor * | executor_ |
Definition at line 106 of file StorageIOFacility.h.
using StorageIOFacility::ColumnValidationFunction = std::function<bool(std::string const&)> |
Definition at line 119 of file StorageIOFacility.h.
using StorageIOFacility::DeleteVictimOffsetList = std::vector<uint64_t> |
Definition at line 111 of file StorageIOFacility.h.
Definition at line 110 of file StorageIOFacility.h.
using StorageIOFacility::TransactionLog = Fragmenter_Namespace::InsertOrderFragmenter::ModifyTransactionTracker |
Definition at line 117 of file StorageIOFacility.h.
using StorageIOFacility::TransactionLogPtr = std::unique_ptr<TransactionLog> |
Definition at line 118 of file StorageIOFacility.h.
Definition at line 108 of file StorageIOFacility.h.
using StorageIOFacility::UpdateTargetColumnNamesList = std::vector<std::string> |
Definition at line 114 of file StorageIOFacility.h.
using StorageIOFacility::UpdateTargetOffsetList = std::vector<uint64_t> |
Definition at line 112 of file StorageIOFacility.h.
using StorageIOFacility::UpdateTargetTypeList = std::vector<TargetMetaInfo> |
Definition at line 113 of file StorageIOFacility.h.
|
inline |
Definition at line 204 of file StorageIOFacility.h.
|
inlinestaticprivate |
Definition at line 651 of file StorageIOFacility.h.
References CHECK, SQLTypeInfo::get_logical_size(), SQLTypeInfo::get_size(), SQLTypeInfo::get_type(), SQLTypeInfo::is_dict_encoded_string(), SQLTypeInfo::is_fp(), and kFLOAT.
Referenced by yieldDeleteCallback(), and yieldUpdateCallback().
|
inlineprivate |
Definition at line 649 of file StorageIOFacility.h.
References cpu_threads().
Referenced by yieldDeleteCallback(), and yieldUpdateCallback().
|
inline |
Definition at line 468 of file StorageIOFacility.h.
References threading_serial::async(), CHECK, CHECK_EQ, Data_Namespace::CPU_LEVEL, StorageIOFacility::TransactionParameters::getCatalog(), Chunk_NS::Chunk::getChunk(), UpdateLogForFragment::getColumnType(), UpdateLogForFragment::getEntryAt(), UpdateLogForFragment::getEntryCount(), UpdateLogForFragment::getFragmentId(), Catalog_Namespace::Catalog::getMetadataForTable(), UpdateLogForFragment::getPhysicalTableId(), UpdateLogForFragment::getRowCount(), getRsBufferNoPadding(), StorageIOFacility::TransactionParameters::getTableDescriptor(), StorageIOFacility::TransactionParameters::getTransactionTracker(), lockmgr::TableLockMgrImpl< TableDataLockMgr >::getWriteLockForTable(), Data_Namespace::GPU_LEVEL, kBOOLEAN, normalized_cpu_threads(), table_is_temporary(), StorageIOFacility::TransactionParameters::tableIsTemporary(), and UNLIKELY.
Referenced by RelAlgExecutor::executeDelete().
|
inline |
Definition at line 206 of file StorageIOFacility.h.
References threading_serial::async(), CHECK, CHECK_EQ, Data_Namespace::CPU_LEVEL, Catalog_Namespace::DBMetadata::dbId, executor_, StorageIOFacility::TransactionParameters::getCatalog(), Chunk_NS::Chunk::getChunk(), UpdateLogForFragment::getColumnType(), Catalog_Namespace::Catalog::getCurrentDB(), UpdateLogForFragment::getEntryAt(), UpdateLogForFragment::getEntryCount(), UpdateLogForFragment::getFragmentId(), UpdateLogForFragment::getFragmentInfo(), StorageIOFacility::TransactionParameters::getInputSourceNode(), Catalog_Namespace::Catalog::getMetadataForTable(), UpdateLogForFragment::getPhysicalTableId(), UpdateLogForFragment::getResultSet(), UpdateLogForFragment::getRowCount(), getRsBufferNoPadding(), StorageIOFacility::TransactionParameters::getTableDescriptor(), StorageIOFacility::UpdateTransactionParameters::getTargetsMetaInfo(), StorageIOFacility::TransactionParameters::getTransactionTracker(), UpdateLogForFragment::getTranslatedEntryAt(), StorageIOFacility::UpdateTransactionParameters::getUpdateColumnCount(), StorageIOFacility::UpdateTransactionParameters::getUpdateColumnNames(), lockmgr::TableLockMgrImpl< TableDataLockMgr >::getWriteLockForTable(), Data_Namespace::GPU_LEVEL, SQLTypeInfo::is_string(), StorageIOFacility::UpdateTransactionParameters::isVarlenUpdateRequired(), normalized_cpu_threads(), anonymous_namespace{StorageIOFacility.h}::should_recompute_metadata(), StorageIOFacility::TransactionParameters::tableIsTemporary(), UNLIKELY, and foreign_storage::update_stats().
Referenced by RelAlgExecutor::executeUpdate().
|
private |
Definition at line 692 of file StorageIOFacility.h.
Referenced by yieldUpdateCallback().