public class RawInsertRecordsRequest extends Object implements org.apache.avro.generic.IndexedRecord
GPUdb.insertRecordsRaw
.
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 |
RawInsertRecordsRequest.ListEncoding
A set of string constants for the
RawInsertRecordsRequest
parameter listEncoding . |
static class |
RawInsertRecordsRequest.Options
A set of string constants for the
RawInsertRecordsRequest
parameter options . |
Constructor and Description |
---|
RawInsertRecordsRequest()
Constructs a RawInsertRecordsRequest object with default parameters.
|
RawInsertRecordsRequest(String tableName,
List<ByteBuffer> list,
List<String> listStr,
String listEncoding,
Map<String,String> options)
Constructs a RawInsertRecordsRequest object with the specified
parameters.
|
RawInsertRecordsRequest(String tableName,
List<ByteBuffer> list,
Map<String,String> options)
Constructs a RawInsertRecordsRequest object with the specified
parameters.
|
Modifier and Type | Method and Description | ||
---|---|---|---|
boolean |
equals(Object obj) |
||
Object |
get(int index)
This method supports the Avro framework and is not intended to be called
directly by the user.
|
||
static org.apache.avro.Schema |
getClassSchema()
This method supports the Avro framework and is not intended to be called
directly by the user.
|
||
List<ByteBuffer> |
getList()
An array of binary-encoded data for the records to be added.
|
||
String |
getListEncoding()
The encoding of the records to be inserted.
|
||
List<String> |
getListStr()
An array of JSON encoded data for the records to be added.
|
||
Map<String,String> |
getOptions()
Optional parameters.
|
||
org.apache.avro.Schema |
getSchema()
This method supports the Avro framework and is not intended to be called
directly by the user.
|
||
String |
getTableName()
Name of table to which the records are to be added, in
[schema_name.]table_name format, using standard
int hashCode() | ||
void |
put(int index,
Object value)
This method supports the Avro framework and is not intended to be called
directly by the user.
|
||
RawInsertRecordsRequest |
setList(List<ByteBuffer> list)
An array of binary-encoded data for the records to be added.
|
||
RawInsertRecordsRequest |
setListEncoding(String listEncoding)
The encoding of the records to be inserted.
|
||
RawInsertRecordsRequest |
setListStr(List<String> listStr)
An array of JSON encoded data for the records to be added.
|
||
RawInsertRecordsRequest |
setOptions(Map<String,String> options)
Optional parameters.
|
||
RawInsertRecordsRequest |
setTableName(String tableName)
|
public RawInsertRecordsRequest()
public RawInsertRecordsRequest(String tableName, List<ByteBuffer> list, 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.list
- 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 RawInsertRecordsRequest(String tableName, List<ByteBuffer> list, List<String> listStr, String listEncoding, 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.list
- 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
.listStr
- An 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
.listEncoding
- The encoding of the records to be inserted.
Supported values:
The default value is BINARY
.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 static org.apache.avro.Schema getClassSchema()
public String getTableName()
tableName
.public RawInsertRecordsRequest setTableName(String tableName)
tableName
- The new value for tableName
.this
to mimic the builder pattern.public List<ByteBuffer> getList()
listEncoding
is JSON
.list
.public RawInsertRecordsRequest setList(List<ByteBuffer> list)
listEncoding
is JSON
.list
- The new value for list
.this
to mimic the builder pattern.public List<String> getListStr()
listEncoding
is BINARY
.listStr
.public RawInsertRecordsRequest setListStr(List<String> listStr)
listEncoding
is BINARY
.listStr
- The new value for listStr
.this
to mimic the builder pattern.public String getListEncoding()
BINARY
.listEncoding
.public RawInsertRecordsRequest setListEncoding(String listEncoding)
BINARY
.listEncoding
- The new value for listEncoding
.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 RawInsertRecordsRequest 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.public org.apache.avro.Schema getSchema()
getSchema
in interface org.apache.avro.generic.GenericContainer
public Object get(int index)
get
in interface org.apache.avro.generic.IndexedRecord
index
- the position of the field to getIndexOutOfBoundsException
public void put(int index, Object value)
put
in interface org.apache.avro.generic.IndexedRecord
index
- the position of the field to setvalue
- the value to setIndexOutOfBoundsException
Copyright © 2025. All rights reserved.