Struct Fragmenter_Namespace::InsertDataLoader

struct InsertDataLoader

Public Functions

InsertDataLoader(DistributedConnector &connector)
void insertData(const Catalog_Namespace::SessionInfo &session_info, InsertData &insert_data)
void insertChunks(const Catalog_Namespace::SessionInfo &session_info, const InsertChunks &insert_chunks)

Private Functions

size_t moveToNextLeaf()

Move to the next available leaf index internally. Done under a lock to prevent contention.

Return

the current leaf index (prior to moving to the next index)

Private Members

size_t leaf_count_
size_t current_leaf_index_
DistributedConnector &connector_
std::shared_mutex current_leaf_index_mutex_
struct DistributedConnector

Subclassed by Parser::DistributedConnector

Public Functions

virtual size_t leafCount() = 0
virtual void insertChunksToLeaf(const Catalog_Namespace::SessionInfo &parent_session_info, const size_t leaf_idx, const Fragmenter_Namespace::InsertChunks &insert_chunks) = 0
virtual void insertDataToLeaf(const Catalog_Namespace::SessionInfo &parent_session_info, const size_t leaf_idx, Fragmenter_Namespace::InsertData &insert_data) = 0
virtual void checkpoint(const Catalog_Namespace::SessionInfo &parent_session_info, int tableId) = 0
virtual void rollback(const Catalog_Namespace::SessionInfo &parent_session_info, int tableId) = 0
virtual ~DistributedConnector()