ibm_db 5.0.2 → 5.0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (132) hide show
  1. checksums.yaml +4 -4
  2. data/ext/ibm_db.o +0 -0
  3. data/ext/ibm_db.so +0 -0
  4. data/ext/ruby_ibm_db_cli.o +0 -0
  5. data/lib/active_record/connection_adapters/ibm_db_adapter.rb +30 -2
  6. data/lib/clidriver.tar.gz +0 -0
  7. data/lib/clidriver/bin/db2cli +0 -0
  8. data/lib/clidriver/bin/db2diag +0 -0
  9. data/lib/clidriver/bin/db2drdat +0 -0
  10. data/lib/clidriver/bin/db2dsdcfgfill +0 -0
  11. data/lib/clidriver/bin/db2ldcfg +0 -0
  12. data/lib/clidriver/bin/db2lddrg +0 -0
  13. data/lib/clidriver/bin/db2level +0 -0
  14. data/lib/clidriver/bin/db2support +0 -0
  15. data/lib/clidriver/bin/db2trc +0 -0
  16. data/lib/clidriver/bnd/db2ajgrt.bnd +0 -0
  17. data/lib/clidriver/bnd/db2cli.bnd +0 -0
  18. data/lib/clidriver/bnd/db2cli.lst +4 -0
  19. data/lib/clidriver/bnd/db2clipk.bnd +0 -0
  20. data/lib/clidriver/bnd/db2clist.bnd +0 -0
  21. data/lib/clidriver/bnd/db2spcdb.bnd +0 -0
  22. data/lib/clidriver/cfg/DigiCertGlobalRootCA.arm +22 -0
  23. data/lib/clidriver/cfg/db2cli.ini.sample +16 -0
  24. data/lib/clidriver/cfg/db2dsdriver.cfg.sample +50 -0
  25. data/lib/clidriver/cfg/db2dsdriver.xsd +216 -0
  26. data/lib/clidriver/cfgcache/conlic.bin +0 -0
  27. data/lib/clidriver/conv/alt/04370923.cnv +0 -0
  28. data/lib/clidriver/conv/alt/08500923.cnv +0 -0
  29. data/lib/clidriver/conv/alt/08501252.cnv +0 -0
  30. data/lib/clidriver/conv/alt/08600923.cnv +0 -0
  31. data/lib/clidriver/conv/alt/08630923.cnv +0 -0
  32. data/lib/clidriver/conv/alt/09230437.cnv +0 -0
  33. data/lib/clidriver/conv/alt/09230850.cnv +0 -0
  34. data/lib/clidriver/conv/alt/09230860.cnv +0 -0
  35. data/lib/clidriver/conv/alt/09231043.cnv +0 -0
  36. data/lib/clidriver/conv/alt/09231051.cnv +0 -0
  37. data/lib/clidriver/conv/alt/09231114.cnv +0 -0
  38. data/lib/clidriver/conv/alt/09231208.cnv +0 -0
  39. data/lib/clidriver/conv/alt/09231252.cnv +0 -0
  40. data/lib/clidriver/conv/alt/09231275.cnv +0 -0
  41. data/lib/clidriver/conv/alt/09241252.cnv +0 -0
  42. data/lib/clidriver/conv/alt/09370950.cnv +0 -0
  43. data/lib/clidriver/conv/alt/10430923.cnv +0 -0
  44. data/lib/clidriver/conv/alt/10510923.cnv +0 -0
  45. data/lib/clidriver/conv/alt/11140923.cnv +0 -0
  46. data/lib/clidriver/conv/alt/12080923.cnv +0 -0
  47. data/lib/clidriver/conv/alt/12520850.cnv +0 -0
  48. data/lib/clidriver/conv/alt/12520923.cnv +0 -0
  49. data/lib/clidriver/conv/alt/12750923.cnv +0 -0
  50. data/lib/clidriver/conv/alt/1388ucs2.cnv +0 -0
  51. data/lib/clidriver/conv/alt/IBM00850.ucs +0 -0
  52. data/lib/clidriver/conv/alt/IBM00923.ucs +0 -0
  53. data/lib/clidriver/conv/alt/IBM01252.ucs +0 -0
  54. data/lib/clidriver/conv/ms/0930ucs2.cnv +0 -0
  55. data/lib/clidriver/conv/ms/0939ucs2.cnv +0 -0
  56. data/lib/clidriver/conv/ms/0943ucs2.cnv +0 -0
  57. data/lib/clidriver/conv/ms/0954ucs2.cnv +0 -0
  58. data/lib/clidriver/conv/ms/1390ucs2.cnv +0 -0
  59. data/lib/clidriver/conv/ms/1399ucs2.cnv +0 -0
  60. data/lib/clidriver/conv/ms/5039ucs2.cnv +0 -0
  61. data/lib/clidriver/conv/ms/ucs20943.cnv +0 -0
  62. data/lib/clidriver/include/sql.h +3149 -0
  63. data/lib/clidriver/include/sqlca.h +119 -0
  64. data/lib/clidriver/include/sqlcli.h +1042 -0
  65. data/lib/clidriver/include/sqlcli1.h +1963 -0
  66. data/lib/clidriver/include/sqlda.h +303 -0
  67. data/lib/clidriver/include/sqlenv.h +7389 -0
  68. data/lib/clidriver/include/sqlext.h +2189 -0
  69. data/lib/clidriver/include/sqlstate.h +1397 -0
  70. data/lib/clidriver/include/sqlsystm.h +119 -0
  71. data/lib/clidriver/include/sqltypes.h +22 -0
  72. data/lib/clidriver/include/sqlucode.h +22 -0
  73. data/lib/clidriver/include/sqlunx.h +24 -0
  74. data/lib/clidriver/lib/icc/C/icc/icclib/ICCSIG.txt +23 -0
  75. data/lib/clidriver/lib/icc/C/icc/icclib/libicclib084.so +0 -0
  76. data/lib/clidriver/lib/icc/N/icc/icclib/ICCSIG.txt +23 -0
  77. data/lib/clidriver/lib/icc/N/icc/icclib/libicclib085.so +0 -0
  78. data/lib/clidriver/lib/icc/libgsk8cms_64.so +0 -0
  79. data/lib/clidriver/lib/icc/libgsk8dbfl_64.so +0 -0
  80. data/lib/clidriver/lib/icc/libgsk8iccs_64.so +0 -0
  81. data/lib/clidriver/lib/icc/libgsk8kicc_64.so +0 -0
  82. data/lib/clidriver/lib/icc/libgsk8km_64.so +0 -0
  83. data/lib/clidriver/lib/icc/libgsk8ssl_64.so +0 -0
  84. data/lib/clidriver/lib/icc/libgsk8sys_64.so +0 -0
  85. data/lib/clidriver/lib/icc/libgsk8valn_64.so +0 -0
  86. data/lib/clidriver/lib/libDB2xml4c.so +1 -0
  87. data/lib/clidriver/lib/libDB2xml4c.so.58 +1 -0
  88. data/lib/clidriver/lib/libDB2xml4c.so.58.0 +0 -0
  89. data/lib/clidriver/lib/libdb2.so +1 -0
  90. data/lib/clidriver/lib/libdb2.so.1 +0 -0
  91. data/lib/clidriver/lib/libdb2clixml4c.so +1 -0
  92. data/lib/clidriver/lib/libdb2clixml4c.so.1 +0 -0
  93. data/lib/clidriver/license/UNIX/odbc_LI_cs +278 -0
  94. data/lib/clidriver/license/UNIX/odbc_LI_de +364 -0
  95. data/lib/clidriver/license/UNIX/odbc_LI_el +294 -0
  96. data/lib/clidriver/license/UNIX/odbc_LI_en +752 -0
  97. data/lib/clidriver/license/UNIX/odbc_LI_es +338 -0
  98. data/lib/clidriver/license/UNIX/odbc_LI_fr +396 -0
  99. data/lib/clidriver/license/UNIX/odbc_LI_in +270 -0
  100. data/lib/clidriver/license/UNIX/odbc_LI_it +316 -0
  101. data/lib/clidriver/license/UNIX/odbc_LI_ja +246 -0
  102. data/lib/clidriver/license/UNIX/odbc_LI_ko +240 -0
  103. data/lib/clidriver/license/UNIX/odbc_LI_lt +302 -0
  104. data/lib/clidriver/license/UNIX/odbc_LI_pl +292 -0
  105. data/lib/clidriver/license/UNIX/odbc_LI_pt +314 -0
  106. data/lib/clidriver/license/UNIX/odbc_LI_ru +296 -0
  107. data/lib/clidriver/license/UNIX/odbc_LI_sl +278 -0
  108. data/lib/clidriver/license/UNIX/odbc_LI_tr +296 -0
  109. data/lib/clidriver/license/UNIX/odbc_LI_zh +310 -0
  110. data/lib/clidriver/license/UNIX/odbc_LI_zh_TW +310 -0
  111. data/lib/clidriver/license/odbc_REDIST.txt +128 -0
  112. data/lib/clidriver/license/odbc_notices.txt +444 -0
  113. data/lib/clidriver/msg/en_US.iso88591/db2adm.mo +0 -0
  114. data/lib/clidriver/msg/en_US.iso88591/db2admh.mo +0 -0
  115. data/lib/clidriver/msg/en_US.iso88591/db2caem.mo +0 -0
  116. data/lib/clidriver/msg/en_US.iso88591/db2cklog.mo +0 -0
  117. data/lib/clidriver/msg/en_US.iso88591/db2cli.mo +0 -0
  118. data/lib/clidriver/msg/en_US.iso88591/db2clia1.lst +35 -0
  119. data/lib/clidriver/msg/en_US.iso88591/db2clias.lst +21 -0
  120. data/lib/clidriver/msg/en_US.iso88591/db2clih.mo +0 -0
  121. data/lib/clidriver/msg/en_US.iso88591/db2clit.mo +0 -0
  122. data/lib/clidriver/msg/en_US.iso88591/db2clp.mo +0 -0
  123. data/lib/clidriver/msg/en_US.iso88591/db2clp2.mo +0 -0
  124. data/lib/clidriver/msg/en_US.iso88591/db2diag.mo +0 -0
  125. data/lib/clidriver/msg/en_US.iso88591/db2fodc.mo +0 -0
  126. data/lib/clidriver/msg/en_US.iso88591/db2sql.mo +0 -0
  127. data/lib/clidriver/msg/en_US.iso88591/db2sqlh.mo +0 -0
  128. data/lib/clidriver/msg/en_US.iso88591/db2stt.mo +0 -0
  129. data/lib/clidriver/msg/en_US.iso88591/db2supp.mo +0 -0
  130. data/lib/clidriver/security64/plugin/IBM/client/IBMIAMauth.so +0 -0
  131. data/lib/clidriver/security64/plugin/IBM/client/IBMkrb5.so +0 -0
  132. metadata +131 -2
@@ -0,0 +1,119 @@
1
+ /******************************************************************************
2
+ *
3
+ * Source File Name = SQLCA.H
4
+ *
5
+ * (C) COPYRIGHT International Business Machines Corp. 1987, 1997
6
+ * All Rights Reserved
7
+ * Licensed Materials - Property of IBM
8
+ *
9
+ * US Government Users Restricted Rights - Use, duplication or
10
+ * disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
11
+ *
12
+ * Function = Include File defining:
13
+ * SQL Communications Area
14
+ *
15
+ * Operating System = Common C Include File
16
+ *
17
+ *****************************************************************************/
18
+
19
+
20
+ #if !(defined(SQLCODE) || defined(SQLCADE)) /* Permit Duplicate Includes */
21
+
22
+ #include "sqlsystm.h" /* System dependent defines */
23
+
24
+ #if defined(DB2NT)
25
+ #if defined _WIN64
26
+ #pragma pack(8)
27
+ #else
28
+ #pragma pack(4)
29
+ #endif
30
+ #elif (defined(DB2AIX) && defined(__64BIT__))
31
+ #pragma options align=natural
32
+ #elif (defined(DB2AIX))
33
+ #pragma options align=power
34
+ #endif
35
+
36
+ /* SQL Communication Area - SQLCA */
37
+ /* _SQLOLDCHAR defaults to 'char'. See sqlsystm.h for details. */
38
+
39
+ SQL_STRUCTURE sqlca
40
+ {
41
+ _SQLOLDCHAR sqlcaid[8]; /* Eyecatcher = 'SQLCA ' */
42
+ sqlint32 sqlcabc; /* SQLCA size in bytes = 136 */
43
+ #ifdef DB2_SQL92E
44
+ sqlint32 sqlcade; /* SQL return code */
45
+ #else
46
+ sqlint32 sqlcode; /* SQL return code */
47
+ #endif
48
+ short sqlerrml; /* Length for SQLERRMC */
49
+ _SQLOLDCHAR sqlerrmc[70]; /* Error message tokens */
50
+
51
+ _SQLOLDCHAR sqlerrp[8]; /* Diagnostic information */
52
+
53
+ sqlint32 sqlerrd[6]; /* Diagnostic information */
54
+ _SQLOLDCHAR sqlwarn[11]; /* Warning flags */
55
+
56
+ #ifdef DB2_SQL92E
57
+ _SQLOLDCHAR sqlstat[5]; /* State corresponding to SQLCODE */
58
+ #else
59
+ _SQLOLDCHAR sqlstate[5]; /* State corresponding to SQLCODE */
60
+ #endif
61
+
62
+ };
63
+
64
+ #ifdef DB2_SQL92E
65
+ #define SQLCADE sqlca.sqlcade
66
+ #else
67
+ #define SQLCODE sqlca.sqlcode
68
+ #endif
69
+ #define SQLWARN0 sqlca.sqlwarn[0]
70
+ #define SQLWARN1 sqlca.sqlwarn[1]
71
+ #define SQLWARN2 sqlca.sqlwarn[2]
72
+ #define SQLWARN3 sqlca.sqlwarn[3]
73
+ #define SQLWARN4 sqlca.sqlwarn[4]
74
+ #define SQLWARN5 sqlca.sqlwarn[5]
75
+ #define SQLWARN6 sqlca.sqlwarn[6]
76
+ #define SQLWARN7 sqlca.sqlwarn[7]
77
+ #define SQLWARN8 sqlca.sqlwarn[8]
78
+ #define SQLWARN9 sqlca.sqlwarn[9]
79
+ #define SQLWARNA sqlca.sqlwarn[10]
80
+
81
+
82
+ /* sqlerrd tokens updated when compound SQL statements processed */
83
+
84
+ #define SQL_CMP_NA_ERRORS 1
85
+ #define SQL_CMP_ROWS_AFFECTED 2
86
+ #define SQL_CMP_STMTS_COMPLETED 3
87
+ #define SQL_CMP_REF_INT_ROWS 4
88
+
89
+
90
+ /* sqlerrd tokens updated when CONNECT statements processed */
91
+
92
+ #define SQL_CONNECT_DB_APP2DB_CONVFACTOR 0
93
+ #define SQL_CONNECT_DB_DB2APP_CONVFACTOR 1
94
+ #define SQL_CONNECT_DB_UPDATEABILITY_IN_UOW 2
95
+ #define SQL_CONNECT_DB_COMMIT_TYPE 3
96
+
97
+
98
+ /* Values returned for sqlerrd[SQL_CONNECT_DB_UPDATEABILITY_IN_UOW] */
99
+
100
+ #define SQL_DB_UPDATEABLE 1
101
+ #define SQL_DB_READ_ONLY 2
102
+
103
+
104
+ /* Values returned for sqlerrd[SQL_CONNECT_DB_COMMIT_TYPE] */
105
+
106
+ #define SQL_DB_ONE_PHASE_COMMIT 1
107
+ #define SQL_DB_ONE_PHASE_READ_ONLY 2
108
+ #define SQL_DB_TWO_PHASE_COMMIT 3
109
+
110
+ /* sqlerrd tokens updated when MPP statements processed */
111
+ #define SQL_ERRD_NODE_NUM 1
112
+
113
+ #if defined(DB2NT)
114
+ #pragma pack()
115
+ #elif defined(DB2AIX)
116
+ #pragma options align=reset
117
+ #endif
118
+
119
+ #endif /* SQLCODE */
@@ -0,0 +1,1042 @@
1
+ /******************************************************************************
2
+ *
3
+ * Source File Name = sqlcli.h
4
+ *
5
+ * (C) COPYRIGHT International Business Machines Corp. 1993, 2016
6
+ * All Rights Reserved
7
+ * Licensed Materials - Property of IBM
8
+ *
9
+ * US Government Users Restricted Rights - Use, duplication or
10
+ * disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
11
+ *
12
+ * Function = Include File defining:
13
+ * DB2 CLI Interface - Constants
14
+ * DB2 CLI Interface - Data Structures
15
+ * DB2 CLI Interface - Function Prototypes
16
+ *
17
+ * Operating System = Common C Include File
18
+ *
19
+ *****************************************************************************/
20
+
21
+ #ifndef SQL_H_SQLCLI
22
+ #define SQL_H_SQLCLI /* Permit duplicate Includes */
23
+
24
+ /* Prevent inclusion of winsock.h in windows.h */
25
+ #ifndef _WINSOCKAPI_
26
+ #define _WINSOCKAPI_
27
+ #define DB2_WINSOCKAPI_
28
+ #endif
29
+
30
+ /* DB2CLI_VER DB2 Call Level Interface Version Number (0x0210).
31
+ * To revert to Version 1.0 definitions,
32
+ * issue #define DB2CLI_VER 0x0110 before including
33
+ * sqlcli.h and sqlcli1.h
34
+ */
35
+
36
+ /* If DB2CLI_VER is not defined, assume version 2.10 */
37
+ #ifndef DB2CLI_VER
38
+ #define DB2CLI_VER 0x0310
39
+ #endif
40
+
41
+ /* ODBC64 should be used instead of CLI_WIN64 for linking with libdb2o.dll */
42
+ #ifndef ODBC64
43
+ #ifdef CLI_WIN64
44
+ #define ODBC64
45
+ #endif
46
+ #endif
47
+
48
+ #include <stdlib.h>
49
+
50
+ #ifdef __cplusplus
51
+ extern "C" {
52
+ #endif
53
+
54
+ #include "sqlsystm.h" /* System dependent defines */
55
+
56
+ #if defined(DB2NT)
57
+ #include <windows.h>
58
+ #else
59
+ #define FAR
60
+ #endif
61
+
62
+ #define SQL_API SQL_API_FN
63
+
64
+
65
+ /* generally useful constants */
66
+ #define SQL_MAX_MESSAGE_LENGTH 1024 /* message buffer size */
67
+ #define SQL_MAX_ID_LENGTH 128 /* maximum identifier name size,
68
+ e.g. cursor names */
69
+
70
+ /* date/time length constants */
71
+ #define SQL_DATE_LEN 10
72
+ #define SQL_TIME_LEN 8 /* add P+1 if precision is nonzero */
73
+ #define SQL_TIMESTAMP_LEN 19 /* add P+1 if precision is nonzero */
74
+ #define SQL_TIMESTAMPTZ_LEN 25 /* add P+1 if precision is nonzero */
75
+
76
+ /* handle type identifiers */
77
+ #define SQL_HANDLE_ENV 1
78
+ #define SQL_HANDLE_DBC 2
79
+ #define SQL_HANDLE_STMT 3
80
+ #define SQL_HANDLE_DESC 4
81
+
82
+ /* RETCODE values */
83
+ #define SQL_SUCCESS 0
84
+ #define SQL_SUCCESS_WITH_INFO 1
85
+ #define SQL_NEED_DATA 99
86
+ #define SQL_NO_DATA 100
87
+ #define SQL_STILL_EXECUTING 2
88
+ #define SQL_ERROR -1
89
+ #define SQL_INVALID_HANDLE -2
90
+
91
+ /* test for SQL_SUCCESS or SQL_SUCCESS_WITH_INFO */
92
+ #define SQL_SUCCEEDED(rc) (((rc)&(~1))==0)
93
+
94
+ /* SQLFreeStmt option values */
95
+ #define SQL_CLOSE 0
96
+ #define SQL_DROP 1
97
+ #define SQL_UNBIND 2
98
+ #define SQL_RESET_PARAMS 3
99
+
100
+ /* SQLTransact option values */
101
+ #define SQL_COMMIT 0
102
+ #define SQL_ROLLBACK 1
103
+
104
+ /* Standard SQL data types */
105
+ #define SQL_UNKNOWN_TYPE 0
106
+ #define SQL_CHAR 1
107
+ #define SQL_NUMERIC 2
108
+ #define SQL_DECIMAL 3
109
+ #define SQL_INTEGER 4
110
+ #define SQL_SMALLINT 5
111
+ #define SQL_FLOAT 6
112
+ #define SQL_REAL 7
113
+ #define SQL_DOUBLE 8
114
+ #define SQL_DATETIME 9
115
+ #define SQL_VARCHAR 12
116
+ #define SQL_BOOLEAN 16
117
+ #define SQL_ROW 19
118
+ #define SQL_WCHAR (-8)
119
+ #define SQL_WVARCHAR (-9)
120
+ #define SQL_WLONGVARCHAR (-10)
121
+ #define SQL_DECFLOAT (-360)
122
+ /* One-parameter shortcuts for date/time data types */
123
+ #define SQL_TYPE_DATE 91
124
+ #define SQL_TYPE_TIME 92
125
+ #define SQL_TYPE_TIMESTAMP 93
126
+ /* SQL Datatype for Time Zone */
127
+ #define SQL_TYPE_TIMESTAMP_WITH_TIMEZONE 95
128
+
129
+ /* Statement attribute values for cursor sensitivity */
130
+ #define SQL_UNSPECIFIED 0
131
+ #define SQL_INSENSITIVE 1
132
+ #define SQL_SENSITIVE 2
133
+
134
+ /* Default conversion code for SQLBindCol(), SQLBindParam() and SQLGetData() */
135
+ #define SQL_DEFAULT 99
136
+
137
+ /* SQLGetData() code indicating that the application row descriptor
138
+ * specifies the data type
139
+ */
140
+ #define SQL_ARD_TYPE (-99)
141
+
142
+ /* SQL date/time type subcodes */
143
+ #define SQL_CODE_DATE 1
144
+ #define SQL_CODE_TIME 2
145
+ #define SQL_CODE_TIMESTAMP 3
146
+ #define SQL_CODE_TIMESTAMP_WITH_TIMEZONE 4
147
+
148
+ /* SQL extended data types */
149
+ #define SQL_GRAPHIC -95
150
+ #define SQL_VARGRAPHIC -96
151
+ #define SQL_LONGVARGRAPHIC -97
152
+ #define SQL_BLOB -98
153
+ #define SQL_CLOB -99
154
+ #define SQL_DBCLOB -350
155
+ #define SQL_XML -370
156
+ #define SQL_CURSORHANDLE -380
157
+ #define SQL_DATALINK -400
158
+ #define SQL_USER_DEFINED_TYPE -450
159
+
160
+ /* C data type to SQL data type mapping */
161
+ #define SQL_C_DBCHAR SQL_DBCLOB
162
+ #define SQL_C_DECIMAL_IBM SQL_DECIMAL
163
+ #define SQL_C_DATALINK SQL_C_CHAR
164
+ #define SQL_C_PTR 2463
165
+ #define SQL_C_DECIMAL_OLEDB 2514
166
+ #define SQL_C_DECIMAL64 SQL_DECFLOAT
167
+ #define SQL_C_DECIMAL128 -361
168
+ #define SQL_C_TIMESTAMP_EXT -362
169
+ #define SQL_C_TYPE_TIMESTAMP_EXT SQL_C_TIMESTAMP_EXT
170
+ #define SQL_C_BINARYXML -363
171
+ #define SQL_C_TIMESTAMP_EXT_TZ -364
172
+ #define SQL_C_TYPE_TIMESTAMP_EXT_TZ SQL_C_TIMESTAMP_EXT_TZ
173
+ #define SQL_C_CURSORHANDLE -365
174
+
175
+ /*
176
+ * locator type identifier
177
+ */
178
+
179
+ #define SQL_BLOB_LOCATOR 31
180
+ #define SQL_CLOB_LOCATOR 41
181
+ #define SQL_DBCLOB_LOCATOR -351
182
+
183
+ /*
184
+ * C Data Type for the LOB locator types
185
+ */
186
+ #define SQL_C_BLOB_LOCATOR SQL_BLOB_LOCATOR
187
+ #define SQL_C_CLOB_LOCATOR SQL_CLOB_LOCATOR
188
+ #define SQL_C_DBCLOB_LOCATOR SQL_DBCLOB_LOCATOR
189
+
190
+ /*
191
+ * NULL status defines; these are used in SQLColAttributes, SQLDescribeCol,
192
+ * to describe the nullability of a column in a table.
193
+ */
194
+
195
+ #define SQL_NO_NULLS 0
196
+ #define SQL_NULLABLE 1
197
+ #define SQL_NULLABLE_UNKNOWN 2
198
+
199
+ /* values of UNNAMED field in descriptor used in SQLColAttribute */
200
+ #define SQL_NAMED 0
201
+ #define SQL_UNNAMED 1
202
+
203
+ /* values of ALLOC_TYPE field in descriptor */
204
+ #define SQL_DESC_ALLOC_AUTO 1
205
+ #define SQL_DESC_ALLOC_USER 2
206
+
207
+ /* values of USER_DEFINED_TYPE_CODE */
208
+ #define SQL_TYPE_BASE 0
209
+ #define SQL_TYPE_DISTINCT 1
210
+ #define SQL_TYPE_STRUCTURED 2
211
+ #define SQL_TYPE_REFERENCE 3
212
+
213
+ /* Special length values */
214
+ #define SQL_NULL_DATA -1
215
+ #define SQL_DATA_AT_EXEC -2
216
+ #define SQL_NTS -3 /* NTS = Null Terminated String */
217
+ #define SQL_NTSL -3L /* NTS = Null Terminated String */
218
+
219
+ /* SQLColAttributes defines */
220
+ #define SQL_COLUMN_SCHEMA_NAME 16
221
+ #define SQL_COLUMN_CATALOG_NAME 17
222
+ #define SQL_COLUMN_DISTINCT_TYPE 1250
223
+ #define SQL_DESC_DISTINCT_TYPE SQL_COLUMN_DISTINCT_TYPE
224
+ #define SQL_COLUMN_REFERENCE_TYPE 1251
225
+ #define SQL_DESC_REFERENCE_TYPE SQL_COLUMN_REFERENCE_TYPE
226
+ #define SQL_DESC_STRUCTURED_TYPE 1252
227
+ #define SQL_DESC_USER_TYPE 1253
228
+ #define SQL_DESC_BASE_TYPE 1254
229
+ #define SQL_DESC_KEY_TYPE 1255
230
+ #define SQL_DESC_KEY_MEMBER 1266
231
+ #define SQL_DESC_IDENTITY_VALUE 1267
232
+ #define SQL_DESC_CODEPAGE 1268
233
+
234
+ /* identifiers of fields in the SQL descriptor */
235
+ #define SQL_DESC_COUNT 1001
236
+ #define SQL_DESC_TYPE 1002
237
+ #define SQL_DESC_LENGTH 1003
238
+ #define SQL_DESC_OCTET_LENGTH_PTR 1004
239
+ #define SQL_DESC_PRECISION 1005
240
+ #define SQL_DESC_SCALE 1006
241
+ #define SQL_DESC_DATETIME_INTERVAL_CODE 1007
242
+ #define SQL_DESC_NULLABLE 1008
243
+ #define SQL_DESC_INDICATOR_PTR 1009
244
+ #define SQL_DESC_DATA_PTR 1010
245
+ #define SQL_DESC_NAME 1011
246
+ #define SQL_DESC_UNNAMED 1012
247
+ #define SQL_DESC_OCTET_LENGTH 1013
248
+ #define SQL_DESC_ALLOC_TYPE 1099
249
+ #define SQL_DESC_USER_DEFINED_TYPE_CODE 1098
250
+ #define SQL_DESC_CARDINALITY 1040
251
+ #define SQL_DESC_CARDINALITY_PTR 1043
252
+ #define SQL_DESC_ROW_DESC 1044
253
+
254
+ /* Defines for SQL_DESC_KEY_TYPE */
255
+ #define SQL_KEYTYPE_NONE 0
256
+ #define SQL_KEYTYPE_PRIMARYKEY 1
257
+ #define SQL_KEYTYPE_UNIQUEINDEX 2
258
+
259
+
260
+ /* SQLColAttribute defines for SQL_COLUMN_UPDATABLE condition */
261
+ #define SQL_UPDT_READONLY 0
262
+ #define SQL_UPDT_WRITE 1
263
+ #define SQL_UPDT_READWRITE_UNKNOWN 2
264
+
265
+ /*
266
+ * SQLColAttribute defines for SQL_COLUMN_SEARCHABLE condition.
267
+ */
268
+ #define SQL_PRED_NONE 0
269
+ #define SQL_PRED_CHAR 1
270
+ #define SQL_PRED_BASIC 2
271
+
272
+ /* NULL handle defines */
273
+ #define SQL_NULL_HENV 0L
274
+ #define SQL_NULL_HDBC 0L
275
+ #define SQL_NULL_HSTMT 0L
276
+ #define SQL_NULL_HDESC 0L
277
+ #define SQL_NULL_HANDLE 0L
278
+
279
+ /* identifiers of fields in the diagnostics area */
280
+ #define SQL_DIAG_RETURNCODE 1
281
+ #define SQL_DIAG_NUMBER 2
282
+ #define SQL_DIAG_ROW_COUNT 3
283
+ #define SQL_DIAG_SQLSTATE 4
284
+ #define SQL_DIAG_NATIVE 5
285
+ #define SQL_DIAG_MESSAGE_TEXT 6
286
+ #define SQL_DIAG_DYNAMIC_FUNCTION 7
287
+ #define SQL_DIAG_CLASS_ORIGIN 8
288
+ #define SQL_DIAG_SUBCLASS_ORIGIN 9
289
+ #define SQL_DIAG_CONNECTION_NAME 10
290
+ #define SQL_DIAG_SERVER_NAME 11
291
+ #define SQL_DIAG_DYNAMIC_FUNCTION_CODE 12
292
+ #define SQL_DIAG_ISAM_ERROR 13
293
+
294
+ #define SQL_DIAG_SYSPLEX_STATISTICS 2528
295
+ #define SQL_DIAG_DB2ZLOAD_RETCODE 2529
296
+ #define SQL_DIAG_DB2ZLOAD_LOAD_MSGS 2530
297
+ #define SQL_DIAG_LOG_FILENAME 2531
298
+ #define SQL_DIAG_BAD_FILENAME 2532
299
+
300
+ /* dynamic function codes */
301
+ #define SQL_DIAG_ALTER_TABLE 4
302
+ #define SQL_DIAG_CALL 7
303
+ #define SQL_DIAG_CREATE_INDEX (-1)
304
+ #define SQL_DIAG_CREATE_TABLE 77
305
+ #define SQL_DIAG_CREATE_VIEW 84
306
+ #define SQL_DIAG_DELETE_WHERE 19
307
+ #define SQL_DIAG_DROP_INDEX (-2)
308
+ #define SQL_DIAG_DROP_TABLE 32
309
+ #define SQL_DIAG_DROP_VIEW 36
310
+ #define SQL_DIAG_DYNAMIC_DELETE_CURSOR 38
311
+ #define SQL_DIAG_DYNAMIC_UPDATE_CURSOR 81
312
+ #define SQL_DIAG_GRANT 48
313
+ #define SQL_DIAG_INSERT 50
314
+ #define SQL_DIAG_MERGE 128
315
+ #define SQL_DIAG_REVOKE 59
316
+ #define SQL_DIAG_SELECT_CURSOR 85
317
+ #define SQL_DIAG_UNKNOWN_STATEMENT 0
318
+ #define SQL_DIAG_UPDATE_WHERE 82
319
+
320
+ /*
321
+ * IBM specific SQLGetDiagField values.
322
+ */
323
+
324
+ #define SQL_DIAG_DEFERRED_PREPARE_ERROR 1279
325
+
326
+ /* SQL_DIAG_ROW_NUMBER values */
327
+ #define SQL_ROW_NO_ROW_NUMBER (-1)
328
+ #define SQL_ROW_NUMBER_UNKNOWN (-2)
329
+
330
+ /* SQL_DIAG_COLUMN_NUMBER values */
331
+ #define SQL_COLUMN_NO_COLUMN_NUMBER (-1)
332
+ #define SQL_COLUMN_NUMBER_UNKNOWN (-2)
333
+
334
+ /*
335
+ * The following are provided to enhance portability and compatibility
336
+ * with ODBC
337
+ */
338
+
339
+ typedef signed char SCHAR;
340
+ typedef unsigned char UCHAR;
341
+
342
+ typedef short int SWORD;
343
+ typedef unsigned short USHORT;
344
+
345
+ typedef signed short SSHORT;
346
+ typedef unsigned short int UWORD;
347
+
348
+ #if defined(DB2NT)
349
+ typedef long SDWORD;
350
+ typedef unsigned long ULONG;
351
+ typedef unsigned long UDWORD;
352
+ typedef long SLONG;
353
+ #else
354
+ typedef sqlint32 SDWORD;
355
+ typedef sqluint32 ULONG;
356
+ typedef sqluint32 UDWORD;
357
+ typedef sqlint32 SLONG;
358
+ #endif
359
+ typedef double SDOUBLE;
360
+ typedef float SFLOAT;
361
+ typedef unsigned char SQLDATE;
362
+ typedef unsigned char SQLTIME;
363
+ typedef unsigned char SQLTIMESTAMP;
364
+ typedef unsigned char SQLDECIMAL;
365
+ typedef unsigned char SQLNUMERIC;
366
+
367
+
368
+
369
+ #if defined(WINDOWS)
370
+ typedef long double LDOUBLE;
371
+ #else
372
+ typedef double LDOUBLE;
373
+ #endif
374
+
375
+
376
+ typedef void FAR * PTR;
377
+ typedef void FAR * HENV;
378
+ typedef void FAR * HDBC;
379
+ typedef void FAR * HSTMT;
380
+
381
+ typedef signed short RETCODE;
382
+
383
+
384
+
385
+ /* SQL portable types for C */
386
+ typedef UCHAR SQLCHAR;
387
+ typedef UCHAR SQLVARCHAR;
388
+ typedef SCHAR SQLSCHAR;
389
+ typedef SDWORD SQLINTEGER;
390
+ typedef SWORD SQLSMALLINT;
391
+ typedef SDOUBLE SQLDOUBLE;
392
+ typedef SDOUBLE SQLFLOAT;
393
+ typedef SFLOAT SQLREAL;
394
+
395
+ typedef SQLSMALLINT SQLRETURN;
396
+
397
+ #if (DB2CLI_VER >= 0x0200)
398
+ typedef UDWORD SQLUINTEGER;
399
+ typedef UWORD SQLUSMALLINT;
400
+ #else
401
+ typedef SQLINTEGER SQLUINTEGER;
402
+ typedef SQLSMALLINT SQLUSMALLINT;
403
+ #endif
404
+
405
+ /* 64-bit Length Defines */
406
+ #ifdef ODBC64
407
+ typedef sqlint64 SQLLEN;
408
+ typedef sqluint64 SQLULEN;
409
+ typedef sqluint64 SQLSETPOSIROW;
410
+ #else
411
+ #define SQLLEN SQLINTEGER
412
+ #define SQLULEN SQLUINTEGER
413
+ #define SQLSETPOSIROW SQLUSMALLINT
414
+ #endif
415
+
416
+ typedef PTR SQLPOINTER;
417
+
418
+
419
+
420
+ /*
421
+ * Double Byte Character Set support
422
+ */
423
+
424
+ /*
425
+ * Do not support SQL_WCHART_CONVERT in UNICODE
426
+ */
427
+ #ifdef UNICODE
428
+ #undef SQL_WCHART_CONVERT
429
+ #endif
430
+
431
+ #ifdef SQL_WCHART_CONVERT
432
+ typedef wchar_t SQLDBCHAR;
433
+ #else
434
+ typedef unsigned short SQLDBCHAR;
435
+ #endif
436
+
437
+ #ifdef DB2WIN
438
+ typedef wchar_t SQLWCHAR;
439
+ #else
440
+ typedef unsigned short SQLWCHAR;
441
+ #endif
442
+
443
+ #ifdef UNICODE
444
+ typedef SQLWCHAR SQLTCHAR;
445
+ #else
446
+ typedef SQLCHAR SQLTCHAR;
447
+ #endif
448
+
449
+ #ifdef DB2WIN
450
+ #if ((defined DB2NT && defined _WIN64 && OLEDBWIN))
451
+ typedef void* SQLHANDLE;
452
+ #else
453
+ typedef SQLINTEGER SQLHANDLE;
454
+ #endif
455
+
456
+ typedef HENV SQLHENV;
457
+ typedef HDBC SQLHDBC;
458
+ typedef HSTMT SQLHSTMT;
459
+ typedef HWND SQLHWND;
460
+
461
+ #else
462
+ #if ((defined DB2NT && defined _WIN64) || defined ODBC64)
463
+ typedef void * SQLHANDLE;
464
+ typedef SQLHANDLE SQLHENV;
465
+ typedef SQLHANDLE SQLHDBC;
466
+ typedef SQLHANDLE SQLHSTMT;
467
+ #else
468
+
469
+ #ifndef __SQLTYPES
470
+ typedef SQLINTEGER SQLHANDLE;
471
+ typedef SQLINTEGER SQLHENV;
472
+ typedef SQLINTEGER SQLHDBC;
473
+ typedef SQLINTEGER SQLHSTMT;
474
+ #endif
475
+ #endif
476
+
477
+ #if defined (DB2NT)
478
+ typedef HWND SQLHWND;
479
+ #else
480
+ typedef SQLPOINTER SQLHWND;
481
+ #endif
482
+
483
+ #endif
484
+ typedef SQLHANDLE SQLHDESC;
485
+
486
+ #ifndef __SQLTYPES
487
+
488
+ /*
489
+ * SQL_NO_NATIVE_BIGINT_SUPPORT and SQL_BIGINT_TYPE are defined in sqlsystm.h
490
+ *
491
+ */
492
+
493
+ #if defined(SQL_NO_NATIVE_BIGINT_SUPPORT)
494
+ typedef struct SQLBIGINT
495
+ {
496
+ SQLUINTEGER dwLowWord;
497
+ SQLINTEGER dwHighWord;
498
+ } SQLBIGINT;
499
+ typedef struct SQLUBIGINT
500
+ {
501
+ SQLUINTEGER dwLowWord;
502
+ SQLUINTEGER dwHighWord;
503
+ } SQLUBIGINT;
504
+ #elif defined(SQL_BIGINT_TYPE)
505
+ typedef SQL_BIGINT_TYPE SQLBIGINT;
506
+ typedef SQL_BIGUINT_TYPE SQLUBIGINT;
507
+ #endif
508
+
509
+ typedef struct DATE_STRUCT
510
+ {
511
+ SQLSMALLINT year;
512
+ SQLUSMALLINT month;
513
+ SQLUSMALLINT day;
514
+ } DATE_STRUCT;
515
+
516
+ typedef DATE_STRUCT SQL_DATE_STRUCT;
517
+
518
+ typedef struct TIME_STRUCT
519
+ {
520
+ SQLUSMALLINT hour;
521
+ SQLUSMALLINT minute;
522
+ SQLUSMALLINT second;
523
+ } TIME_STRUCT;
524
+
525
+ typedef TIME_STRUCT SQL_TIME_STRUCT;
526
+
527
+ typedef struct TIMESTAMP_STRUCT
528
+ {
529
+ SQLSMALLINT year;
530
+ SQLUSMALLINT month;
531
+ SQLUSMALLINT day;
532
+ SQLUSMALLINT hour;
533
+ SQLUSMALLINT minute;
534
+ SQLUSMALLINT second;
535
+ SQLUINTEGER fraction; /* fraction of a second */
536
+ } TIMESTAMP_STRUCT;
537
+
538
+ typedef TIMESTAMP_STRUCT SQL_TIMESTAMP_STRUCT;
539
+
540
+ typedef struct TIMESTAMP_STRUCT_EXT
541
+ {
542
+ SQLSMALLINT year;
543
+ SQLUSMALLINT month;
544
+ SQLUSMALLINT day;
545
+ SQLUSMALLINT hour;
546
+ SQLUSMALLINT minute;
547
+ SQLUSMALLINT second;
548
+ SQLUINTEGER fraction; /* hold nanoseconds - 1~9 digit */
549
+ SQLUINTEGER fraction2; /* hold picoseconds - 10~12 digit */
550
+ } TIMESTAMP_STRUCT_EXT;
551
+
552
+ typedef TIMESTAMP_STRUCT_EXT SQL_TIMESTAMP_STRUCT_EXT;
553
+
554
+ typedef struct TIMESTAMP_STRUCT_EXT_TZ
555
+ {
556
+ SQLSMALLINT year;
557
+ SQLUSMALLINT month;
558
+ SQLUSMALLINT day;
559
+ SQLUSMALLINT hour;
560
+ SQLUSMALLINT minute;
561
+ SQLUSMALLINT second;
562
+ SQLUINTEGER fraction; /* hold nanoseconds - 1~9 digit */
563
+ SQLUINTEGER fraction2; /* hold picoseconds - 10~12 digit */
564
+ SQLSMALLINT timezone_hour; /* -12 to 14 */
565
+ SQLSMALLINT timezone_minute; /* -59 to 59 */
566
+ } TIMESTAMP_STRUCT_EXT_TZ;
567
+
568
+ typedef TIMESTAMP_STRUCT_EXT_TZ SQL_TIMESTAMP_STRUCT_EXT_TZ;
569
+
570
+ typedef enum
571
+ {
572
+ SQL_IS_YEAR = 1,
573
+ SQL_IS_MONTH = 2,
574
+ SQL_IS_DAY = 3,
575
+ SQL_IS_HOUR = 4,
576
+ SQL_IS_MINUTE = 5,
577
+ SQL_IS_SECOND = 6,
578
+ SQL_IS_YEAR_TO_MONTH = 7,
579
+ SQL_IS_DAY_TO_HOUR = 8,
580
+ SQL_IS_DAY_TO_MINUTE = 9,
581
+ SQL_IS_DAY_TO_SECOND = 10,
582
+ SQL_IS_HOUR_TO_MINUTE = 11,
583
+ SQL_IS_HOUR_TO_SECOND = 12,
584
+ SQL_IS_MINUTE_TO_SECOND = 13
585
+ } SQLINTERVAL;
586
+
587
+ typedef struct tagSQL_YEAR_MONTH
588
+ {
589
+ SQLUINTEGER year;
590
+ SQLUINTEGER month;
591
+ } SQL_YEAR_MONTH_STRUCT;
592
+
593
+ typedef struct tagSQL_DAY_SECOND
594
+ {
595
+ SQLUINTEGER day;
596
+ SQLUINTEGER hour;
597
+ SQLUINTEGER minute;
598
+ SQLUINTEGER second;
599
+ SQLUINTEGER fraction;
600
+ } SQL_DAY_SECOND_STRUCT;
601
+
602
+ typedef struct tagSQL_INTERVAL_STRUCT
603
+ {
604
+ SQLINTERVAL interval_type;
605
+ SQLSMALLINT interval_sign;
606
+ union {
607
+ SQL_YEAR_MONTH_STRUCT year_month;
608
+ SQL_DAY_SECOND_STRUCT day_second;
609
+ } intval;
610
+
611
+ } SQL_INTERVAL_STRUCT;
612
+
613
+ /* Maximum precision (in base 10) of an SQL_C_NUMERIC value */
614
+ #define SQL_MAX_C_NUMERIC_PRECISION 38
615
+
616
+ /* internal representation of numeric data type */
617
+ #define SQL_MAX_NUMERIC_LEN 16
618
+ typedef struct tagSQL_NUMERIC_STRUCT
619
+ {
620
+ SQLCHAR precision;
621
+ SQLSCHAR scale;
622
+ SQLCHAR sign; /* 1 if positive, 0 if negative */
623
+ SQLCHAR val[SQL_MAX_NUMERIC_LEN];
624
+ } SQL_NUMERIC_STRUCT;
625
+
626
+ #endif
627
+
628
+
629
+ #define SQL_DECIMAL64_LEN 8
630
+ #define SQL_DECIMAL128_LEN 16
631
+
632
+ typedef struct SQLDECIMAL64 {
633
+ union {
634
+ SQLDOUBLE dummy; /* Dummy member for alignment purposes */
635
+ SQLCHAR dec64[SQL_DECIMAL64_LEN];
636
+ } udec64;
637
+ } SQLDECIMAL64;
638
+
639
+ typedef struct SQLDECIMAL128 {
640
+ union {
641
+ SQLDOUBLE dummy; /* Dummy member for alignment purposes */
642
+ SQLCHAR dec128[SQL_DECIMAL128_LEN];
643
+ } udec128;
644
+ } SQLDECIMAL128;
645
+
646
+ /* Core Function Prototypes */
647
+
648
+
649
+
650
+
651
+ SQLRETURN SQL_API_FN SQLAllocConnect (SQLHENV henv,
652
+ SQLHDBC FAR *phdbc);
653
+
654
+
655
+ SQLRETURN SQL_API_FN SQLAllocEnv (SQLHENV FAR *phenv);
656
+
657
+ SQLRETURN SQL_API_FN SQLAllocStmt (SQLHDBC hdbc,
658
+ SQLHSTMT FAR *phstmt);
659
+
660
+ SQLRETURN SQL_API_FN SQLAllocHandle( SQLSMALLINT fHandleType,
661
+ SQLHANDLE hInput,
662
+ SQLHANDLE * phOutput );
663
+
664
+ SQLRETURN SQL_API_FN SQLBindCol (SQLHSTMT hstmt,
665
+ SQLUSMALLINT icol,
666
+ SQLSMALLINT fCType,
667
+ SQLPOINTER rgbValue,
668
+ SQLLEN cbValueMax,
669
+ SQLLEN FAR *pcbValue);
670
+
671
+ SQLRETURN SQL_API_FN SQLCancel (SQLHSTMT hstmt);
672
+
673
+
674
+ #ifdef ODBC64
675
+ SQLRETURN SQL_API_FN SQLColAttribute (SQLHSTMT hstmt,
676
+ SQLUSMALLINT icol,
677
+ SQLUSMALLINT fDescType,
678
+ SQLPOINTER rgbDesc,
679
+ SQLSMALLINT cbDescMax,
680
+ SQLSMALLINT FAR *pcbDesc,
681
+ SQLLEN *pfDesc);
682
+ #else
683
+ SQLRETURN SQL_API_FN SQLColAttribute (SQLHSTMT hstmt,
684
+ SQLUSMALLINT icol,
685
+ SQLUSMALLINT fDescType,
686
+ SQLPOINTER rgbDesc,
687
+ SQLSMALLINT cbDescMax,
688
+ SQLSMALLINT FAR *pcbDesc,
689
+ SQLPOINTER pfDesc);
690
+ #endif
691
+
692
+
693
+
694
+ SQLRETURN SQL_API_FN SQLConnect (SQLHDBC hdbc,
695
+ SQLCHAR FAR *szDSN,
696
+ SQLSMALLINT cbDSN,
697
+ SQLCHAR FAR *szUID,
698
+ SQLSMALLINT cbUID,
699
+ SQLCHAR FAR *szAuthStr,
700
+ SQLSMALLINT cbAuthStr);
701
+
702
+ SQLRETURN SQL_API_FN SQLDescribeCol (SQLHSTMT hstmt,
703
+ SQLUSMALLINT icol,
704
+ SQLCHAR FAR *szColName,
705
+ SQLSMALLINT cbColNameMax,
706
+ SQLSMALLINT FAR *pcbColName,
707
+ SQLSMALLINT FAR *pfSqlType,
708
+ SQLULEN FAR *pcbColDef,
709
+ SQLSMALLINT FAR *pibScale,
710
+ SQLSMALLINT FAR *pfNullable);
711
+
712
+ SQLRETURN SQL_API_FN SQLDisconnect (SQLHDBC hdbc);
713
+
714
+ SQLRETURN SQL_API_FN SQLError (SQLHENV henv,
715
+ SQLHDBC hdbc,
716
+ SQLHSTMT hstmt,
717
+ SQLCHAR FAR *szSqlState,
718
+ SQLINTEGER FAR *pfNativeError,
719
+ SQLCHAR FAR *szErrorMsg,
720
+ SQLSMALLINT cbErrorMsgMax,
721
+ SQLSMALLINT FAR *pcbErrorMsg);
722
+
723
+ SQLRETURN SQL_API_FN SQLExecDirect (SQLHSTMT hstmt,
724
+ SQLCHAR FAR *szSqlStr,
725
+ SQLINTEGER cbSqlStr);
726
+
727
+ SQLRETURN SQL_API_FN SQLExecute (SQLHSTMT hstmt);
728
+
729
+ SQLRETURN SQL_API_FN SQLFetch (SQLHSTMT hstmt);
730
+
731
+ SQLRETURN SQL_API_FN SQLFreeConnect (SQLHDBC hdbc);
732
+
733
+ SQLRETURN SQL_API_FN SQLFreeEnv (SQLHENV henv);
734
+
735
+ SQLRETURN SQL_API_FN SQLFreeStmt (SQLHSTMT hstmt,
736
+ SQLUSMALLINT fOption);
737
+
738
+ SQLRETURN SQL_API_FN SQLCloseCursor( SQLHSTMT hStmt );
739
+
740
+ SQLRETURN SQL_API_FN SQLGetCursorName (SQLHSTMT hstmt,
741
+ SQLCHAR FAR *szCursor,
742
+ SQLSMALLINT cbCursorMax,
743
+ SQLSMALLINT FAR *pcbCursor);
744
+
745
+ SQLRETURN SQL_API_FN SQLGetData (SQLHSTMT hstmt,
746
+ SQLUSMALLINT icol,
747
+ SQLSMALLINT fCType,
748
+ SQLPOINTER rgbValue,
749
+ SQLLEN cbValueMax,
750
+ SQLLEN FAR *pcbValue);
751
+
752
+ SQLRETURN SQL_API_FN SQLNumResultCols (SQLHSTMT hstmt,
753
+ SQLSMALLINT FAR *pccol);
754
+
755
+ SQLRETURN SQL_API_FN SQLPrepare (SQLHSTMT hstmt,
756
+ SQLCHAR FAR *szSqlStr,
757
+ SQLINTEGER cbSqlStr);
758
+
759
+ SQLRETURN SQL_API_FN SQLRowCount (SQLHSTMT hstmt,
760
+ SQLLEN FAR *pcrow);
761
+
762
+ SQLRETURN SQL_API_FN SQLSetCursorName (SQLHSTMT hstmt,
763
+ SQLCHAR FAR *szCursor,
764
+ SQLSMALLINT cbCursor);
765
+
766
+ SQLRETURN SQL_API_FN SQLSetParam (SQLHSTMT hstmt,
767
+ SQLUSMALLINT ipar,
768
+ SQLSMALLINT fCType,
769
+ SQLSMALLINT fSqlType,
770
+ SQLULEN cbParamDef,
771
+ SQLSMALLINT ibScale,
772
+ SQLPOINTER rgbValue,
773
+ SQLLEN FAR *pcbValue);
774
+
775
+ SQLRETURN SQL_API_FN SQLTransact (SQLHENV henv,
776
+ SQLHDBC hdbc,
777
+ SQLUSMALLINT fType);
778
+
779
+ SQLRETURN SQL_API_FN SQLEndTran( SQLSMALLINT fHandleType,
780
+ SQLHANDLE hHandle,
781
+ SQLSMALLINT fType );
782
+
783
+ SQLRETURN SQL_API_FN SQLFreeHandle( SQLSMALLINT fHandleType,
784
+ SQLHANDLE hHandle );
785
+
786
+ SQLRETURN SQL_API_FN SQLGetDiagRec( SQLSMALLINT fHandleType,
787
+ SQLHANDLE hHandle,
788
+ SQLSMALLINT iRecNumber,
789
+ SQLCHAR * pszSqlState,
790
+ SQLINTEGER * pfNativeError,
791
+ SQLCHAR * pszErrorMsg,
792
+ SQLSMALLINT cbErrorMsgMax,
793
+ SQLSMALLINT * pcbErrorMsg );
794
+
795
+ SQLRETURN SQL_API_FN SQLGetDiagField( SQLSMALLINT fHandleType,
796
+ SQLHANDLE hHandle,
797
+ SQLSMALLINT iRecNumber,
798
+ SQLSMALLINT fDiagIdentifier,
799
+ SQLPOINTER pDiagInfo,
800
+ SQLSMALLINT cbDiagInfoMax,
801
+ SQLSMALLINT * pcbDiagInfo );
802
+
803
+ SQLRETURN SQL_API_FN SQLCopyDesc( SQLHDESC hDescSource,
804
+ SQLHDESC hDescTarget );
805
+
806
+ SQLRETURN SQL_API_FN SQLCreateDb ( SQLHDBC hDbc,
807
+ SQLCHAR *szDB,
808
+ SQLINTEGER cbDB,
809
+ SQLCHAR *szCodeset,
810
+ SQLINTEGER cbCodeset,
811
+ SQLCHAR *szMode,
812
+ SQLINTEGER cbMode);
813
+
814
+ SQLRETURN SQL_API_FN SQLDropDb( SQLHDBC hDbc,
815
+ SQLCHAR *szDB,
816
+ SQLINTEGER cbDB );
817
+
818
+ SQLRETURN SQL_API_FN SQLCreatePkg( SQLHDBC hDbc,
819
+ SQLCHAR *szBindFileName,
820
+ SQLINTEGER cbBindFileName,
821
+ SQLCHAR *szBindOpts,
822
+ SQLINTEGER cbBindOpts );
823
+
824
+ SQLRETURN SQL_API_FN SQLGetDescField( SQLHDESC DescriptorHandle,
825
+ SQLSMALLINT RecNumber,
826
+ SQLSMALLINT FieldIdentifier,
827
+ SQLPOINTER Value,
828
+ SQLINTEGER BufferLength,
829
+ SQLINTEGER *StringLength);
830
+
831
+ SQLRETURN SQL_API_FN SQLGetDescRec( SQLHDESC DescriptorHandle,
832
+ SQLSMALLINT RecNumber,
833
+ SQLCHAR *Name,
834
+ SQLSMALLINT BufferLength,
835
+ SQLSMALLINT *StringLength,
836
+ SQLSMALLINT *Type,
837
+ SQLSMALLINT *SubType,
838
+ SQLLEN *Length,
839
+ SQLSMALLINT *Precision,
840
+ SQLSMALLINT *Scale,
841
+ SQLSMALLINT *Nullable);
842
+
843
+ SQLRETURN SQL_API_FN SQLSetDescField( SQLHDESC DescriptorHandle,
844
+ SQLSMALLINT RecNumber,
845
+ SQLSMALLINT FieldIdentifier,
846
+ SQLPOINTER Value,
847
+ SQLINTEGER BufferLength);
848
+
849
+ SQLRETURN SQL_API_FN SQLSetDescRec( SQLHDESC DescriptorHandle,
850
+ SQLSMALLINT RecNumber,
851
+ SQLSMALLINT Type,
852
+ SQLSMALLINT SubType,
853
+ SQLLEN Length,
854
+ SQLSMALLINT Precision,
855
+ SQLSMALLINT Scale,
856
+ SQLPOINTER Data,
857
+ SQLLEN *StringLength,
858
+ SQLLEN *Indicator);
859
+
860
+
861
+
862
+ #ifdef __cplusplus
863
+ }
864
+ #endif
865
+
866
+ /*
867
+ * Include ODBC header files for
868
+ * functions that are not specified in the X/Open Call Level Interface.
869
+ * This is included with permission from Microsoft.
870
+ * Do not modify (i.e. must not add, remove, rearrange) any part of the
871
+ * contents of sqlext.h
872
+ * Note: SQLDrivers is not supported by DB2 CLI.
873
+ */
874
+ #ifndef __SQL
875
+ #define __SQL
876
+ #define ODBCVER 0x0380
877
+ #endif
878
+ #if !defined(WINDOWS) && !defined(WIN32) && !defined(SQLWINT)
879
+ #ifndef __LPWSTR
880
+ typedef SQLWCHAR * LPWSTR;
881
+ #endif
882
+
883
+ #ifndef __DWORD
884
+ typedef sqluint32 DWORD;
885
+ #endif
886
+
887
+ #ifndef VOID
888
+ #define VOID void
889
+ #endif
890
+
891
+ #ifndef __BOOL
892
+ typedef unsigned BOOL;
893
+ #endif
894
+
895
+ #ifndef __WCHAR
896
+ typedef wchar_t WCHAR;
897
+ #endif
898
+
899
+ #ifndef CHAR
900
+ #define CHAR char
901
+ #define __DUMMYCHAR
902
+ #endif
903
+
904
+ #define GUID TAGGUID
905
+
906
+ typedef struct _TAGGUID {
907
+ unsigned long Data1;
908
+ unsigned short Data2;
909
+ unsigned short Data3;
910
+ unsigned char Data4[ 8 ];
911
+ } TAGGUID;
912
+ #endif
913
+
914
+ #ifndef __SQLUCODE
915
+ #define __SQLUCODE
916
+ #endif
917
+
918
+
919
+ #if !(defined(WINDOWS) || defined(WIN32) || defined(SQLWINT) || \
920
+ defined(DB2NT)) || !defined(__specstrings)
921
+ #ifndef __in
922
+ #define __in
923
+ #endif
924
+ #ifndef __out
925
+ #define __out
926
+ #endif
927
+ #ifndef __inout
928
+ #define __inout
929
+ #endif
930
+ #ifndef __in_opt
931
+ #define __in_opt
932
+ #endif
933
+ #ifndef __out_opt
934
+ #define __out_opt
935
+ #endif
936
+ #ifndef __inout_opt
937
+ #define __inout_opt
938
+ #endif
939
+ #ifndef __deref_out
940
+ #define __deref_out
941
+ #endif
942
+ #ifndef __deref_opt_out
943
+ #define __deref_opt_out
944
+ #endif
945
+ #ifndef __deref_out_opt
946
+ #define __deref_out_opt
947
+ #endif
948
+ #ifndef __in_ecount
949
+ #define __in_ecount(x)
950
+ #endif
951
+ #ifndef __out_ecount
952
+ #define __out_ecount(x)
953
+ #endif
954
+ #ifndef __inout_ecount
955
+ #define __inout_ecount(x)
956
+ #endif
957
+ #ifndef __in_ecount_opt
958
+ #define __in_ecount_opt(x)
959
+ #endif
960
+ #ifndef __out_ecount_opt
961
+ #define __out_ecount_opt(x)
962
+ #endif
963
+ #ifndef __inout_ecount_opt
964
+ #define __inout_ecount_opt(x)
965
+ #endif
966
+ #ifndef __in_bcount
967
+ #define __in_bcount(x)
968
+ #endif
969
+ #ifndef __out_bcount
970
+ #define __out_bcount(x)
971
+ #endif
972
+ #ifndef __inout_bcount
973
+ #define __inout_bcount(x)
974
+ #endif
975
+ #ifndef __in_bcount_opt
976
+ #define __in_bcount_opt(x)
977
+ #endif
978
+ #ifndef __out_bcount_opt
979
+ #define __out_bcount_opt(x)
980
+ #endif
981
+ #ifndef __inout_bcount_opt
982
+ #define __inout_bcount_opt(x)
983
+ #endif
984
+ #ifndef __out_xcount
985
+ #define __out_xcount(x)
986
+ #endif
987
+ #endif /* !WINDOWS && !WIN32 ... */
988
+
989
+ #include "sqlext.h"
990
+
991
+ #if !(defined(WINDOWS) || defined(WIN32) || defined(SQLWINT) || \
992
+ defined(DB2NT)) || !defined(__specstrings)
993
+ #undef __in
994
+ #undef __out
995
+ #undef __inout
996
+ #undef __in_opt
997
+ #undef __out_opt
998
+ #undef __inout_opt
999
+ #undef __deref_out
1000
+ #undef __deref_opt_out
1001
+ #undef __deref_out_opt
1002
+ #undef __in_ecount
1003
+ #undef __out_ecount
1004
+ #undef __inout_ecount
1005
+ #undef __in_ecount_opt
1006
+ #undef __out_ecount_opt
1007
+ #undef __inout_ecount_opt
1008
+ #undef __in_bcount
1009
+ #undef __out_bcount
1010
+ #undef __inout_bcount
1011
+ #undef __in_bcount_opt
1012
+ #undef __out_bcount_opt
1013
+ #undef __inout_bcount_opt
1014
+ #undef __out_xcount
1015
+ #endif /* !WINDOWS && !WIN32 ... */
1016
+
1017
+ #ifdef __SQLUCODE
1018
+ #undef __SQLUCODE
1019
+ #endif
1020
+
1021
+ #if !defined(WINDOWS) && !defined(WIN32) && !defined(SQLWINT)
1022
+ #undef GUID
1023
+ #ifdef __DUMMYCHAR
1024
+ #undef CHAR
1025
+ #undef __DUMMYCHAR
1026
+ #endif
1027
+ #endif
1028
+
1029
+ #undef SQL_C_BOOKMARK
1030
+ #ifdef ODBC64
1031
+ #define SQL_C_BOOKMARK SQL_C_UBIGINT /* BOOKMARK */
1032
+ #else
1033
+ #define SQL_C_BOOKMARK SQL_C_ULONG /* BOOKMARK */
1034
+ #endif
1035
+
1036
+
1037
+ #ifdef DB2_WINSOCKAPI_
1038
+ #undef _WINSOCKAPI_
1039
+ #undef DB2_WINSOCKAPI_
1040
+ #endif
1041
+
1042
+ #endif /* SQL_H_SQLCLI */