Version:

/append/records

URL: http://GPUDB_IP_ADDRESS:GPUDB_PORT/append/records

Append (or insert) all records from a source table (specified by input parameter source_table_name) to a particular target table (specified by input parameter table_name). The field map (specified by input parameter field_map) holds the user specified map of target table column names with their mapped source column names.

Input Parameter Description

Name Type Description
table_name string The table name for the records to be appended. Must be an existing table.
source_table_name string The source table name to get records from. Must be an existing table name.
field_map map of string to strings Contains the mapping of column names from the target table (specified by input parameter table_name) as the keys, and corresponding column names or expressions (e.g., 'col_name+1') from the source table (specified by input parameter source_table_name). Must be existing column names in source table and target table, and their types must be matched. For details on using expressions, see Expressions.
options map of string to strings

Optional parameters. The default value is an empty map ( {} ).

Supported Parameters (keys) Parameter Description
offset A positive integer indicating the number of initial results to skip from source table (specified by input parameter source_table_name). Default is 0. The minimum allowed value is 0. The maximum allowed value is MAX_INT. The default value is '0'.
limit A positive integer indicating the maximum number of results to be returned from source table (specified by input parameter source_table_name). Or END_OF_SET (-9999) to indicate that the max number of results should be returned. The default value is '-9999'.
expression Optional filter expression to apply to the source table (specified by input parameter source_table_name). Empty by default. The default value is ''.
order_by Comma-separated list of the columns and expressions to be sorted by from the source table (specified by input parameter source_table_name); e.g. 'timestamp asc, x desc'. The order_by columns do not have to be present in input parameter field_map. The default value is ''.
update_on_existing_pk

Specifies the record collision policy for inserting the source table records (specified by input parameter source_table_name) into the target table (specified by input parameter table_name) table with a primary key. If set to true, any existing target table record with primary key values that match those of a source table record being inserted will be replaced by that new record. If set to false, any existing target table record with primary key values that match those of a source table record being inserted will remain unchanged and the new record discarded. If the specified table does not have a primary key, then this option is ignored. The supported values are:

  • true
  • false
truncate_strings

If set to true, it allows inserting unrestricted length strings into charN string columns by truncating the unrestricted length strings to fit. The supported values are:

  • true
  • false

Output Parameter Description

The GPUdb 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:

Name Type Description
status String 'OK' or 'ERROR'
message String Empty if success or an error message
data_type String 'append_records_request' or 'none' in case of an error
data String Empty string
data_str JSON or String

This embedded JSON represents the result of the /append/records endpoint:

Name Type Description
table_name string  

Empty string in case of an error.