GPUdb C++ API  Version 6.2.0.3
gpudb::GPUdbIngestor Class Reference

#include <gpudb/GPUdbIngestor.hpp>

Inherits noncopyable.

Public Member Functions

 GPUdbIngestor (const gpudb::GPUdb &db, const gpudb::Type &record_type, const std::string &table_name, const WorkerList &worker_list, const std::map< std::string, std::string > &insert_options, size_t batch_size)
 
 GPUdbIngestor (const gpudb::GPUdb &db, const gpudb::Type &record_type, const std::string &table_name, const WorkerList &worker_list, size_t batch_size)
 
 GPUdbIngestor (const gpudb::GPUdb &db, const gpudb::Type &record_type, const std::string &table_name, const std::map< std::string, std::string > &insert_options, size_t batch_size)
 
 GPUdbIngestor (const gpudb::GPUdb &db, const gpudb::Type &record_type, const std::string &table_name, size_t batch_size)
 
 ~GPUdbIngestor ()
 
const std::string & getTableName () const
 Returns the name of the table on which this class operates. More...
 
const gpudb::GPUdbgetGPUdb () const
 Returns the GPUdb client handle that this class uses internally. More...
 
const std::map< std::string, std::string > & getOptions () const
 Returns the insertion options the ingestor uses. More...
 
size_t getCountInserted () const
 Returns the count of records inserted so far through this ingestor instance; An atomic operation. More...
 
size_t getCountUpdated () const
 Returns the count of records updated so far through this ingestor instance; An atomic operation. More...
 
void flush ()
 Ensures that all queued records are inserted into the database. More...
 
void insert (gpudb::GenericRecord record)
 Queues a record for insertion into GPUdb. More...
 
void insert (std::vector< gpudb::GenericRecord > records)
 Queues a list of records for insertion into Kientica. More...
 

Detailed Description

Definition at line 32 of file GPUdbIngestor.hpp.

Constructor & Destructor Documentation

◆ GPUdbIngestor() [1/4]

gpudb::GPUdbIngestor::GPUdbIngestor ( const gpudb::GPUdb db,
const gpudb::Type record_type,
const std::string &  table_name,
const WorkerList worker_list,
const std::map< std::string, std::string > &  insert_options,
size_t  batch_size 
)

◆ GPUdbIngestor() [2/4]

gpudb::GPUdbIngestor::GPUdbIngestor ( const gpudb::GPUdb db,
const gpudb::Type record_type,
const std::string &  table_name,
const WorkerList worker_list,
size_t  batch_size 
)

◆ GPUdbIngestor() [3/4]

gpudb::GPUdbIngestor::GPUdbIngestor ( const gpudb::GPUdb db,
const gpudb::Type record_type,
const std::string &  table_name,
const std::map< std::string, std::string > &  insert_options,
size_t  batch_size 
)

◆ GPUdbIngestor() [4/4]

gpudb::GPUdbIngestor::GPUdbIngestor ( const gpudb::GPUdb db,
const gpudb::Type record_type,
const std::string &  table_name,
size_t  batch_size 
)

◆ ~GPUdbIngestor()

gpudb::GPUdbIngestor::~GPUdbIngestor ( )

Member Function Documentation

◆ flush()

void gpudb::GPUdbIngestor::flush ( )

Ensures that all queued records are inserted into the database.

If an error occurs while inserting the records from any queue, the recoreds will no longer be in that queue nor in the database; catch GPUdbInsertException<T> to get the list of records that were being inserted if needed (for example, to retry). Other queues may also still contain unflushed records if this occurs.

◆ getCountInserted()

size_t gpudb::GPUdbIngestor::getCountInserted ( ) const
inline

Returns the count of records inserted so far through this ingestor instance; An atomic operation.

Definition at line 78 of file GPUdbIngestor.hpp.

◆ getCountUpdated()

size_t gpudb::GPUdbIngestor::getCountUpdated ( ) const
inline

Returns the count of records updated so far through this ingestor instance; An atomic operation.

Definition at line 84 of file GPUdbIngestor.hpp.

◆ getGPUdb()

const gpudb::GPUdb& gpudb::GPUdbIngestor::getGPUdb ( ) const
inline

Returns the GPUdb client handle that this class uses internally.

Definition at line 67 of file GPUdbIngestor.hpp.

◆ getOptions()

const std::map<std::string, std::string>& gpudb::GPUdbIngestor::getOptions ( ) const
inline

Returns the insertion options the ingestor uses.

Definition at line 72 of file GPUdbIngestor.hpp.

◆ getTableName()

const std::string& gpudb::GPUdbIngestor::getTableName ( ) const
inline

Returns the name of the table on which this class operates.

Definition at line 62 of file GPUdbIngestor.hpp.

◆ insert() [1/2]

void gpudb::GPUdbIngestor::insert ( gpudb::GenericRecord  record)

Queues a record for insertion into GPUdb.

If the queue reaches the <member cref="batch_size">, all records in the queue will be inserted into Kinetica before the method returns. If an error occurs while inserting the records, the records will no longer be in the queue nor in Kinetica; catch InsertException<T> to get the list of records that were being inserted if needed (for example, to retry).

Parameters
recordThe record to insert.

◆ insert() [2/2]

void gpudb::GPUdbIngestor::insert ( std::vector< gpudb::GenericRecord records)

Queues a list of records for insertion into Kientica.

If any queue reaches the <member cref="batch_size">, all records in the queue will be inserted into Kinetica before the method returns. If an error occurs while inserting the records, the records will no longer be in the queue nor in Kinetica; catch InsertException<T> to get the list of records that were being inserted if needed (for example, to retry).

Parameters
recordsThe records to insert.

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