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. |
|