Skip to main content

Class FilterByListRequest

java.lang.Object
com.gpudb.protocol.FilterByListRequest
All Implemented Interfaces:
org.apache.avro.generic.GenericContainer, org.apache.avro.generic.IndexedRecord

public class FilterByListRequest extends Object implements org.apache.avro.generic.IndexedRecord
A set of parameters for GPUdb.filterByList.

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.

  • Constructor Details

    • FilterByListRequest

      public FilterByListRequest()
      Constructs a FilterByListRequest object with default parameters.
    • FilterByListRequest

      public FilterByListRequest(String tableName, String viewName, Map<String,List<String>> columnValuesMap, Map<String,String> options)
      Constructs a FilterByListRequest object with the specified parameters.
      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 GPUdb.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.
  • Method Details

    • getClassSchema

      public static org.apache.avro.Schema getClassSchema()
      This method supports the Avro framework and is not intended to be called directly by the user.
      Returns:
      The schema for the class.
    • getTableName

      public String getTableName()
      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).
      Returns:
      The current value of tableName.
    • setTableName

      public FilterByListRequest setTableName(String 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).
      Parameters:
      tableName - The new value for tableName.
      Returns:
      this to mimic the builder pattern.
    • getViewName

      public String getViewName()
      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 ”.
      Returns:
      The current value of viewName.
    • setViewName

      public FilterByListRequest setViewName(String 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 ”.
      Parameters:
      viewName - The new value for viewName.
      Returns:
      this to mimic the builder pattern.
    • getColumnValuesMap

      public Map<String,List<String>> getColumnValuesMap()
      List of values for the corresponding column in the table.
      Returns:
      The current value of columnValuesMap.
    • setColumnValuesMap

      public FilterByListRequest setColumnValuesMap(Map<String,List<String>> columnValuesMap)
      List of values for the corresponding column in the table.
      Parameters:
      columnValuesMap - The new value for columnValuesMap.
      Returns:
      this to mimic the builder pattern.
    • getOptions

      public Map<String,String> getOptions()
      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 GPUdb.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:
      The current value of options.
    • setOptions

      public FilterByListRequest setOptions(Map<String,String> 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 GPUdb.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.
      Parameters:
      options - The new value for options.
      Returns:
      this to mimic the builder pattern.
    • getSchema

      public org.apache.avro.Schema getSchema()
      This method supports the Avro framework and is not intended to be called directly by the user.
      Specified by:
      getSchema in interface org.apache.avro.generic.GenericContainer
      Returns:
      The schema object describing this class.
    • get

      public Object get(int index)
      This method supports the Avro framework and is not intended to be called directly by the user.
      Specified by:
      get in interface org.apache.avro.generic.IndexedRecord
      Parameters:
      index - the position of the field to get
      Returns:
      value of the field with the given index.
      Throws:
    • put

      public void put(int index, Object value)
      This method supports the Avro framework and is not intended to be called directly by the user.
      Specified by:
      put in interface org.apache.avro.generic.IndexedRecord
      Parameters:
      index - the position of the field to set
      value - the value to set
      Throws:
    • equals

      public boolean equals(Object obj)
      Overrides:
      equals in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object