GPUdb C++ API  Version 5.2.0.0
gpudb::InsertRecordsRequest< T > Struct Template Reference

A set of input parameters for insertRecordsRaw(const RawInsertRecordsRequest&) const. More...

#include <gpudb/protocol/insert_records.h>

Public Member Functions

 InsertRecordsRequest ()
 Constructs an InsertRecordsRequest object with default parameter values. More...
 
 InsertRecordsRequest (const std::string &tableName, const std::vector< T > &data, const std::map< std::string, std::string > &options)
 Constructs an InsertRecordsRequest object with the specified parameters. More...
 

Public Attributes

std::string tableName
 
std::vector< T > data
 
std::map< std::string, std::string > options
 

Detailed Description

template<typename T>
struct gpudb::InsertRecordsRequest< T >

A set of input parameters for insertRecordsRaw(const RawInsertRecordsRequest&) const.

Adds multiple records to the specified table. The operation is synchronous meaning that GPUdb will not return a response until all the records are fully inserted and available. The response payload provides unique identifier for each added record along with counts of the number of records actually inserted and/or updated.

options can be used to customize this function's behavior. The only parameter available is update_on_existing_pk. The value can be either 'true' or 'false'. If the table has a primary key and if update_on_existing_pk is 'true' then if any of the records being added have the same primary key as existing records, the existing records are replaced (i.e. updated) with the given records. If update_on_existing_pk is false and if the records being added have the same primary key as existing records, the given records with existing primary keys are ignored (the existing records are left unchanged). It is quite possible that in this case some of the given records will be inserted and some (those having existing primary keys) will be ignored (or updated). If the specified table does not have a primary key column then the update_on_existing_pk option is ignored.

Parameters
<T>The type of object being processed.

Definition at line 255 of file insert_records.h.

Constructor & Destructor Documentation

template<typename T >
gpudb::InsertRecordsRequest< T >::InsertRecordsRequest ( )
inline

Constructs an InsertRecordsRequest object with default parameter values.

Definition at line 262 of file insert_records.h.

template<typename T >
gpudb::InsertRecordsRequest< T >::InsertRecordsRequest ( const std::string &  tableName,
const std::vector< T > &  data,
const std::map< std::string, std::string > &  options 
)
inline

Constructs an InsertRecordsRequest object with the specified parameters.

Parameters
[in]tableNameTable to which the records are to be added. Must be an existing table.
[in]dataAn array of binary-encoded data for the records to be added. All records must be of the same type as that of the table. Empty array if listEncoding is json.
[in]optionsOptional parameters.
  • update_on_existing_pk: If the table has a /create/type, then if the value is 'true' then if any of the records being added have the same primary key as existing records, the existing records are replaced (i.e. updated) with the given records. If 'false' and if the records being added have the same primary key as existing records, the given records with existing primary keys are ignored (the existing records are left unchanged). It is quite possible that in this case some of the given records will be inserted and some (those having existing primary keys) will be ignored (or updated). If the specified table does not have a primary key column then this optional parameter is ignored. Values: 'true', 'false'.
  • return_record_ids: If 'true' then return GPUdb's internal record id along for each inserted record. Default is 'false'. Values: 'true', 'false'.
  • route_to_address: Route to a specific rank/tom. Option not suitable for tables using primary/shard keys
Default value is an empty std::map.

Definition at line 308 of file insert_records.h.

Member Data Documentation

template<typename T >
std::vector<T> gpudb::InsertRecordsRequest< T >::data

Definition at line 316 of file insert_records.h.

template<typename T >
std::map<std::string, std::string> gpudb::InsertRecordsRequest< T >::options

Definition at line 317 of file insert_records.h.

template<typename T >
std::string gpudb::InsertRecordsRequest< T >::tableName

Definition at line 315 of file insert_records.h.


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