Skip to main content
  • filterByList

    public FilterByListResponse filterByList(FilterByListRequest request) throws GPUdbException
    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 viewName 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.

    Parameters:
    request - Request object containing the parameters for the operation.
    Returns:
    Response object containing the results of the operation.
    Throws:
    GPUdbException - if an error occurs during the operation.
  • filterByList

    public FilterByListResponse filterByList(String tableName, String viewName, Map<String,List<String>> columnValuesMap, Map<String,String> options) throws GPUdbException
    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 viewName 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.

    Parameters:
    tableName - Name of the table to filter, in [schema_name.]table_name format, using standard name resolution rules. This may be the name of a table or a view (when chaining queries).
    viewName - If provided, then this will be the name of the view containing the results, in [schema_name.]view_name format, using standard name resolution rules and meeting table naming criteria. Must not be an already existing table or view. The default value is ”.
    columnValuesMap - List of values for the corresponding column in the table.
    options - Optional parameters.
    • CREATE_TEMP_TABLE: If TRUE, a unique temporary table name will be generated in the sys_temp schema and used in place of viewName. This is always allowed even if the caller does not have permission to create tables. The generated name is returned in QUALIFIED_VIEW_NAME. Supported values:The default value is FALSE.
    • COLLECTION_NAME: [DEPRECATED—please specify the containing schema for the view as part of viewName and use createSchema to create the schema if non-existent] Name of a schema for the newly created view. If the schema provided is non-existent, it will be automatically created.
    • FILTER_MODE: String indicating the filter mode, either ‘in_list’ or ‘not_in_list’. Supported values:
      • 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).
      The default value is IN_LIST.
    The default value is an empty Map.
    Returns:
    Response object containing the results of the operation.
    Throws:
    GPUdbException - if an error occurs during the operation.