T
- The type of object being processed.public class InsertRecordsRequest<T> extends Object
GPUdb.insertRecords
.
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
A set of string constants for the
InsertRecordsRequest parameter
options . |
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()
An array of binary-encoded data for the records to be added.
|
||
Map<String,String> |
getOptions()
Optional parameters.
|
||
String |
getTableName()
Name of table to which the records are to be added, in
[schema_name.]table_name format, using standard
int hashCode() | ||
InsertRecordsRequest<T> |
setData(List<T> data)
An array of binary-encoded data for the records to be added.
|
||
InsertRecordsRequest<T> |
setOptions(Map<String,String> options)
Optional parameters.
|
||
InsertRecordsRequest<T> |
setTableName(String tableName)
|
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()
tableName
.public InsertRecordsRequest<T> setTableName(String tableName)
tableName
- The new value for tableName
.this
to mimic the builder pattern.public List<T> getData()
listEncoding
is JSON
.data
.public InsertRecordsRequest<T> setData(List<T> data)
listEncoding
is JSON
.data
- The new value for data
.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
.options
.public InsertRecordsRequest<T> setOptions(Map<String,String> options)
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
.options
- The new value for options
.this
to mimic the builder pattern.Copyright © 2025. All rights reserved.