microsoft / ODBC-Specification

Microsoft ODBC Specification
Other
122 stars 40 forks source link

How do we return a null structured or collection value? #132

Closed mikepizzo closed 6 years ago

mikepizzo commented 6 years ago

Does SQLGetNestedColumn return null? Do we add an null indicator output argument to SQLGetNestedColumn? Does the driver just fill in SQL_NULL for the SQL_DESC_INDICATOR_PTR and not return DATA_AVAILABLE? What about for scalar data-at-execute columns? Does the driver indicate nullability in SQL_DESC_INDICATOR_PTR, or by returning a null indicator when the client calls SQLGetData in the DATA_AVAILABLE state? Just setting the null indicator is more performant, but would it ever require the driver to unnecessarily cache in order to peek into the value?

mikepizzo commented 6 years ago

Proposal: drivers use SQL_DESC_INDICATOR_PTR to denote that a data-at-fetch column contains a null value.

For consistency (and performance), the driver should always use the SQL_DESC_INDICATOR_PTR for scalar as well as structured/collection valued data-at-execute columns.