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 name of a collection, a table, or a view (when chaining queries). If filtering a collection, all child tables where the filter expression is valid will be filtered; the filtered result tables will then be placed in a collection specified by input parameter view_name.
view_name string If provided, then this will be the name of the view containing the results. Has the same naming restrictions as tables. The default value is ''.
column_values_map map of string to arrays of strings List of values for the corresponding column in the table
options map of string to strings

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

Supported Parameters (keys) Parameter Description
collection_name Name of a collection which is to contain the newly created view. If the collection provided is non-existent, the collection will be automatically created. If empty, then the newly created view will be top-level.
filter_mode

String indicating the filter mode, either 'in_list' or 'not_in_list'. The 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.
info map of string to strings Additional information.

Empty string in case of an error.