Class import_export::Loader¶
-
class
Loader¶ Subclassed by DistributedLoader
Public Functions
-
Loader(Catalog_Namespace::Catalog &c, const TableDescriptor *t, LoadCallbackType load_callback = nullptr)¶
-
virtual
~Loader()¶
-
const TableDescriptor *
getTableDesc() const¶
-
const std::list<const ColumnDescriptor *> &
get_column_descs() const¶
-
StringDictionary *
getStringDict(const ColumnDescriptor *cd) const¶
-
bool
load(const std::vector<std::unique_ptr<TypedImportBuffer>> &import_buffers, const size_t row_count, const Catalog_Namespace::SessionInfo *session_info)¶
-
bool
loadNoCheckpoint(const std::vector<std::unique_ptr<TypedImportBuffer>> &import_buffers, const size_t row_count, const Catalog_Namespace::SessionInfo *session_info)¶
-
void
checkpoint()¶
-
std::vector<Catalog_Namespace::TableEpochInfo>
getTableEpochs() const¶
-
void
setTableEpochs(const std::vector<Catalog_Namespace::TableEpochInfo> &table_epochs)¶
-
void
setAddingColumns(const bool adding_columns)¶
-
bool
isAddingColumns() const¶
-
void
dropColumns(const std::vector<int> &columns)¶
-
std::string
getErrorMessage()¶
Protected Types
-
using
OneShardBuffers= std::vector<std::unique_ptr<TypedImportBuffer>>¶
Protected Functions
-
void
init()¶
-
bool
loadImpl(const std::vector<std::unique_ptr<TypedImportBuffer>> &import_buffers, size_t row_count, bool checkpoint, const Catalog_Namespace::SessionInfo *session_info)¶
-
void
distributeToShards(std::vector<OneShardBuffers> &all_shard_import_buffers, std::vector<size_t> &all_shard_row_counts, const OneShardBuffers &import_buffers, const size_t row_count, const size_t shard_count, const Catalog_Namespace::SessionInfo *session_info)¶
Protected Attributes
-
const TableDescriptor *
table_desc_¶
-
std::list<const ColumnDescriptor *>
column_descs_¶
-
LoadCallbackType
load_callback_¶
-
Fragmenter_Namespace::InsertData
insert_data_¶
-
std::map<int, StringDictionary *>
dict_map_¶
Private Types
-
using
LoadCallbackType= std::function<bool(const std::vector<std::unique_ptr<TypedImportBuffer>>&, std::vector<DataBlockPtr>&, size_t)>¶
Private Functions
-
bool
loadToShard(const std::vector<std::unique_ptr<TypedImportBuffer>> &import_buffers, size_t row_count, const TableDescriptor *shard_table, bool checkpoint, const Catalog_Namespace::SessionInfo *session_info)¶
-
void
distributeToShardsNewColumns(std::vector<OneShardBuffers> &all_shard_import_buffers, std::vector<size_t> &all_shard_row_counts, const OneShardBuffers &import_buffers, const size_t row_count, const size_t shard_count, const Catalog_Namespace::SessionInfo *session_info)¶
-
void
distributeToShardsExistingColumns(std::vector<OneShardBuffers> &all_shard_import_buffers, std::vector<size_t> &all_shard_row_counts, const OneShardBuffers &import_buffers, const size_t row_count, const size_t shard_count, const Catalog_Namespace::SessionInfo *session_info)¶
-
void
fillShardRow(const size_t row_index, OneShardBuffers &shard_output_buffers, const OneShardBuffers &import_buffers)¶
-