microsoft / ODBC-Specification

Microsoft ODBC Specification
Other
121 stars 40 forks source link

Define minimum functionality of a 4.0 driver #10

Closed mikepizzo closed 8 years ago

mikepizzo commented 8 years ago

Must a 4.0 driver support getdata at fetch? Any particular escape clauses? Any other new functionality?

mikepizzo commented 8 years ago

In order to report support for ODBC 4.0, a driver:

  1. Must return SQL_OV_ODBC4 from SQLGetInfo with SQL_ODBC_DRIVER_VERSION fInfoType
  2. Must support SQL_DATA_AT_FETCH column binding, and SQLNextColumn for retrieving the currently available column
  3. Must support SQL_ATTR_LENGTH_EXCEPTION_BEHAVIOR to control how binary and string overflows are handled
  4. Must support SQL_ATTR_TYPE_EXCEPTION_BEHAVIOR to control how type exceptions are handled
  5. Must support SQL_ATTR_DYNAMIC_COLUMNS, returning FALSE if dynamic columns are not supported
  6. If SQL_ATTR_ODBC_VERSION environment attribute indicates an ODBC 2.x or 3.x version:
    1. Must not utilize SQL_VARIANT, SQL_ROW, SQL_UDT, SQL_ARRAY, or SQL_MULTISET in schema or descriptor functions

In addition, if the driver supports SQL_ROW, SQL_UDT, SQL_ARRAY, or SQL_MULTISET columns, it must:

  1. Support SQLGetNestedHandle, for retrieving a handle to read or write the nested value

In addition, if the driver supports SQL_UDT, it must:

  1. Support SQLStructuredTypes
  2. Support SQLStructuredTypeColumns