Skip to main content

Class FilterByTableRequest

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

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

Filters objects in one table based on objects in another table. The user must specify matching column types from the two tables (i.e. the target table from which objects will be filtered and the source table based on which the filter will be created); the column names need not be the same. If a viewName is specified, then the filtered objects will then be put in a newly created view. The operation is synchronous, meaning that a response will not be returned until all objects are fully available in the result view. The return value contains the count (i.e. the size) of the resulting view.

  • Constructor Details

    • FilterByTableRequest

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

      public FilterByTableRequest(String tableName, String viewName, String columnName, String sourceTableName, String sourceTableColumnName, Map<String,String> options)
      Constructs a FilterByTableRequest object with the specified parameters.
      Parameters:
      tableName - Name of the table whose data will be filtered, in [schema_name.]table_name format, using standard name resolution rules. Must be an existing table.
      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 ”.
      columnName - Name of the column by whose value the data will be filtered from the table designated by tableName.
      sourceTableName - Name of the table whose data will be compared against in the table called tableName, in [schema_name.]table_name format, using standard name resolution rules. Must be an existing table.
      sourceTableColumnName - Name of the column in the sourceTableName whose values will be used as the filter for table tableName. Must be a geospatial geometry column if in ‘spatial’ mode; otherwise, Must match the type of the columnName.
      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 is non-existent, it will be automatically created.
      • FILTER_MODE: String indicating the filter mode, either IN_TABLE or NOT_IN_TABLE. Supported values:The default value is IN_TABLE.
      • MODE: Mode - should be either SPATIAL or NORMAL. Supported values:The default value is NORMAL.
      • BUFFER: Buffer size, in meters. Only relevant for SPATIAL mode. The default value is ‘0’.
      • BUFFER_METHOD: Method used to buffer polygons. Only relevant for SPATIAL mode. Supported values:
        • NORMAL
        • GEOS: Use geos 1 edge per corner algorithm.
        The default value is NORMAL.
      • MAX_PARTITION_SIZE: Maximum number of points in a partition. Only relevant for SPATIAL mode. The default value is ‘0’.
      • MAX_PARTITION_SCORE: Maximum number of points * edges in a partition. Only relevant for SPATIAL mode. The default value is ‘8000000’.
      • X_COLUMN_NAME: Name of column containing x value of point being filtered in SPATIAL mode. The default value is ‘x’.
      • Y_COLUMN_NAME: Name of column containing y value of point being filtered in SPATIAL mode. The default value is ‘y’.
      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 whose data will be filtered, in [schema_name.]table_name format, using standard name resolution rules. Must be an existing table.
      Returns:
      The current value of tableName.
    • setTableName

      public FilterByTableRequest setTableName(String tableName)
      Name of the table whose data will be filtered, in [schema_name.]table_name format, using standard name resolution rules. Must be an existing table.
      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 FilterByTableRequest 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.
    • getColumnName

      public String getColumnName()
      Name of the column by whose value the data will be filtered from the table designated by tableName.
      Returns:
      The current value of columnName.
    • setColumnName

      public FilterByTableRequest setColumnName(String columnName)
      Name of the column by whose value the data will be filtered from the table designated by tableName.
      Parameters:
      columnName - The new value for columnName.
      Returns:
      this to mimic the builder pattern.
    • getSourceTableName

      public String getSourceTableName()
      Name of the table whose data will be compared against in the table called tableName, in [schema_name.]table_name format, using standard name resolution rules. Must be an existing table.
      Returns:
      The current value of sourceTableName.
    • setSourceTableName

      public FilterByTableRequest setSourceTableName(String sourceTableName)
      Name of the table whose data will be compared against in the table called tableName, in [schema_name.]table_name format, using standard name resolution rules. Must be an existing table.
      Parameters:
      sourceTableName - The new value for sourceTableName.
      Returns:
      this to mimic the builder pattern.
    • getSourceTableColumnName

      public String getSourceTableColumnName()
      Name of the column in the sourceTableName whose values will be used as the filter for table tableName. Must be a geospatial geometry column if in ‘spatial’ mode; otherwise, Must match the type of the columnName.
      Returns:
      The current value of sourceTableColumnName.
    • setSourceTableColumnName

      public FilterByTableRequest setSourceTableColumnName(String sourceTableColumnName)
      Name of the column in the sourceTableName whose values will be used as the filter for table tableName. Must be a geospatial geometry column if in ‘spatial’ mode; otherwise, Must match the type of the columnName.
      Parameters:
      sourceTableColumnName - The new value for sourceTableColumnName.
      Returns:
      this to mimic the builder pattern.
    • getOptions

      public Map<String,String> getOptions()
      Optional parameters.The default value is an empty Map.
      Returns:
      The current value of options.
    • setOptions

      public FilterByTableRequest setOptions(Map<String,String> options)
      Optional parameters.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