The schema information specified in OLE DB is based on the assumption that providers support the concepts of a catalog and a schema. The ANSI SQL92 specification defines them as follows:
Schema information in OLE DB is retrieved by using predefined schema rowsets. This appendix lists the contents of each schema rowset.
Schema rowsets are retrieved with IDBSchemaRowset::GetRowset. GetRowset allows consumers to specify simple restrictions, such as returning all the columns in a particular table. Each schema rowset is guaranteed to return all of the columns in the order shown in the section detailing that rowset. In addition, providers can return provider-specific columns after the last column defined by OLE DB.
In implementing IDBSchemaRowset, it is suggested that providers pay particular attention to rowset construction and data retrieval performance: These commands will be frequently used by consumers.
This information schema also defines a minimum content of the system schema. It is assumed that consumers will prepare and store the specialized commands used for things such as command planning and execution-time plan validation, and storage engines may have specialized optimizations associated with those plans. Consumers can also look at the schema tables in the schema, and thus discover other schema tables and attributes beyond the minimum set.