public class RawInsertRecordsRequest extends Object implements org.apache.avro.generic.IndexedRecord
GPUdb.insertRecordsRaw(RawInsertRecordsRequest)
.
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
The encoding of the records to be inserted.
|
static class |
RawInsertRecordsRequest.Options
Optional parameters.
|
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() |
String |
getListEncoding() |
List<String> |
getListStr() |
Map<String,String> |
getOptions() |
org.apache.avro.Schema |
getSchema()
This method supports the Avro framework and is not intended to be called
directly by the user.
|
String |
getTableName() |
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) |
RawInsertRecordsRequest |
setListEncoding(String listEncoding) |
RawInsertRecordsRequest |
setListStr(List<String> listStr) |
RawInsertRecordsRequest |
setOptions(Map<String,String> options) |
RawInsertRecordsRequest |
setTableName(String tableName) |
String |
toString() |
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()
public RawInsertRecordsRequest 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<ByteBuffer> getList()
listEncoding
is json
.public RawInsertRecordsRequest setList(List<ByteBuffer> list)
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
.this
to mimic the builder pattern.public List<String> getListStr()
listEncoding
is binary
.public RawInsertRecordsRequest setListStr(List<String> listStr)
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
.this
to mimic the builder pattern.public String getListEncoding()
public RawInsertRecordsRequest setListEncoding(String listEncoding)
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 RawInsertRecordsRequest 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.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 © 2024. All rights reserved.