Syntax

Syntax





Functions

Functions perform transformations on data and return a result. There are two possible syntaxes for a function call:

funcname(field, other-arguments)
field.funcname(other-arguments...)
Internally, 'field.funcname(other-arguments...)' is translated to be exactly the same as 'funcname(field, other-arguments)', so 'priority.max()' is exactly the same as 'max(priority)'. Function names are case insensitive. The following functions are available:

  • defined(expression) : Returns a boolean value that indicates whether the given expression is defined for the current record. For example, using a field name would indicate whether that field is defined for the record.

  • has_one(stringv1, stringv2) : Returns a boolean value that indicates whether any of the strings in the 'stringv2' array are contained in the 'stringv1' array.

  • has_all(stringv1, stringv2) : Returns a boolean value that indicates whether all of the strings in the 'stringv2' array are contained in the 'stringv1' array.

  • has(stringv, string) Returns a boolean value that indicates whether 'string' is contained in the 'stringv' array.

  • prefer_by_list_order(string, stringv) This function is intended to use as a sort condition when you have a prioritized list of preferred values. It returns -1 if the 'string' is not in the 'stringv' array, otherwise it's position measured from the end of 'stringv'. The result is that the first item is most preferred, items after that are next most preferred, and items not in the list are lowest priority.

  • max(expr) Evaluates 'expr' over all the available server information records in the database, and returns the maximum value as dictated by the normal sort order for the data type of 'expr'. This function is not valid for string vectors.

  • min(expr) As with the 'max' function, but finds the minimum value.