Package com.gpudb.protocol
Class InsertRecordsFromQueryRequest.Options
- java.lang.Object
-
- com.gpudb.protocol.InsertRecordsFromQueryRequest.Options
-
- Enclosing class:
- InsertRecordsFromQueryRequest
public static final class InsertRecordsFromQueryRequest.Options extends Object
A set of string constants for theInsertRecordsFromQueryRequestparameteroptions.Optional parameters.
-
-
Field Summary
Fields Modifier and Type Field Description static StringABORTStops current insertion and aborts entire operation when an error is encountered.static StringBAD_RECORD_TABLE_LIMITA positive integer indicating the maximum number of records that can be written to the bad-record-table.static StringBAD_RECORD_TABLE_NAMEOptional name of a table to which records that were rejected are written.static StringBATCH_SIZENumber of records per batch when inserting data.static StringDATASOURCE_NAMEName of an existing external data source from which table will be loadedstatic StringDRY_RUNDoes not load data, but walks through the source data and determines the number of valid records, taking into account the current mode ofERROR_HANDLING.static StringERROR_HANDLINGSpecifies how errors should be handled upon insertion.static StringFALSEReject new records when primary keys match existing recordsstatic StringFULLRun a type inference on the source data (if needed) and ingeststatic StringIGNORE_BAD_RECORDSMalformed records are skipped.static StringIGNORE_EXISTING_PKSpecifies 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 whenUPDATE_ON_EXISTING_PKisFALSE).static StringINGESTION_MODEWhether to do a full load, dry run, or perform a type inference on the source data.static StringJDBC_FETCH_SIZEThe JDBC fetch size, which determines how many rows to fetch per round trip.static StringJDBC_SESSION_INIT_STATEMENTExecutes the statement per each jdbc session before doing actual load.static StringNUM_SPLITS_PER_RANKOptional: number of splits for reading data per rank.static StringNUM_TASKS_PER_RANKOptional: number of tasks for reading data per rank.static StringPERMISSIVERecords with missing columns are populated with nulls if possible; otherwise, the malformed records are skipped.static StringPRIMARY_KEYSOptional: comma separated list of column names, to set as primary keys, when not specified in the type.static StringREMOTE_QUERYRemote SQL query from which data will be sourcedstatic StringREMOTE_QUERY_FILTER_COLUMNName of column to be used for splitting the query into multiple sub-queries using the data distribution of given column.static StringREMOTE_QUERY_INCREASING_COLUMNColumn on subscribed remote query result that will increase for new records (e.g., TIMESTAMP).static StringREMOTE_QUERY_ORDER_BYName of column to be used for splitting the query into multiple sub-queries using ordering of given column.static StringREMOTE_QUERY_PARTITION_COLUMNAlias name for remote_query_filter_column.static StringSHARD_KEYSOptional: comma separated list of column names, to set as primary keys, when not specified in the type.static StringSUBSCRIBEContinuously poll the data source to check for new data and load it into the table.static StringTRUEUpsert new records when primary keys match existing recordsstatic StringTRUNCATE_STRINGSIf set toTRUE, truncate string values that are longer than the column's type size.static StringTRUNCATE_TABLEstatic StringTYPE_INFERENCE_ONLYInfer the type of the source data and return, without ingesting any data.static StringUPDATE_ON_EXISTING_PKSpecifies the record collision policy for inserting into a table with a primary key.
-
-
-
Field Detail
-
BAD_RECORD_TABLE_NAME
public static final String BAD_RECORD_TABLE_NAME
Optional 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.- See Also:
- Constant Field Values
-
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- See Also:
- Constant Field Values
-
BATCH_SIZE
public static final String BATCH_SIZE
Number of records per batch when inserting data.- See Also:
- Constant Field Values
-
DATASOURCE_NAME
public static final String DATASOURCE_NAME
Name of an existing external data source from which table will be loaded- See Also:
- Constant Field Values
-
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.
ABORT.- See Also:
- Constant Field Values
-
PERMISSIVE
public static final String PERMISSIVE
Records with missing columns are populated with nulls if possible; otherwise, the malformed records are skipped.- See Also:
- Constant Field Values
-
IGNORE_BAD_RECORDS
public static final String IGNORE_BAD_RECORDS
Malformed records are skipped.- See Also:
- Constant Field Values
-
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.- See Also:
- Constant Field Values
-
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 whenUPDATE_ON_EXISTING_PKisFALSE). If set toTRUE, 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. IfFALSE, the rejection of any record for having primary key values matching an existing record will result in an error being reported, as determined byERROR_HANDLING. If the specified table does not have a primary key or if upsert mode is in effect (UPDATE_ON_EXISTING_PKisTRUE), then this option has no effect. Supported values:TRUE: Ignore new records whose primary key values collide with those of existing recordsFALSE: Treat as errors any new records whose primary key values collide with those of existing records
FALSE.- See Also:
- Constant Field Values
-
TRUE
public static final String TRUE
Upsert new records when primary keys match existing records- See Also:
- Constant Field Values
-
FALSE
public static final String FALSE
Reject new records when primary keys match existing records- See Also:
- Constant Field Values
-
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 ingestDRY_RUN: Does not load data, but walks through the source data and determines the number of valid records, taking into account the current mode ofERROR_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.
FULL.- See Also:
- Constant Field Values
-
FULL
public static final String FULL
Run a type inference on the source data (if needed) and ingest- See Also:
- Constant Field Values
-
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 ofERROR_HANDLING.- See Also:
- Constant Field Values
-
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.- See Also:
- Constant Field Values
-
JDBC_FETCH_SIZE
public static final String JDBC_FETCH_SIZE
The JDBC fetch size, which determines how many rows to fetch per round trip.- See Also:
- Constant Field Values
-
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 ''.- See Also:
- Constant Field Values
-
NUM_SPLITS_PER_RANK
public static final String NUM_SPLITS_PER_RANK
Optional: number of splits for reading data per rank. Default will be external_file_reader_num_tasks. The default value is ''.- See Also:
- Constant Field Values
-
NUM_TASKS_PER_RANK
public static final String NUM_TASKS_PER_RANK
Optional: number of tasks for reading data per rank. Default will be external_file_reader_num_tasks- See Also:
- Constant Field Values
-
PRIMARY_KEYS
public static final String PRIMARY_KEYS
Optional: comma separated list of column names, to set as primary keys, when not specified in the type. The default value is ''.- See Also:
- Constant Field Values
-
SHARD_KEYS
public static final String SHARD_KEYS
Optional: comma separated list of column names, to set as primary keys, when not specified in the type. The default value is ''.- See Also:
- Constant Field Values
-
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 isFALSE.- See Also:
- Constant Field Values
-
TRUNCATE_TABLE
public static final String TRUNCATE_TABLE
If set toTRUE, truncates the table specified bytableNameprior to loading the data. Supported values: The default value isFALSE.- See Also:
- Constant Field Values
-
REMOTE_QUERY
public static final String REMOTE_QUERY
Remote SQL query from which data will be sourced- See Also:
- Constant Field Values
-
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 ''.- See Also:
- Constant Field Values
-
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 ''.- See Also:
- Constant Field Values
-
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 ''.- See Also:
- Constant Field Values
-
REMOTE_QUERY_PARTITION_COLUMN
public static final String REMOTE_QUERY_PARTITION_COLUMN
Alias name for remote_query_filter_column. The default value is ''.- See Also:
- Constant Field Values
-
TRUNCATE_STRINGS
public static final String TRUNCATE_STRINGS
If set toTRUE, truncate string values that are longer than the column's type size. Supported values: The default value isFALSE.- See Also:
- Constant Field Values
-
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 toTRUE, 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 toFALSE, 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 byIGNORE_EXISTING_PKandERROR_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 recordsFALSE: Reject new records when primary keys match existing records
FALSE.- See Also:
- Constant Field Values
-
-