Version:

/aggregate/uniqueΒΆ

URL: http://GPUDB_IP_ADDRESS:GPUDB_PORT/aggregate/unique

Returns all the unique values from a particular column (specified by input parameter column_name) of a particular table (specified by input parameter table_name). If input parameter column_name is a numeric column the values will be in output parameter binary_encoded_response. Otherwise if input parameter column_name is a string column the values will be in output parameter json_encoded_response. input parameter offset and input parameter limit are used to page through the results if there are large numbers of unique values. To get the first 10 unique values sorted in descending order input parameter options would be:

{"limit":"10","sort_order":"descending"}.

The response is returned as a dynamic schema. For details see: dynamic schemas documentation. If the 'result_table' option is provided then the results are stored in a table with the name given in the option and the results are not returned in the response.

Input Parameter Description

Name Type Description
table_name string Name of the table on which the operation will be performed. Must be a valid table in GPUdb.
column_name string Name of the column or an expression containing one or more column names on which the unique function would be applied.
offset long A positive integer indicating the number of initial results to skip (this can be useful for paging through the results). The minimum allowed value is 0. The maximum allowed value is MAX_INT.
limit long A positive integer indicating the maximum number of results to be returned. Or END_OF_SET (-9999) to indicate that the max number of results should be returned. Default value is 10000.
encoding string

Specifies the encoding for returned records. Default value is 'binary'.

Supported Values Description
binary Indicates that the returned records should be binary encoded.
json Indicates that the returned records should be json encoded.
options map of strings

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

Supported Parameters (keys) Parameter Description
expression Optional filter expression to apply to the table.
sort_order

String indicating how the returned values should be sorted. Default value is 'ascending'. The allowed values are:

  • ascending
  • descending
result_table The name of the table used to store the results. If present no results are returned in the response.

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 'aggregate_unique_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 /aggregate/unique endpoint:

Name Type Description
table_name string The same table name as was passed in the parameter list.
response_schema_str string Avro schema of output parameter binary_encoded_response or output parameter json_encoded_response.
binary_encoded_response bytes Avro binary encoded response.
json_encoded_response string Avro JSON encoded response.
has_more_records boolean Too many records. Returned a partial set.

Empty string in case of an error.