public static final class UpdateRecordsRequest.Options extends Object
GLOBAL_EXPRESSION
: An optional global expression to reduce the search
space of the predicates listed in expressions
. The default
value is ''.
BYPASS_SAFETY_CHECKS
: When set to true
,
all predicates are available for primary key updates. Keep in mind that
it is possible to destroy
data in this case, since a single predicate may match multiple objects
(potentially all of records
of a table), and then updating all of those records to have the same
primary key will, due to the
primary key uniqueness constraints, effectively delete all but one of
those updated records.
Supported values:
The default value is FALSE
.
UPDATE_ON_EXISTING_PK
: Specifies the record collision policy for
updating a table with a
primary key. There are two ways that a record
collision can
occur.
The first is an "update collision", which happens when the update changes the value of the updated record's primary key, and that new primary key already exists as the primary key of another record in the table.
The second is an "insert collision", which occurs when a given filter in
expressions
finds no records to update, and the alternate insert record given in
recordsToInsert
(or
recordsToInsertStr
) contains a primary key matching that of an
existing record in the
table.
If update_on_existing_pk
is set to
true
, "update collisions" will result in the
existing record collided into being removed and the record updated with
values specified in
newValuesMaps
taking its place; "insert collisions" will result
in the collided-into
record being updated with the values in recordsToInsert
/recordsToInsertStr
(if given).
If set to false
, the existing collided-into
record will remain unchanged, while the update will be rejected and the
error handled as determined
by ignore_existing_pk
. If the specified table does not have a
primary key,
then this option has no effect.
Supported values:
TRUE
: Overwrite
the collided-into record when updating a
record's primary key or inserting an alternate record causes a primary
key collision between the
record being updated/inserted and another existing record in the table
FALSE
: Reject
updates which cause primary key collisions
between the record being updated/inserted and an existing record in the
table
FALSE
.
IGNORE_EXISTING_PK
: Specifies the record collision error-suppression
policy for
updating a table with a primary key, only used when primary
key record collisions are rejected (update_on_existing_pk
is
false
). If set to
true
, any record update that is rejected for
resulting in a primary key collision with an existing table record will
be ignored with no error
generated. If false
, the rejection of any update
for resulting in a primary key collision will cause an error to be
reported. If the specified table
does not have a primary key or if update_on_existing_pk
is
true
, then this option has no effect.
Supported values:
TRUE
: Ignore
updates that result in primary key collisions with existing records
FALSE
: Treat
as errors any updates that result in primary key collisions with
existing records
FALSE
.
UPDATE_PARTITION
: Force qualifying records to be deleted and reinserted
so their partition membership will be reevaluated.
Supported values:
The default value is FALSE
.
TRUNCATE_STRINGS
: If set to true
, any strings which are too
long for their charN string fields will be truncated to fit.
Supported values:
The default value is FALSE
.
USE_EXPRESSIONS_IN_NEW_VALUES_MAPS
: When set to true
,
all new values in newValuesMaps
are considered as expression
values. When set to
false
, all new values in
newValuesMaps
are considered as constants. NOTE: When
true
, string constants will need
to be quoted to avoid being evaluated as expressions.
Supported values:
The default value is FALSE
.
RECORD_ID
:
ID of a single record to be updated (returned in the call to GPUdb.insertRecords(InsertRecordsRequest)
or GPUdb.getRecordsFromCollection(Object,
GetRecordsFromCollectionRequest)
).
Map
.
A set of string constants for the parameter options
.Modifier and Type | Field and Description | ||
---|---|---|---|
static String |
BYPASS_SAFETY_CHECKS
When set to
true ,
all predicates are available for primary key updates. |
||
static String |
FALSE |
||
static String |
GLOBAL_EXPRESSION
An optional global expression to reduce the search space of the
predicates listed in
expressions . |
||
static String |
IGNORE_EXISTING_PK
Specifies the record collision error-suppression policy for
updating a table with a
static String RECORD_ID
ID of a single record to be updated (returned in the call to
GPUdb.insertRecords(InsertRecordsRequest) or GPUdb.getRecordsFromCollection(Object,
GetRecordsFromCollectionRequest) ). | ||
static String |
TRUE |
||
static String |
TRUNCATE_STRINGS
If set to
true , any strings which are too long for their
charN string fields will be truncated to fit. |
||
static String |
UPDATE_ON_EXISTING_PK
Specifies the record collision policy for updating a table with a
static String UPDATE_PARTITION
Force qualifying records to be deleted and reinserted so their
partition membership will be reevaluated.
| ||
static String |
USE_EXPRESSIONS_IN_NEW_VALUES_MAPS
When set to
true ,
all new values in newValuesMaps are considered as expression
values. |
public static final String GLOBAL_EXPRESSION
expressions
. The default value is ''.public static final String BYPASS_SAFETY_CHECKS
true
,
all predicates are available for primary key updates. Keep in mind
that it is possible to destroy
data in this case, since a single predicate may match multiple
objects (potentially all of records
of a table), and then updating all of those records to have the same
primary key will, due to the
primary key uniqueness constraints, effectively delete all but one
of those updated records.
Supported values:
The default value is FALSE
.public static final String TRUE
public static final String FALSE
public static final String UPDATE_ON_EXISTING_PK
The first is an "update collision", which happens when the update changes the value of the updated record's primary key, and that new primary key already exists as the primary key of another record in the table.
The second is an "insert collision", which occurs when a given
filter in expressions
finds no records to update, and the alternate insert record given in
recordsToInsert
(or
recordsToInsertStr
) contains a primary key matching that of
an existing record in the
table.
If update_on_existing_pk
is set to
true
, "update collisions" will result in the
existing record collided into being removed and the record updated
with values specified in
newValuesMaps
taking its place; "insert collisions" will
result in the collided-into
record being updated with the values in recordsToInsert
/recordsToInsertStr
(if given).
If set to false
, the existing collided-into
record will remain unchanged, while the update will be rejected and
the error handled as determined
by ignore_existing_pk
. If the specified table does not have
a primary key,
then this option has no effect.
Supported values:
TRUE
:
Overwrite the collided-into record when updating a
record's primary key or inserting an alternate record causes a
primary key collision between the
record being updated/inserted and another existing record in the
table
FALSE
:
Reject updates which cause primary key collisions
between the record being updated/inserted and an existing record in
the table
FALSE
.public static final String IGNORE_EXISTING_PK
update_on_existing_pk
is
false
). If set to
true
, any record update that is rejected for
resulting in a primary key collision with an existing table record
will be ignored with no error
generated. If false
, the rejection of any update
for resulting in a primary key collision will cause an error to be
reported. If the specified table
does not have a primary key or if update_on_existing_pk
is
true
, then this option has no effect.
Supported values:
TRUE
:
Ignore updates that result in primary key collisions with existing
records
FALSE
:
Treat as errors any updates that result in primary key collisions
with existing records
FALSE
.public static final String UPDATE_PARTITION
FALSE
.public static final String TRUNCATE_STRINGS
true
, any strings which are too long for their
charN string fields will be truncated to fit.
Supported values:
The default value is FALSE
.public static final String USE_EXPRESSIONS_IN_NEW_VALUES_MAPS
true
,
all new values in newValuesMaps
are considered as expression
values. When set to
false
, all new values in
newValuesMaps
are considered as constants. NOTE: When
true
, string constants will need
to be quoted to avoid being evaluated as expressions.
Supported values:
The default value is FALSE
.public static final String RECORD_ID
GPUdb.insertRecords(InsertRecordsRequest)
or GPUdb.getRecordsFromCollection(Object,
GetRecordsFromCollectionRequest)
).Copyright © 2024. All rights reserved.