Class 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 Detail

      • 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 Detail

      • 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.
      • 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:
        IndexOutOfBoundsException
      • 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:
        IndexOutOfBoundsException
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object