Descriptor Transitions

ODBC descriptors have the following three states.

State Description
D0 Unallocated descriptor
D1i Implicitly allocated descriptor
D1e Explicitly allocated descriptor

The following tables show how each ODBC function affects the descriptor state.

SQLAllocHandle

D0

Unallocated
D1i

Implicit
D1e

Explicit
D1i[1] -- --
D1e[2] -- --

[1] This row shows transitions when HandleType was SQL_HANDLE_STMT.

[2] This row shows transitions when HandleType was SQL_HANDLE_DESC.

SQLCopyDesc

D0

Unallocated
D1i

Implicit
D1e

Explicit
(IH) -- --

SQLFreeHandle

D0

Unallocated
D1i

Implicit
D1e

Explicit
--[1] D0 --
(IH)[2] (HY017) D0

[1] This row shows transitions when HandleType was SQL_HANDLE_STMT.

[2] This row shows transitions when HandleType was SQL_HANDLE_DESC.

SQLGetDescField and SQLGetDescRec

D0

Unallocated
D1i

Implicit
D1e

Explicit
(IH) -- --

SQLSetDescField and SQLSetDescRec

D0

Unallocated
D1i

Implicit
D1e

Explicit
(IH)[1] -- --

[1] This row shows transitions when DescriptorHandle was the handle of an ARD, APD, or IPD, or (for SQLSetDescField) when DescriptorHandle was the handle of an IRD and FieldIdentifier was SQL_DESC_ARRAY_STATUS_PTR or SQL_DESC_ROWS_PROCESSED_PTR.

All Other ODBC Functions

D0

Unallocated
D1i

Implicit
D1e

Explicit
-- -- --