Skip to main content

Class InsertRecordsFromQueryRequest.Options

java.lang.Object
com.gpudb.protocol.InsertRecordsFromQueryRequest.Options

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

Optional parameters.

  • Field Details

    • BAD_RECORD_TABLE_NAME

      public static final String BAD_RECORD_TABLE_NAME
      Name of a table to which records that were rejected are written. The bad-record-table has the following columns: line_number (long), line_rejected (string), error_message (string). When error handling is Abort, bad records table is not populated.
    • BAD_RECORD_TABLE_LIMIT

      public static final String BAD_RECORD_TABLE_LIMIT
      A positive integer indicating the maximum number of records that can be written to the bad-record-table. Default value is 10000.
    • BATCH_SIZE

      public static final String BATCH_SIZE
      Number of records per batch when inserting data.
    • DATASOURCE_NAME

      public static final String DATASOURCE_NAME
      Name of an existing external data source from which table will be loaded.
    • ERROR_HANDLING

      public static final String ERROR_HANDLING
      Specifies how errors should be handled upon insertion. Supported values:
      • PERMISSIVE: Records with missing columns are populated with nulls if possible; otherwise, the malformed records are skipped.
      • IGNORE_BAD_RECORDS: Malformed records are skipped.
      • ABORT: Stops current insertion and aborts entire operation when an error is encountered. Primary key collisions are considered abortable errors in this mode.
      The default value is ABORT.
    • PERMISSIVE

      public static final String PERMISSIVE
      Records with missing columns are populated with nulls if possible; otherwise, the malformed records are skipped.
    • IGNORE_BAD_RECORDS

      public static final String IGNORE_BAD_RECORDS
      Malformed records are skipped.
    • ABORT

      public static final String ABORT
      Stops current insertion and aborts entire operation when an error is encountered. Primary key collisions are considered abortable errors in this mode.
    • IGNORE_EXISTING_PK

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

      public static final String TRUE
      Upsert new records when primary keys match existing records.
    • FALSE

      public static final String FALSE
      Reject new records when primary keys match existing records.
    • INGESTION_MODE

      public static final String INGESTION_MODE
      Whether to do a full load, dry run, or perform a type inference on the source data. Supported values:
      • FULL: Run a type inference on the source data (if needed) and ingest.
      • DRY_RUN: Does not load data, but walks through the source data and determines the number of valid records, taking into account the current mode of ERROR_HANDLING.
      • TYPE_INFERENCE_ONLY: Infer the type of the source data and return, without ingesting any data. The inferred type is returned in the response.
      The default value is FULL.
    • FULL

      public static final String FULL
      Run a type inference on the source data (if needed) and ingest.
    • DRY_RUN

      public static final String DRY_RUN
      Does not load data, but walks through the source data and determines the number of valid records, taking into account the current mode of ERROR_HANDLING.
    • TYPE_INFERENCE_ONLY

      public static final String TYPE_INFERENCE_ONLY
      Infer the type of the source data and return, without ingesting any data. The inferred type is returned in the response.
    • JDBC_FETCH_SIZE

      public static final String JDBC_FETCH_SIZE
      The JDBC fetch size, which determines how many rows to fetch per round trip.
    • JDBC_SESSION_INIT_STATEMENT

      public static final String JDBC_SESSION_INIT_STATEMENT
      Executes the statement per each JDBC session before doing actual load. The default value is ”.
    • NUM_SPLITS_PER_RANK

      public static final String NUM_SPLITS_PER_RANK
      Number of splits for reading data per rank. Default will be external_file_reader_num_tasks. The default value is ”.
    • NUM_TASKS_PER_RANK

      public static final String NUM_TASKS_PER_RANK
      Number of tasks for reading data per rank. Default will be external_file_reader_num_tasks.
    • PRIMARY_KEYS

      public static final String PRIMARY_KEYS
      Comma separated list of column names, to set as primary keys, when not specified in the type. The default value is ”.
    • SHARD_KEYS

      public static final String SHARD_KEYS
      Comma separated list of column names, to set as shard keys, when not specified in the type. The default value is ”.
    • SUBSCRIBE

      public static final String SUBSCRIBE
      Continuously poll the data source to check for new data and load it into the table. Supported values:The default value is FALSE.
    • TRUNCATE_TABLE

      public static final String TRUNCATE_TABLE
      If set to TRUE, truncates the table specified by tableName prior to loading the data. Supported values:The default value is FALSE.
    • REMOTE_QUERY

      public static final String REMOTE_QUERY
      Remote SQL query from which data will be sourced.
    • REMOTE_QUERY_ORDER_BY

      public static final String REMOTE_QUERY_ORDER_BY
      Name of column to be used for splitting the query into multiple sub-queries using ordering of given column. The default value is ”.
    • REMOTE_QUERY_FILTER_COLUMN

      public static final String REMOTE_QUERY_FILTER_COLUMN
      Name of column to be used for splitting the query into multiple sub-queries using the data distribution of given column. The default value is ”.
    • REMOTE_QUERY_INCREASING_COLUMN

      public static final String REMOTE_QUERY_INCREASING_COLUMN
      Column on subscribed remote query result that will increase for new records (e.g., TIMESTAMP). The default value is ”.
    • REMOTE_QUERY_PARTITION_COLUMN

      public static final String REMOTE_QUERY_PARTITION_COLUMN
      Alias name for REMOTE_QUERY_FILTER_COLUMN. The default value is ”.
    • TRUNCATE_STRINGS

      public static final String TRUNCATE_STRINGS
      If set to TRUE, truncate string values that are longer than the column’s type size. Supported values:The default value is FALSE.
    • ENABLE_INPLACE_UPDATES

      public static final String ENABLE_INPLACE_UPDATES
      Applies only when upserting (when update_on_existing_pk is true). If set to true (the default), an existing record matched by primary key is modified in place. If set to false, the matched record is updated by deleting it 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.
    • UPDATE_ON_EXISTING_PK

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