Skip to main content

Class UpdateRecordsRequest.Options

java.lang.Object
com.gpudb.protocol.UpdateRecordsRequest.Options
Enclosing class:

public static final class UpdateRecordsRequest.Options extends Object
A set of string constants for the UpdateRecordsRequest parameter options.

Optional parameters.

  • Field Details

    • GLOBAL_EXPRESSION

      public static final String GLOBAL_EXPRESSION
      An optional global expression to reduce the search space of the predicates listed in expressions. The default value is ”.
    • BYPASS_SAFETY_CHECKS

      public static final String 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.
    • TRUE

      public static final String TRUE
    • FALSE

      public static final String FALSE
    • UPDATE_ON_EXISTING_PK

      public static final String 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 data (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 data / 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
      The default value is FALSE.
    • IGNORE_EXISTING_PK

      public static final String 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.
      The default value is FALSE.
    • UPDATE_PARTITION

      public static final String UPDATE_PARTITION
      Force qualifying records to be deleted and reinserted so their partition membership will be reevaluated. Supported values:The default value is FALSE.
    • ENABLE_INPLACE_UPDATES

      public static final String ENABLE_INPLACE_UPDATES
      If set to TRUE, qualifying records are modified in place. If set to FALSE, they are updated by deleting the existing record and inserting a replacement (delete and insert), which prevents the change from being reflected in dependent materialized views until they are refreshed. Supported values:The default value is TRUE.
    • TRUNCATE_STRINGS

      public static final String 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

      public static final String 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

      public static final String RECORD_ID
      ID of a single record to be updated (returned in the call to GPUdb.insertRecords or GPUdb.getRecordsFromCollection).