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
inthashCode() | ||
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.
PK_CONFLICT_PREDICATE_HIGHER: The record with
higher value for the column resolves the
primary-key insert conflict. The default value
is ''.
PK_CONFLICT_PREDICATE_LOWER: The record with
lower value for the column resolves the
primary-key insert conflict. The default value
is ''.
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.
PK_CONFLICT_PREDICATE_HIGHER: The record with higher value for
the column resolves the primary-key insert conflict. The default
value is ''.
PK_CONFLICT_PREDICATE_LOWER: The record with lower value for
the column resolves the primary-key insert conflict. The default
value is ''.
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.
PK_CONFLICT_PREDICATE_HIGHER: The record with higher value for
the column resolves the primary-key insert conflict. The default
value is ''.
PK_CONFLICT_PREDICATE_LOWER: The record with lower value for
the column resolves the primary-key insert conflict. The default
value is ''.
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.