Seamless use of SQL

With the aid of a user-defined secondary access method, an SQL statement can use one or more indexes.

Further, with the aid of a user-defined secondary access method, indexes can provide access to the following extended data:
  • User-defined types
  • Data inside a smart large object
  • External data sources
  • Nonrelational data
In addition, with the aid of a user-defined secondary access method, an index can contain any of the following key types:
  • Return values from a user-defined function
  • Approximate values such as stem words for a full-text search
  • Attributes of data such as length
  • Relative position to other data in a hierarchy or area of space
The end user can use SQL to access both HCL Informix® data and virtual index data. A virtual index requires a user-defined access method to make the data in the index accessible to Informix. In the following figure, a single application processes Informix data and virtual data in an external location and smart-large-object storage.
Figure 1: An application using a secondary access method

This flowchart shows that a client program can access a table through an SQL engine and a built-in secondary access method through a B-tree index, or alternatively, through an SQL engine and a user-defined secondary access method through a virtual index stored either in an extspace or an sbspace.