ibm_db 5.0.2 → 5.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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 */