Custom SQL search queries
InfoSphere® MDM allows clients to either write their own SQL queries to execute customized searches, or to use the existing search methods.
This section provides an overview of the search framework, and discusses how InfoSphere MDM implements the framework to provide this point of customization in the product and how the addition of custom operators for spec value searches are allowed for.
Search terminology
The following terms are used when discussing customizing SQL for searches:- Pre-written SQL
- Specifies a complete and valid SQL statement that can be executed against a database. A collection of pre-written SQL statements can be initialized at the startup, and an appropriate SQL can be selected based on the search request input parameters.
- SearchBy<predefined criteria> methods
- Specifies the search methods defined in the component. These methods implement most of the search logic including the construction of SQL statement, determination of which input parameters to include or exclude from the search and which fields to return in the search as well as input parameter standardization. Examples of these methods include searchPersonByName, searchPersonByIdentification, searchOrganizationByName, and so on.
- Criterion
- Defines a single field that is being searched on. The ordered collection of all criteria, as they appear in the SQL, defines the SQL criteria.
- Comparison Operator
- Defines the comparison being performed for each criterion field. Examples include =, LIKE, and so on.
- Search Input Parameters
- Specifies the field values passed in a request as the search business object attributes and the primary fields to be searched on.
- Supplementary Search Parameters
- Specifies any additional parameters required to execute the search transaction. Those additional parameters are referred to as supplementary search parameters. The values for such parameters are not included in the search business object, instead are accessed from system configuration, for example, a properties file or the request header.