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 input parameter 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.
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.
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 input parameter list_encoding is json.
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 input parameter list_encoding is binary.
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, and return_individual_errors. If the specified table does not have a primary key, then this option has no effect.The default value is false.
true: Upsert new records when primary keys match existing records.
false: Reject new records when primary keys match existing records.
Applies only when upserting (when update_on_existing_pk is true). If set to true, an existing record matched by primary key is modified in place. If set to false, it is 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.The default value is true.The supported values are:
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 and 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.The default value is false.
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.
If set to true, any strings which are too long for their target charN string columns will be truncated to fit.The default value is false.The supported values are:
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). If so, there will also be an “error_N” entry for each record with an error, where N is the index (0-based).The default value is false.The supported values are:
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.The default value is false.The supported values are:
Specifies how errors should be handled upon insertion. When set, this option is authoritative; supplying a contradictory allow_partial_batch is an error.The default value is abort.
permissive: Records with bad column values are kept when possible: the offending column is filled with its default value if one exists, otherwise with null if the column is nullable; if neither is possible the record is skipped and reported.
skip: Records with bad values are skipped and reported; the rest of the batch is inserted.
abort: Stops the insertion and rejects the remaining batch when any record is incorrect.
Type schema of input parameter list (when input parameter list_encoding is binary), in [[“{column_name}”,“{column_type}”]] format. When non-empty and different from the table’s schema, the server remaps the incoming records to the table’s full schema. Columns present in the table but absent from this schema are filled using their default values, NULL (if nullable), or an error is returned. If empty, records must match the table’s full schema.The default value is ”.
Comma-separated expressions, one per target table column. Each expression is evaluated per record. Empty entries (two consecutive commas) mean no transformation for that column — the value is resolved from the input record, table default, NULL, or an error. Expressions may reference input columns by name or by position (1forthefirstinputcolumn,2 for the second, etc.).The default value is ”.
The Kinetica server embeds the endpoint response inside a standard response structure which contains status information and the actual response to the query. Here is a description of the various fields of the wrapper: