IRIS Toolbox Reference Manual

## dbsearchuserdata

Search database to find tseries by matching the content of their userdata fields

#### Syntax

    [List,SubD] = dbsearchuserdata(D,Field1,Regexp1,Field2,Regexp2,...)
    [List,SubD] = dbsearchuserdata(D,Flag,Field1,Regexp1,Field2,Regexp2,...)

#### Input arguments

- `D` [ struct ] - Input database whose tseries fields will be searched.

- `Flag` [ `'-all'` | `'-any'` ] - Specifies if all conditions or any condition must be met for the series to pass the test; if not specified, `'-all'` is assumed.

- `Field1`, `Field2`, ... [ char ] - Names of fields in the userdata struct.

- `Regexp1`, `Regexp2`, ... [ char ] - Regular expressions against which the respective userdata fields will be matched.

#### Output arguments

- `List` [ cellstr ] - Names of tseries that pass the test.

- `Subd` [ struct ] - Sub-database with only those tseries that pass the test.

#### Description

For a successful match, the userdata must be a struct, and the tested fields must be text strings.

Use an equal sign, `=`, after the name of the userdata fields in `Field1`, `Field2`, etc. to request a case-insensitive match, and an equal-shart sign, `=#`, to indiciate a case-sensitive match.

#### Example

    [list,dd] = dbsearchuserdata(d,'.DESC=','Exchange rate','.SOURCE=#','IMF');

Each individual tseries object in the database `D` will be tested for two conditions:

- whether its user data is a struct including a field named `DESC`, and the field contains a string `'Exchange rate'` in it (case insensitive, e.g. `'eXcHaNgE rAtE'` will also be matched);

- whether its user data is a struct including a field named `SOURCE`, and the field contains a string `'IMF'` in it (case sensitive, e.g. `'Imf'` will not be matched).

All tseries object that pass both of these conditions are returned in the `List` and the output database `D`.

IRIS Toolbox. Copyright © 2007—2013 Jaromir Benes.