/filter/bystring

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

Calculates which objects from a table or view match a string expression for the given string columns. Setting case_sensitive can modify case sensitivity in matching for all modes except search. For search mode details and limitations, see Full Text Search.

Input Parameter Description

Name Type Description
table_name string Name of the table on which the filter operation will be performed, in [schema_name.]table_name format, using standard name resolution rules. Must be an existing table or view.
view_name string 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 ''.
expression string The expression with which to filter the table.
mode string

The string filtering mode to apply. See below for details.

Supported Values Description
search Full text search query with wildcards and boolean operators. Note that for this mode, no column can be specified in input parameter column_names; all string columns of the table that have text search enabled will be searched.
equals Exact whole-string match (accelerated).
contains Partial substring match (not accelerated). If the column is a string type (non-charN) and the number of records is too large, it will return 0.
starts_with Strings that start with the given expression (not accelerated). If the column is a string type (non-charN) and the number of records is too large, it will return 0.
regex Full regular expression search (not accelerated). If the column is a string type (non-charN) and the number of records is too large, it will return 0.
column_names array of strings List of columns on which to apply the filter. Ignored for search mode.
options map 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.
case_sensitive

If false then string filtering will ignore case. Does not apply to search mode. The default value is true. The supported values are:

  • true
  • false

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:

Name Type Description
status String 'OK' or 'ERROR'
message String Empty if success or an error message
data_type String 'filter_by_string_response' or 'none' in case of an error
data String Empty string
data_str JSON or String

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

Name Type Description
count long The number of records that passed the string filter.
info map of string to strings

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

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

Empty string in case of an error.