SQLGetDiagRec and SQLGetDiagField are implemented by the Driver Manager and each driver. The Driver Manager and each driver maintain diagnostic records for each environment, connection, statement, and descriptor handle, and free those records only when another function is called with that handle or the handle is freed.
Although both the Driver Manager and each driver must determine the first status record according to the rankings in “Sequence of Status Records,” earlier in this chapter, the Driver Manager determines the final sequence of records.
SQLGetDiagRec and SQLGetDiagField do not post diagnostic records about themselves.