GPUdb C++ API  Version 5.2.0.0
gpudb::RawInsertRecordsRequest Struct Reference

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

#include <gpudb/protocol/insert_records.h>

Public Member Functions

 RawInsertRecordsRequest ()
 Constructs a RawInsertRecordsRequest object with default parameter values. More...
 
 RawInsertRecordsRequest (const std::string &tableName, const std::vector< std::vector< uint8_t > > &list, const std::map< std::string, std::string > &options)
 Constructs a RawInsertRecordsRequest object with the specified parameters. More...
 
 RawInsertRecordsRequest (const std::string &tableName, const std::vector< std::vector< uint8_t > > &list, const std::vector< std::string > &listStr, const std::string &listEncoding, const std::map< std::string, std::string > &options)
 Constructs a RawInsertRecordsRequest object with the specified parameters. More...
 

Public Attributes

std::string tableName
 
std::vector< std::vector< uint8_t > > list
 
std::vector< std::string > listStr
 
std::string listEncoding
 
std::map< std::string, std::string > options
 

Detailed Description

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.

Definition at line 37 of file insert_records.h.

Constructor & Destructor Documentation

gpudb::RawInsertRecordsRequest::RawInsertRecordsRequest ( )
inline

Constructs a RawInsertRecordsRequest object with default parameter values.

Definition at line 44 of file insert_records.h.

gpudb::RawInsertRecordsRequest::RawInsertRecordsRequest ( const std::string &  tableName,
const std::vector< std::vector< uint8_t > > &  list,
const std::map< std::string, std::string > &  options 
)
inline

Constructs a RawInsertRecordsRequest object with the specified parameters.

Parameters
[in]tableNameTable to which the records are to be added. Must be an existing table.
[in]listAn 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 92 of file insert_records.h.

gpudb::RawInsertRecordsRequest::RawInsertRecordsRequest ( const std::string &  tableName,
const std::vector< std::vector< uint8_t > > &  list,
const std::vector< std::string > &  listStr,
const std::string &  listEncoding,
const std::map< std::string, std::string > &  options 
)
inline

Constructs a RawInsertRecordsRequest object with the specified parameters.

Parameters
[in]tableNameTable to which the records are to be added. Must be an existing table.
[in]listAn 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]listStrAn array of JSON 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 binary.
[in]listEncodingThe encoding of the records to be inserted. Values: 'binary', 'json'. Default value is 'binary'.
[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 147 of file insert_records.h.

Member Data Documentation

std::vector<std::vector<uint8_t> > gpudb::RawInsertRecordsRequest::list

Definition at line 157 of file insert_records.h.

std::string gpudb::RawInsertRecordsRequest::listEncoding

Definition at line 159 of file insert_records.h.

std::vector<std::string> gpudb::RawInsertRecordsRequest::listStr

Definition at line 158 of file insert_records.h.

std::map<std::string, std::string> gpudb::RawInsertRecordsRequest::options

Definition at line 160 of file insert_records.h.

std::string gpudb::RawInsertRecordsRequest::tableName

Definition at line 156 of file insert_records.h.


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