ODBC Supported APIs

December 13, 2021 ยท View on GitHub

The following APIs are supported for ODBC in Snappy Driver:

Function Conformance of ODBC Supported APIs in Snappy Driver

FunctionConformance
level
Supported in
Snappy Driver
Exceptions
SQLAllocHandleCoreYes
SQLBindColCoreYes
SQLBindParameterCore[1]Yes
SQLBrowseConnectLevel 1No
SQLBulkOperationsLevel 1Yes
SQLCancelCore[1]Yes
SQLCancelHandleCore[1]Yes
SQLCloseCursorCoreYes
SQLColAttributeCore[1]Yes
SQLColumnPrivilegesLevel 2Yes
SQLColumnsCoreYes
SQLConnectCoreYes
SQLCopyDescCoreNo
SQLDataSourcesCoreNoIt should be implemented by the Driver Manager.
SQLDescribeColCore[1]Yes
SQLDescribeParamLevel 2Yes
SQLDisconnectCoreYes
SQLDriverConnectCoreYes
SQLDriversCoreNoIt should be implemented by the Driver Manager.
SQLEndTranCore[1]Yes
SQLExecDirectCoreYes
SQLExecuteCoreYes
SQLFetchCoreYes
SQLFetchScrollCore[1]Yes
SQLForeignKeysLevel 2Yes
SQLFreeHandleCoreYes
SQLFreeStmtCoreYes
SQLGetConnectAttrCoreYes
SQLGetCursorNameCoreYes
SQLGetDataCoreYes
SQLGetDescFieldCoreNo
SQLGetDescRecCoreNo
SQLGetDiagFieldCoreYes
SQLGetDiagRecCoreYes
SQLGetEnvAttrCoreYes
SQLGetFunctionsCoreYes
SQLGetInfoCoreYesSQL_DEFAULT_TXN_ISOLATION - not supported
SQL_TXN_ISOLATION_OPTION -not supported
SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES1 supported
SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES2 supported
SQLGetStmtAttrCoreYes
SQLGetTypeInfoCoreYesSupports call only with SQL_ALL_TYPES info type parameter
SQLMoreResultsLevel 1Yes
SQLNativeSqlCoreYes
SQLNumParamsCoreYes
SQLNumResultColsCoreYes
SQLParamDataCoreYes
SQLPrepareCoreYes
SQLPrimaryKeysLevel 1Yes
SQLProcedureColumnsLevel 1Yes
SQLProceduresLevel 1Yes
SQLPutDataCoreYes
SQLRowCountCoreYes
SQLSetConnectAttrCore[2]Yes
SQLSetCursorNameCoreYes
SQLSetDescFieldCore[1]No
SQLSetDescRecCoreNo
SQLSetEnvAttrCore[2]Yes
SQLSetPosLevel 1[1]Yes
SQLSetStmtAttrCore[2]Yes
SQLSpecialColumnsCore[1]Yes
SQLStatisticsCoreYes
SQLTablePrivilegesLevel 2Yes
SQLTablesCoreYes

Attribute Conformance of ODBC Supported APIs in Snappy Driver

ODBC Environment Attribute

AttributesConformance
Level
Supported in
Snappy Driver
Exceptions
SQL_ATTR_CONNECTION_POOLING[1]YesThis is an optional feature and as such is not part of the conformance levels.
SQL_ATTR_CP_MATCH[1]Yes
SQL_ATTR_ODBC_VERCoreYes
SQL_ATTR_OUTPUT_NTS[1]Yes

ODBC Connection Attribute

AttributesConformance
Level
Supported in
Snappy Driver
Exceptions
SQL_ATTR_ACCESS_MODECoreYes
SQL_ATTR_ASYNC_ENABLELevel 1/Level 2[1]YesApplications that support connection-level asynchronously (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 asynchronously (required for Level 2) must support setting this attribute to SQL_TRUE using either function.
SQL_ATTR_AUTO_IPDLevel 2No
SQL_ATTR_AUTOCOMMITLevel 1YesFor 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_DEADLevel 1Yes
SQL_ATTR_CONNECTION_TIMEOUTLevel 2Yes
SQL_ATTR_CURRENT_CATALOGLevel 2Yes
SQL_ATTR_LOGIN_TIMEOUTLevel 2Yes
SQL_ATTR_ODBC_CURSORSCoreYes
SQL_ATTR_PACKET_SIZELevel 2Yes
SQL_ATTR_QUIET_MODECoreYes
SQL_ATTR_TRACECoreYes
SQL_ATTR_TRACEFILECoreYes
SQL_ATTR_TRANSLATE_LIBCoreYes
SQL_ATTR_TRANSLATE_OPTIONCoreYes
SQL_ATTR_TXN_ISOLATIONLevel 1/Level 2[2]Yes

ODBC Statement Attribute

AttributesConformance
Level
Supported in
Snappy Driver
Exceptions
SQL_ATTR_APP_PARAM_DESCCoreYes
SQL_ATTR_APP_ROW_DESCCoreYes
SQL_ATTR_ASYNC_ENABLELevel 1/Level 2[1]Yes
SQL_ATTR_CONCURRENCYLevel 1/Level 2[2]Yes
SQL_ATTR_CURSOR_SCROLLABLELevel 1Yes
SQL_ATTR_CURSOR_SENSITIVITYLevel 2Yes
SQL_ATTR_CURSOR_TYPECore/Level 2[3]YesApplications that support connection-level asynchronously (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 asynchronously (required for Level 2) must support setting this attribute to SQL_TRUE using either function.
SQL_ATTR_ENABLE_AUTO_IPDLevel 2Yes
SQL_ATTR_FETCH_BOOKMARK_PTRLevel 2YesFor Level 2 interface conformance, the driver must support SQL_CONCUR_READ_ONLY and at least one other value.
SQL_ATTR_IMP_PARAM_DESCCoreYes
SQL_ATTR_IMP_ROW_DESCCoreYesFor 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_SIZELevel 2Yes
SQL_ATTR_MAX_LENGTHLevel 1Yes
SQL_ATTR_MAX_ROWSLevel 1Yes
SQL_ATTR_METADATA_IDCoreYes
SQL_ATTR_NOSCANCoreYes
SQL_ATTR_PARAM_BIND_OFFSET_PTRCoreYes
SQL_ATTR_PARAM_BIND_TYPECoreYes
SQL_ATTR_PARAM_OPERATION_PTRCoreYes
SQL_ATTR_PARAM_STATUS_PTRCoreYes
SQL_ATTR_PARAMS_PROCESSED_PTRCoreYes
SQL_ATTR_PARAMSET_SIZECoreYes
SQL_ATTR_QUERY_TIMEOUTLevel 2Yes
SQL_ATTR_RETRIEVE_DATALevel 1Yes
SQL_ATTR_ROW_ARRAY_SIZECoreYes
SQL_ATTR_ROW_BIND_OFFSET_PTRCoreYes
SQL_ATTR_ROW_BIND_TYPECoreYes
SQL_ATTR_ROW_NUMBERLevel 1Yes
SQL_ATTR_ROW_OPERATION_PTRLevel 1Yes
SQL_ATTR_ROW_STATUS_PTRCoreYes
SQL_ATTR_ROWS_FETCHED_PTRCoreYes
SQL_ATTR_SIMULATE_CURSORLevel 2No
SQL_ATTR_USE_BOOKMARKSLevel 2No