| CUBRID ODBC Driver V2.0 Comparison Analysis Documentation Chart | ||||
| ODBC API | Support | Analysis details | Note | |
| 1 | SQLAllocConnect | NO | Deprecated. | |
| 2 | SQLAllocEnv | NO | Deprecated. | |
| 3 | SQLAllocHandle | YES | 1) Connection Pooling 지원 못함. | |
| 2) 잘못된 error HY090 발생. | ||||
| 4 | SQLAllocStmt | NO | Deprecated. | |
| 5 | SQLBindCol | YES | 1) HY003 처리 부재. | |
| 2) Unbinding column 기능 없음. | ||||
| 3) Statement attribute와 descriptor attribute 중복 문제. | 3) 명세서 언급없음 | |||
| 6 | SQLBindParameter | YES | 1) SQL_PARAM_INPUT만 지원하고 있음. | Paramter array binding 부분이 |
| 2) HY003 처리 부재. | MS-SQL server와 처리 방식이 | |||
| 3) Data-type checking 미비. | 다르다. | |||
| 4) HY004, HY021, HY104, HYC00 처리 부재. | ||||
| 7 | SQLBrowseConnect | NO | NOT IMPLEMENTED. | |
| 8 | SQLBulkOperation | YES | 1) Bookmark 유효성 검사 필요. | Long data insertion testing 필요 |
| 2) “01004”, “01S01”, “01S07”, “07006” 등의 지원 필요. | testing이 필요하다. | |||
| 9 | SQLCancel | YES | 1) Asynchronous, Other thread 상의 cancel 불가. | |
| 10 | SQLCloseCursor | YES | 1) Result-set만 close하고 있다. | |
| 2) SQL STATE 24000의 처리가 반드시 필요. | ||||
| 11 | SQLColAttribute | YES | 1) 01004, 07005, 07009, HY091, HYC00지원 필요 | |
| 12 | SQLColAttributes | NO | Deprecated. | |
| 13 | SQLColumnPrivileges | NO | NOT IMPLEMENTED. | |
| 14 | SQLColumns | YES | 1) Result-set의 총 18개의 colum중 일부 생략. | Result-set ordering testing필요 |
| 2) NULLABLE, IS_NULLABLE column이 통합되었음. | 2) 명세서에 다르다고 명시됨. | |||
| 3) HY090, HYC00 검사 필요 | ||||
| 15 | SQLConnect | YES | 특이사항 없음. | CAS와 disconnect 하는 부분 존재 |
| 16 | SQLCopyDesc | YES | 1) Target 혹은 source가 IRD 일 때 별도의 검사가 필요 | 1) MS-SQL server도 없음. |
| 2) Consistency check 필요. | ||||
| 17 | SQLDataSource | YES | NOT IMPLEMENTED. | Driver-manager function. |
| 18 | SQLDescribeCol | YES | 1) Describe할 column이 존재하지 않을때 error처리 필요. | |
| 2) column name의 크기가 충분치 않을 경우 점검. | ||||
| 19 | SQLDescribeParam | NO | NOT IMPLEMENTED. | |
| 20 | SQLDisconnect | YES | 불필요하게 SQL State 08003 처리를 하고있음. | |
| 21 | SQLDriverConnect | YES | 분석 보류 | |
| 22 | SQLDrivers | YES | NOT IMPLEMENTED. | Driver-manager function. |
| 23 | SQLEndTran | YES | 1) Shared-memory management 필요. | |
| 2) transaction이 cursor에 미치는 영향 점검. | 2) cursor behavior testing필요. | |||
| 24 | SQLError | NO | Deprecated. | |
| 25 | SQLExecDirect | YES | 특이사항 없음. | |
| 26 | SQLExecute | YES | SQL STATE handling 필요. | OID processing testing 필요. |
| 27 | SQLExtendedFetch | YES | Deprecated. | SQLFetchScroll로 mapping |
| 28 | SQLFetch | YES | 1) Row status array의 설정 값 중, 일부만 처리함. | |
| 2) Bookmark address 계산 검증 필요. | 2) Bookmark testing. | |||
| 3) SQL STATE handling 필요. | Array fetch testing 필요. | |||
| 29 | SQLFetchScroll | YES | 1) SQLGetInfo와 정보가 일치하지 않음. | Bookmark operation testing 필요. |
| 2) SQL_CURSOR_FORWARD_ONLY 때 error handling필요. | ||||
| 3) 기타 SQL STATE handling 필요. | ||||
| 30 | SQLForeignKeys | NO | NOT IMPLEMENTED. | |
| 31 | SQLFreeConnect | NO | Deprecated. | |
| 32 | SQLFreeEnv | NO | Deprecated. | |
| 33 | SQLFreeHandle | YES | SQL_INVALID_HANDLE 발생 상황 점검 필요. | |
| 34 | SQLFreeStmt | YES | 1) SQL_CLOSE option에서, 24000 handling 필요. | |
| 2) SQL_UNBIND option의 설정 값 점검. | ||||
| 35 | SQLGetConnectAttr | YES | 1) SQL_NO_DATA return 상황 점검 필요. | 상세한 정보는 source와 |
| 2) 기타 SQL STATE handling 필요. | documentation을 참조하기 바람. | |||
| 36 | SQLGetConnectOption | NO | Deprecated. | |
| 37 | SQLGetCursorName | YES | 특이사항 없음. | |
| 38 | SQLGetData | YES | 1) Available한 data의 존재여부를 판단하는 것이 필요. | |
| 2) 일부 data-type에 대한 지원 불가, | ||||
| 3) Buffer-length의 길이 검증 필요. | ||||
| 4) 기타 SQL STATE handling 필요. | ||||
| 39 | SQLGetDescField | YES | 1) SQL_NO_DATA return 상황 점검 필요. | |
| 2) 01004, HY007, HY021 지원 필요. | ||||
| 40 | SQLGetDescRec | YES | 1) 특정 descriptor의 undefined value 상황 check. | |
| 2) Default-value 처리 문제. | ||||
| 3) RecNumber와 cursor의 병행성 문제 점검. | ||||
| 41 | SQLGetDiagField | YES | 1) SQL_ERROR 와 SQL_NO_DATA return 상황 점검 필요. | |
| 42 | SQLGetDiagRec | YES | 1) BufferLength가 음수일 때, SQL_ERROR를 발생해야함. | |
| 2) SQL_INVALID_HANDLE return 과정 생략. | ||||
| 43 | SQLGetEnvAttr | YES | 1) Connection Pooling 관련 attribute 생략됨. | |
| 2) 01004, HY092의 점검이 필요. | ||||
| 44 | SQLGetFunctions | YES | 특이사항 없음. | |
| 45 | SQLGetInfo | YES | 1) CUBRID가 지원하지않는 기능에 대한 조정 필요. | CUBRID specific한 정보 필요. |
| 46 | SQLGetStmtAttr | YES | 1) 지원하지 않는 기능에 대한 접근 시, error handling 필요. | |
| 2) 01004, HY092, HY109 지원 필요. | ||||
| 47 | SQLGetStmtOption | NO | Deprecated. | |
| 48 | SQLGetTypeInfo | YES | 1) Data-type의 유효성 검증 필요. | |
| 2) 01S02, 24000, HYC00의 검사 필요. | ||||
| 49 | SQLMoreResult | YES | Batch-execution중, attribute 변화에 대한 점검 필요. | Batch실행에 대한 testing필요 |
| 50 | SQLNativeSQL | YES | CUBRID에서는 아무런 수정을 가하지 않는다. | |
| 51 | SQLNumParams | YES | 특이사항 없음. | |
| 52 | SQLNumResultCols | YES | 특이사항 없음. | |
| 53 | SQLParamData | YES | 1) 불필요하게 HY009 error handling을 하고있음. | Long data insertion testing 필요 |
| 2) 내부 함수 cci_bind_param에 잘못된 인자의 위험이 있음. | ||||
| 3) SQL STATE 22026 handling 필요. | ||||
| 54 | SQLParamOption | NO | Deprecated. | |
| 55 | SQLPrepare | YES | 1) 발생하는 error대부분을 CA001로만 처리하고 있음. | 1) 별도의 error handling 필요함. |
| 2) 기타 SQL STATE handling이 필요하다. | ||||
| 56 | SQLPrimaryKeys | NO | NOT IMPLEMENTED. | |
| 57 | SQLProcedureColumns | NO | NOT IMPLEMENTED. | |
| 58 | SQLProcedure | NO | NOT IMPLEMENTED. | |
| 59 | SQLPutData | YES | 1) Sending할 수 있는 data-type check 필요. | |
| 2) 기타 SQL STATE handling 필요. | ||||
| 60 | SQLRowCount | YES | 특이사항 없음. | |
| 61 | SQLSetConnectAttr | YES | 1) Attribute 설정 시점에 대한 checking이 반드시 필요. | 각 attribute에 관한 상세한 정보는 |
| 2) Connection level에서 statement attribute 설정 점검. | 생략함. | |||
| 3) 기타 SQL STATE handling 필요. | ||||
| 62 | SQLSetConnectOption | NO | Deprecated. | |
| 63 | SQLSetCursorName | YES | 1) Cursor name의 uniqueness 점검이 반드시 필요. | 1) Cursor 중복 testing 필요. |
| 2) 기타 SQL STATE handling 필요. | ||||
| 64 | SQLSetDescField | YES | 1) 각 Descriptor handle간의 구별이 필요. | 각 attribute에 관한 상세한 정보는 |
| 2) IRD의 specific한 attribute checking이 필요. | 생략함. | |||
| 65 | SQLSetDescRec | YES | 1) Consistency check에 대한 보완이 필요. | |
| 2) RecNumber와 IPD, APD의 관계에 대한 점검 필요. | 2) SQL STATE 07009 | |||
| 3) Descriptor handle이 IRD일때의 error handling 필요. | ||||
| 66 | SQLSetEnvAttr | YES | 1) SQL STATE 01S02, HY009 에 대한 지원. | |
| 67 | SQLSetParam | NO | Deprecated. | |
| 68 | SQLSetPos | YES | 1) SQL_POSITION은 emulation만 되어있음. | 각 operation에 대한 testing필요. |
| 2) SQL_ADD의 backward-compatibility 보완. | ||||
| 3) LockType argument에 대한 점검. | ||||
| 4) SQL_REFRESH가 re-fetch하고 있음. | ||||
| 5) Row operation array에 대한 지원. | ||||
| 6) 기타 SQL STATE handling 필요. | ||||
| 69 | SQLSetScrollOption | NO | Deprecated. | |
| 70 | SQLSetStmtAttr | YES | 1) Descriptor handle과 attribute 공유 문제. | 각 attribute에 관한 상세한 정보는 |
| 2) 일부 attribute 생략. | 생략함. | |||
| 3) 기타 SQL STATE handling 필요. | ||||
| 71 | SQLSetStmtOption | NO | Deprecated. | |
| 72 | SQLSpecialColumns | YES | 1) 지원하지 않는 기능에 대한 return-value checking 필요. | |
| 2) ODBC 3.X 가 되면서 rename된 column 반영. | ||||
| 3) Result-set의 일부 column이 생략되었음. | ||||
| 4) SQL STATE 24000, HY009, HYC00 지원 필요. | ||||
| 73 | SQLStatistics | YES | 1) Reserved argument를 지원하지 않고 있음. | |
| 2) Result-set 의 ordering 문제를 고려하고 있지 않음. | ||||
| 3) Result-set의 일부 column이 생략되었음. | ||||
| 4) TYPE column에 대한 점검 필요. | ||||
| 5) 기타 SQL STATE 24000, HY009, HYC00에 대한 지원 필요. | ||||
| 74 | SQLTablePrivileges | NO | NOT IMPLEMENTED. | |
| 75 | SQLTables | YES | 1) Accessibility checking 필요. | |
| 2) Result-set 의 ordering 문제를 고려하고 있지 않음. | ||||
| 3) Result-set의 일부 column이 생략되었음. | ||||
| 4) 각 argument의 special semantics가 생략되었음. | ||||
| 5) TABLE_TYPE columne이 일부만 지원중. | ||||
| 6) SQL STATE 24000, HY090, HYC00에 대한 지원 필요. | ||||
| 76 | SQLTransact | NO | Deprecated. | |