Class FilterByRangeRequest

  • All Implemented Interfaces:
    org.apache.avro.generic.GenericContainer, org.apache.avro.generic.IndexedRecord

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

    Calculates which objects from a table have a column that is within the given bounds. An object from the table identified by tableName is added to the view viewName if its column is within [lowerBound, upperBound] (inclusive). The operation is synchronous. The response provides a count of the number of objects which passed the bound filter. Although this functionality can also be accomplished with the standard filter function, it is more efficient.

    For track objects, the count reflects how many points fall within the given bounds (which may not include all the track points of any given track).

    • Constructor Detail

      • FilterByRangeRequest

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

        public FilterByRangeRequest​(String tableName,
                                    String viewName,
                                    String columnName,
                                    double lowerBound,
                                    double upperBound,
                                    Map<String,​String> options)
        Constructs a FilterByRangeRequest object with the specified parameters.
        Parameters:
        tableName - Name of the table on which the filter by range operation will be performed, 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 a column on which the operation would be applied.
        lowerBound - Value of the lower bound (inclusive).
        upperBound - Value of the upper bound (inclusive).
        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.
        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 on which the filter by range operation will be performed, in [schema_name.]table_name format, using standard name resolution rules. Must be an existing table.
        Returns:
        The current value of tableName.
      • setTableName

        public FilterByRangeRequest setTableName​(String tableName)
        Name of the table on which the filter by range operation will be performed, 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 FilterByRangeRequest 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 a column on which the operation would be applied.
        Returns:
        The current value of columnName.
      • setColumnName

        public FilterByRangeRequest setColumnName​(String columnName)
        Name of a column on which the operation would be applied.
        Parameters:
        columnName - The new value for columnName.
        Returns:
        this to mimic the builder pattern.
      • getLowerBound

        public double getLowerBound()
        Value of the lower bound (inclusive).
        Returns:
        The current value of lowerBound.
      • setLowerBound

        public FilterByRangeRequest setLowerBound​(double lowerBound)
        Value of the lower bound (inclusive).
        Parameters:
        lowerBound - The new value for lowerBound.
        Returns:
        this to mimic the builder pattern.
      • getUpperBound

        public double getUpperBound()
        Value of the upper bound (inclusive).
        Returns:
        The current value of upperBound.
      • setUpperBound

        public FilterByRangeRequest setUpperBound​(double upperBound)
        Value of the upper bound (inclusive).
        Parameters:
        upperBound - The new value for upperBound.
        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 is non-existent, it will be automatically created.
        The default value is an empty Map.
        Returns:
        The current value of options.
      • setOptions

        public FilterByRangeRequest 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 is non-existent, it will be automatically created.
        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:
        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