New Method in the CML Search Component

A new method for searching will be added to the original CML's Search object. This method is designed to conduct one particular kind of search, an advanced full-text query. The original Search object's queries use only a single criterion about a library item such as author or title. Also these queries are based on stored procedures. The new search performs queries using multiple criteria and uses an RDS customization handler.

Previously, using multiple search criteria to find a title in the FmLib database would have involved multiple steps. For example:

  1. Query first for titles with the selected media-type. Store these search results in a temporary table.
  2. Query again, this time specifying authors (or contained text or a title). Store these search results in a second temporary table.
  3. Combine the two tables (with an AND or OR operation) into a third table.
  4. Pass this third table back as the final search result.

The CML/LitCrit designers felt it would be more efficient to do all this in a single query.

In the original CML application, queries are generated as needed. Although using stored procedures typically aids application performance, the gain is less in this case because the query string is passed to the stored procedure at run time and therefore cannot be precompiled. Because this performance gain is not being realized anyway, the use of an RDS handler (which also is not precompiled) begins to look more attractive.

The Web server name can be added as a property on the critique post message. This name is used when the application needs to find the DSN in order to open the correct SQL Server database.