Version:

/filter/bylistΒΆ

URL: http://GPUDB_IP_ADDRESS:GPUDB_PORT/filter/bylist

Calculates which records from a table have values in the given list for the corresponding column. The operation is synchronous, meaning that a response will not be returned until all the objects are fully available. The response payload provides the count of the resulting set. A new resultant set (view) which satisfies the input filter specification is also created if a input parameter view_name is passed in as part of the request.

For example, if a type definition has the columns 'x' and 'y', then a filter by list query with the column map {"x":["10.1", "2.3"], "y":["0.0", "-31.5", "42.0"]} will return the count of all data points whose x and y values match both in the respective x- and y-lists, e.g., "x = 10.1 and y = 0.0", "x = 2.3 and y = -31.5", etc. However, a record with "x = 10.1 and y = -31.5" or "x = 2.3 and y = 0.0" would not be returned because the values in the given lists do not correspond.

Input Parameter Description

Name Type Description
table_name string Name of the table to filter. This may be the ID of a collection, table or a result set (for chaining queries). Collections may be filtered only if all tables within the collection have the same type ID.
view_name string If provided, then this will be the name of the view containing the results. Has the same naming restrictions as tables. Default value is ''.
column_values_map map of arrays of strings List of values for the corresponding column in the table
options map of strings

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

Supported Parameters (keys) Parameter Description
filter_mode

String indicating the filter mode, either 'in_list' or 'not_in_list'. Default value is 'in_list'.

Supported Values Description
in_list The filter will match all items that are in the provided list(s).
not_in_list The filter will match all items that are not in the provided list(s).

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 'filter_by_list_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 /filter/bylist endpoint:

Name Type Description
count long The number of records passing the list filter.

Empty string in case of an error.