/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

NameTypeDescription
table_namestringName 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_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 ''.
expressionstringThe expression with which to filter the table.
modestring

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

Supported ValuesDescription
searchFull 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.
equalsExact whole-string match (accelerated).
containsPartial 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_withStrings 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.
regexFull 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_namesarray of stringsList of columns on which to apply the filter. Ignored for search mode.
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.
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:

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

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

NameTypeDescription
countlongThe number of records that passed the string filter.
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.