When the ANSI group created the SQL-92 standard, they defined three distinct levels of SQL functionality: Entry, Intermediate, and Full. The ODBC standard goes one step further by defining conformance levels for drivers in two areas; the ODBC API and the ODBC SQL grammar.
Conformance levels were incorporated into ODBC for the following reasons:
Conformance levels facilitate programming applications by defining a standard set of functionality that both the driver developer and application developer can rely on. By definition, if a driver claims to conform to a specific API or SQL conformance level, it must support all of the functionality defined by that conformance level. If the data source associated with a driver does not provide some of the functionality defined for a conformance level, the driver must either provide the missing functionality itself or claim to conform to a lower conformance level. The application discovers a drivers interface conformance level by connecting to a data source, and calling SQLGetInfo with the SQL_ODBC_INTERFACE_CONFORMANCE option. Drivers are free to implement features beyond the level to which they claim complete conformance. Applications discover any such additional capabilities by calling SQLGetFunctions (to determine which ODBC functions are present) and SQLGetInfo (to query various other ODBC capabilities).