ODBC Supported APIs

The following APIs are supported for ODBC in Snappy Driver:

Function Conformance of ODBC Supported APIs in Snappy Driver

Function Conformance
level
Supported in
Snappy Driver
Exceptions
SQLAllocHandle Core Yes
SQLBindCol Core Yes
SQLBindParameter Core[1] Yes
SQLBrowseConnect Level 1 Not
SQLBulkOperations Level 1 Yes
SQLCancel Core[1] Yes
SQLCloseCursor Core Yes
SQLColAttribute Core[1] Yes
SQLColumnPrivileges Level 2 Yes
SQLColumns Core Yes
SQLConnect Core Yes
SQLCopyDesc Core Not
SQLDataSources Core Not As per MSDN document it should implement by Driver Manager.
SQLDescribeCol Core[1] Yes
SQLDescribeParam Level 2 Yes
SQLDisconnect Core Yes
SQLDriverConnect Core Yes
SQLDrivers Core Not
SQLEndTran Core[1] Yes
SQLExecDirect Core Yes
SQLExecute Core Yes
SQLFetch Core Yes
SQLFetchScroll Core[1] Yes
SQLForeignKeys Level 2 Yes
SQLFreeHandle Core Yes
SQLFreeStmt Core Yes
SQLGetConnectAttr Core Yes
SQLGetCursorName Core Yes
SQLGetData Core Yes
SQLGetDescField Core Not
SQLGetDescRec Core Not
SQLGetDiagField Core Yes
SQLGetDiagRec Core Yes
SQLGetEnvAttr Core Yes
SQLGetFunctions Core Yes
SQLGetInfo Core Yes SQL_DEFAULT_TXN_ISOLATION - not supported
SQL_TXN_ISOLATION_OPTION -not supported
SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES1 supported
SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES2 supported
SQLGetStmtAttr Core Yes
SQLGetTypeInfo Core Yes Supports call only with SQL_ALL_TYPES info type parameter
SQLMoreResults Level 1 Yes
SQLNativeSql Core Yes
SQLNumParams Core Yes
SQLNumResultCols Core Yes
SQLParamData Core Yes
SQLPrepare Core Yes
SQLPrimaryKeys Level 1 Yes
SQLProcedureColumns Level 1 Yes
SQLProcedures Level 1 Yes
SQLPutData Core Yes
SQLRowCount Core Yes
SQLSetConnectAttr Core[2] Yes
SQLSetCursorName Core Yes
SQLSetDescField Core[1] Not
SQLSetDescRec Core Not
SQLSetEnvAttr Core[2] Yes
SQLSetPos Level 1[1] Yes
SQLSetStmtAttr Core[2] Yes
SQLSpecialColumns Core[1] Yes
SQLStatistics Core Yes
SQLTablePrivileges Level 2 Yes
SQLTables Core Yes

Attribute Conformance of ODBC Supported APIs in Snappy Driver

ODBC Environment Attribute

Attributes Conformance
Level
Supported in
Snappy Driver
Exceptions
SQL_ATTR_CONNECTION_POOLING --[1] Yes This is an optional feature and as such is not part of the conformance levels.
SQL_ATTR_CP_MATCH --[1] Yes
SQL_ATTR_ODBC_VER Core Yes
SQL_ATTR_OUTPUT_NTS --[1] Yes

ODBC Connection Attribute

Attributes Conformance
Level
Supported in
Snappy Driver
Exceptions
SQL_ATTR_ACCESS_MODE Core Yes
SQL_ATTR_ASYNC_ENABLE Level 1/Level 2[1] Yes Applications that support connection-level asynchrony (required for Level 1) must support setting this attribute to SQL_TRUE by calling SQLSetConnectAttr; the attribute need not be settable to a value other than its default value through SQLSetStmtAttr. Applications that support statement-level asynchrony (required for Level 2) must support setting this attribute to SQL_TRUE using either function.
SQL_ATTR_AUTO_IPD Level 2 Not
SQL_ATTR_AUTOCOMMIT Level 1 Yes For Level 1 interface conformance, the driver must support one value in addition to the driver-defined default value (available by calling SQLGetInfo with the SQL_DEFAULT_TXN_ISOLATION option). For Level 2 interface conformance, the driver must also support SQL_TXN_SERIALIZABLE.
SQL_ATTR_CONNECTION_DEAD Level 1 Yes
SQL_ATTR_CONNECTION_TIMEOUT Level 2 Yes
SQL_ATTR_CURRENT_CATALOG Level 2 Yes
SQL_ATTR_LOGIN_TIMEOUT Level 2 Yes
SQL_ATTR_ODBC_CURSORS Core Yes
SQL_ATTR_PACKET_SIZE Level 2 Yes
SQL_ATTR_QUIET_MODE Core Yes
SQL_ATTR_TRACE Core Yes
SQL_ATTR_TRACEFILE Core Yes
SQL_ATTR_TRANSLATE_LIB Core Yes
SQL_ATTR_TRANSLATE_OPTION Core Yes
SQL_ATTR_TXN_ISOLATION Level 1/Level 2[2] Yes

ODBC Statement Attribute

Attributes Conformance
Level
Supported in
Snappy Driver
Exceptions
SQL_ATTR_APP_PARAM_DESC Core Yes
SQL_ATTR_APP_ROW_DESC Core Yes
SQL_ATTR_ASYNC_ENABLE Level 1/Level 2[1] Yes
SQL_ATTR_CONCURRENCY Level 1/Level 2[2] Yes
SQL_ATTR_CURSOR_SCROLLABLE Level 1 Yes
SQL_ATTR_CURSOR_SENSITIVITY Level 2 Yes
SQL_ATTR_CURSOR_TYPE Core/Level 2[3] Yes Applications that support connection-level asynchrony (required for Level 1) must support setting this attribute to SQL_TRUE by calling SQLSetConnectAttr; the attribute need not be settable to a value other than its default value through SQLSetStmtAttr. Applications that support statement-level asynchrony (required for Level 2) must support setting this attribute to SQL_TRUE using either function.
SQL_ATTR_ENABLE_AUTO_IPD Level 2 Yes
SQL_ATTR_FETCH_BOOKMARK_PTR Level 2 Yes For Level 2 interface conformance, the driver must support SQL_CONCUR_READ_ONLY and at least one other value.
SQL_ATTR_IMP_PARAM_DESC Core Yes
SQL_ATTR_IMP_ROW_DESC Core Yes For Level 1 interface conformance, the driver must support SQL_CURSOR_FORWARD_ONLY and at least one other value. For Level 2 interface conformance, the driver must support all values defined in this document.
SQL_ATTR_KEYSET_SIZE Level 2 Yes
SQL_ATTR_MAX_LENGTH Level 1 Yes
SQL_ATTR_MAX_ROWS Level 1 Yes
SQL_ATTR_METADATA_ID Core Yes
SQL_ATTR_NOSCAN Core Yes
SQL_ATTR_PARAM_BIND_OFFSET_PTR Core Yes
SQL_ATTR_PARAM_BIND_TYPE Core Yes
SQL_ATTR_PARAM_OPERATION_PTR Core Yes
SQL_ATTR_PARAM_STATUS_PTR Core Yes
SQL_ATTR_PARAMS_PROCESSED_PTR Core Yes
SQL_ATTR_PARAMSET_SIZE Core Yes
SQL_ATTR_QUERY_TIMEOUT Level 2 Yes
SQL_ATTR_RETRIEVE_DATA Level 1 Yes
SQL_ATTR_ROW_ARRAY_SIZE Core Yes
SQL_ATTR_ROW_BIND_OFFSET_PTR Core Yes
SQL_ATTR_ROW_BIND_TYPE Core Yes
SQL_ATTR_ROW_NUMBER Level 1 Yes
SQL_ATTR_ROW_OPERATION_PTR Level 1 Yes
SQL_ATTR_ROW_STATUS_PTR Core Yes
SQL_ATTR_ROWS_FETCHED_PTR Core Yes
SQL_ATTR_SIMULATE_CURSOR Level 2 Not
SQL_ATTR_USE_BOOKMARKS Level 2 Not