/filter/bytable

URL: http://<db.host>:<db.port>/filter/bytable

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 input parameter view_name 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.

Input Parameter Description

NameTypeDescription
table_namestringName of the table whose data will be filtered, in [schema_name.]table_name format, using standard name resolution rules. Must be an existing table.
view_namestringIf 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 ''.
column_namestringName of the column by whose value the data will be filtered from the table designated by input parameter table_name.
source_table_namestringName of the table whose data will be compared against in the table called input parameter table_name, in [schema_name.]table_name format, using standard name resolution rules. Must be an existing table.
source_table_column_namestringName of the column in the input parameter source_table_name whose values will be used as the filter for table input parameter table_name. Must be a geospatial geometry column if in 'spatial' mode; otherwise, Must match the type of the input parameter column_name.
optionsmap of string to strings

Optional parameters. The default value is an empty map ( {} ).

Supported Parameters (keys)Parameter Description
create_temp_table

If true, a unique temporary table name will be generated in the sys_temp schema and used in place of input parameter view_name. This is always allowed even if the caller does not have permission to create tables. The generated name is returned in qualified_view_name. The default value is false. The supported values are:

  • true
  • false
collection_name[DEPRECATED--please specify the containing schema for the view as part of input parameter view_name and use /create/schema 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. The default value is in_table. The supported values are:

  • in_table
  • not_in_table
mode

Mode - should be either spatial or normal. The default value is normal. The supported values are:

  • normal
  • spatial
bufferBuffer 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. The default value is normal.

Supported ValuesDescription
normal 
geosUse geos 1 edge per corner algorithm
max_partition_sizeMaximum number of points in a partition. Only relevant for spatial mode. The default value is '0'.
max_partition_scoreMaximum number of points * edges in a partition. Only relevant for spatial mode. The default value is '8000000'.
x_column_nameName of column containing x value of point being filtered in spatial mode. The default value is 'x'.
y_column_nameName of column containing y value of point being filtered in spatial mode. The default value is 'y'.

Output Parameter Description

The GPUdb server embeds the endpoint response inside a standard response structure which contains status information and the actual response to the query. Here is a description of the various fields of the wrapper:

NameTypeDescription
statusString'OK' or 'ERROR'
messageStringEmpty if success or an error message
data_typeString'filter_by_table_response' or 'none' in case of an error
dataStringEmpty string
data_strJSON or String

This embedded JSON represents the result of the /filter/bytable endpoint:

NameTypeDescription
countlongThe number of records in input parameter table_name that have input parameter column_name values matching input parameter source_table_column_name values in input parameter source_table_name.
infomap of string to strings

Additional information. The default value is an empty map ( {} ).

Possible Parameters (keys)Parameter Description
qualified_view_nameThe fully qualified name of the view (i.e. including the schema)

Empty string in case of an error.