T
- The type of object being processed.public class InsertRecordsRequest<T> extends Object
GPUdb.insertRecords(InsertRecordsRequest)
.
Adds multiple records to the specified table. The operation is synchronous, meaning that a response will not be returned until all the records are fully inserted and available. The response payload provides the counts of the number of records actually inserted and/or updated, and can provide the unique identifier of each added record.
The options
parameter can be used to customize this function's
behavior.
The update_on_existing_pk
option specifies the record
collision policy for inserting into a table with a
primary key, but is ignored if
no primary key exists.
The return_record_ids
option indicates that the
database should return the unique identifiers of inserted records.
Modifier and Type | Class and Description |
---|---|
static class |
InsertRecordsRequest.Options
Optional parameters.
|
Constructor and Description |
---|
InsertRecordsRequest()
Constructs an InsertRecordsRequest object with default parameters.
|
InsertRecordsRequest(String tableName,
List<T> data,
Map<String,String> options)
Constructs an InsertRecordsRequest object with the specified parameters.
|
Modifier and Type | Method and Description |
---|---|
boolean |
equals(Object obj) |
List<T> |
getData() |
Map<String,String> |
getOptions() |
String |
getTableName() |
int |
hashCode() |
InsertRecordsRequest<T> |
setData(List<T> data) |
InsertRecordsRequest<T> |
setOptions(Map<String,String> options) |
InsertRecordsRequest<T> |
setTableName(String tableName) |
String |
toString() |
public InsertRecordsRequest()
public InsertRecordsRequest(String tableName, List<T> data, Map<String,String> options)
tableName
- Name of table to which the records are to be added, in
[schema_name.]table_name format, using standard name resolution rules. Must be an
existing table.data
- An 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
.options
- Optional parameters.
UPDATE_ON_EXISTING_PK
: Specifies the record collision
policy for inserting into a table
with a primary key. If set to
true
, any existing table record with primary
key values that match those of a record being inserted
will be replaced by that new record (the new
data will be "upserted"). If set to false
,
any existing table record with primary key values that
match those of a record being inserted will
remain unchanged, while the new record will be rejected
and the error handled as determined by
ignore_existing_pk
, allow_partial_batch
,
&
return_individual_errors
. If the specified
table does not have a primary
key, then this option has no effect.
Supported values:
TRUE
: Upsert new records when primary keys match
existing records
FALSE
: Reject new records when primary keys match
existing records
FALSE
.
IGNORE_EXISTING_PK
: Specifies the record collision
error-suppression policy for
inserting into a table with a primary key, only used when
not in upsert mode (upsert mode is disabled when update_on_existing_pk
is
false
). If set to
true
, any record being inserted that is rejected
for having primary key values that match those of an
existing table record will be ignored with no
error generated. If false
, the rejection of any
record for having primary key values matching an
existing record will result in an error being
reported, as determined by allow_partial_batch
&
return_individual_errors
. If the specified
table does not
have a primary key or if upsert mode is in effect
(update_on_existing_pk
is
true
), then this option has no effect.
Supported values:
TRUE
: Ignore new records whose primary key values
collide with those of existing records
FALSE
: Treat as errors any new records whose primary
key values collide with those of existing records
FALSE
.
RETURN_RECORD_IDS
: If true
then return the
internal record id along for each inserted record.
Supported values:
The default value is FALSE
.
TRUNCATE_STRINGS
: If set to true
, any strings
which are too long for their target charN string columns
will be truncated to fit.
Supported values:
The default value is FALSE
.
RETURN_INDIVIDUAL_ERRORS
: If set to true
,
success will always be returned, and any errors found
will be included in the info map. The
"bad_record_indices" entry is a comma-separated list of
bad records (0-based). And if so, there will also be an
"error_N" entry for each record with an error, where N
is the index (0-based).
Supported values:
The default value is FALSE
.
ALLOW_PARTIAL_BATCH
: If set to true
, all
correct records will be inserted and incorrect records
will be rejected and reported. Otherwise, the entire
batch will be rejected if any records are incorrect.
Supported values:
The default value is FALSE
.
DRY_RUN
: If set to true
, no data will be saved
and any errors will be returned.
Supported values:
The default value is FALSE
.
Map
.public String getTableName()
public InsertRecordsRequest<T> setTableName(String tableName)
tableName
- Name of table to which the records are to be added, in
[schema_name.]table_name format, using standard name resolution rules. Must be an
existing table.this
to mimic the builder pattern.public List<T> getData()
listEncoding
is json
.public InsertRecordsRequest<T> setData(List<T> data)
data
- An 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
.this
to mimic the builder pattern.public Map<String,String> getOptions()
UPDATE_ON_EXISTING_PK
: Specifies the record collision policy
for inserting into a table
with a primary key. If set to
true
, any existing table record with primary
key values that match those of a record being inserted will be
replaced by that new record (the new
data will be "upserted"). If set to false
,
any existing table record with primary key values that match
those of a record being inserted will
remain unchanged, while the new record will be rejected and the
error handled as determined by
ignore_existing_pk
, allow_partial_batch
, &
return_individual_errors
. If the specified table does
not have a primary
key, then this option has no effect.
Supported values:
TRUE
:
Upsert new records when primary keys match existing records
FALSE
:
Reject new records when primary keys match existing records
FALSE
.
IGNORE_EXISTING_PK
: Specifies the record collision
error-suppression policy for
inserting into a table with a primary key, only used when
not in upsert mode (upsert mode is disabled when update_on_existing_pk
is
false
). If set to
true
, any record being inserted that is rejected
for having primary key values that match those of an existing
table record will be ignored with no
error generated. If false
, the rejection of any
record for having primary key values matching an existing record
will result in an error being
reported, as determined by allow_partial_batch
&
return_individual_errors
. If the specified table does
not
have a primary key or if upsert mode is in effect (update_on_existing_pk
is
true
), then this option has no effect.
Supported values:
TRUE
:
Ignore new records whose primary key values collide with those
of existing records
FALSE
:
Treat as errors any new records whose primary key values collide
with those of existing records
FALSE
.
RETURN_RECORD_IDS
: If true
then return the internal
record id along for each inserted record.
Supported values:
The default value is FALSE
.
TRUNCATE_STRINGS
: If set to true
, any strings which are
too long for their target charN string columns will be truncated
to fit.
Supported values:
The default value is FALSE
.
RETURN_INDIVIDUAL_ERRORS
: If set to true
, success will
always be returned, and any errors found will be included in the
info map. The "bad_record_indices" entry is a comma-separated
list of bad records (0-based). And if so, there will also be an
"error_N" entry for each record with an error, where N is the
index (0-based).
Supported values:
The default value is FALSE
.
ALLOW_PARTIAL_BATCH
: If set to true
, all correct
records will be inserted and incorrect records will be rejected
and reported. Otherwise, the entire batch will be rejected if
any records are incorrect.
Supported values:
The default value is FALSE
.
DRY_RUN
: If set to true
, no data will be saved and any
errors will be returned.
Supported values:
The default value is FALSE
.
Map
.public InsertRecordsRequest<T> setOptions(Map<String,String> options)
options
- Optional parameters.
UPDATE_ON_EXISTING_PK
: Specifies the record collision
policy for inserting into a table
with a primary key. If set to
true
, any existing table record with primary
key values that match those of a record being inserted
will be replaced by that new record (the new
data will be "upserted"). If set to false
,
any existing table record with primary key values that
match those of a record being inserted will
remain unchanged, while the new record will be rejected
and the error handled as determined by
ignore_existing_pk
, allow_partial_batch
,
&
return_individual_errors
. If the specified
table does not have a primary
key, then this option has no effect.
Supported values:
TRUE
: Upsert new records when primary keys match
existing records
FALSE
: Reject new records when primary keys match
existing records
FALSE
.
IGNORE_EXISTING_PK
: Specifies the record collision
error-suppression policy for
inserting into a table with a primary key, only used when
not in upsert mode (upsert mode is disabled when update_on_existing_pk
is
false
). If set to
true
, any record being inserted that is rejected
for having primary key values that match those of an
existing table record will be ignored with no
error generated. If false
, the rejection of any
record for having primary key values matching an
existing record will result in an error being
reported, as determined by allow_partial_batch
&
return_individual_errors
. If the specified
table does not
have a primary key or if upsert mode is in effect
(update_on_existing_pk
is
true
), then this option has no effect.
Supported values:
TRUE
: Ignore new records whose primary key values
collide with those of existing records
FALSE
: Treat as errors any new records whose primary
key values collide with those of existing records
FALSE
.
RETURN_RECORD_IDS
: If true
then return the
internal record id along for each inserted record.
Supported values:
The default value is FALSE
.
TRUNCATE_STRINGS
: If set to true
, any strings
which are too long for their target charN string columns
will be truncated to fit.
Supported values:
The default value is FALSE
.
RETURN_INDIVIDUAL_ERRORS
: If set to true
,
success will always be returned, and any errors found
will be included in the info map. The
"bad_record_indices" entry is a comma-separated list of
bad records (0-based). And if so, there will also be an
"error_N" entry for each record with an error, where N
is the index (0-based).
Supported values:
The default value is FALSE
.
ALLOW_PARTIAL_BATCH
: If set to true
, all
correct records will be inserted and incorrect records
will be rejected and reported. Otherwise, the entire
batch will be rejected if any records are incorrect.
Supported values:
The default value is FALSE
.
DRY_RUN
: If set to true
, no data will be saved
and any errors will be returned.
Supported values:
The default value is FALSE
.
Map
.this
to mimic the builder pattern.Copyright © 2024. All rights reserved.