Line data Source code
1 : #ifdef ENABLE_ODBC_WIDE
2 : static SQLRETURN odbc_SQLDriverConnect(SQLHDBC hdbc,
3 : SQLHWND hwnd,
4 : ODBC_CHAR * szConnStrIn, SQLSMALLINT cbConnStrIn,
5 : ODBC_CHAR * szConnStrOut, SQLSMALLINT cbConnStrOutMax, SQLSMALLINT FAR* pcbConnStrOut,
6 : SQLUSMALLINT fDriverCompletion, int wide);
7 :
8 : SQLRETURN ODBC_PUBLIC ODBC_API SQLDriverConnectW(
9 : SQLHDBC hdbc,
10 : SQLHWND hwnd,
11 : SQLWCHAR * szConnStrIn, SQLSMALLINT cbConnStrIn,
12 : SQLWCHAR * szConnStrOut, SQLSMALLINT cbConnStrOutMax, SQLSMALLINT FAR* pcbConnStrOut,
13 : SQLUSMALLINT fDriverCompletion)
14 : {
15 69 : if (TDS_UNLIKELY(tds_write_dump)) {
16 0 : SQLWSTR_BUFS(1);
17 0 : tdsdump_log_impl(TDS_DBG_FUNC, "SQLDriverConnectW(%p, %p, %ls, %d, %p, %d, %p, %u)\n",
18 : hdbc,
19 : hwnd,
20 : SQLWSTR(szConnStrIn), (int) cbConnStrIn,
21 : szConnStrOut, (int) cbConnStrOutMax, pcbConnStrOut,
22 : (unsigned int) fDriverCompletion);
23 0 : SQLWSTR_FREE();
24 : }
25 69 : return odbc_SQLDriverConnect(hdbc,
26 : hwnd,
27 : (ODBC_CHAR*) szConnStrIn, cbConnStrIn,
28 : (ODBC_CHAR*) szConnStrOut, cbConnStrOutMax, pcbConnStrOut,
29 : fDriverCompletion, 1);
30 : }
31 : #endif
32 :
33 : SQLRETURN ODBC_PUBLIC ODBC_API SQLDriverConnect(
34 : SQLHDBC hdbc,
35 : SQLHWND hwnd,
36 : SQLCHAR * szConnStrIn, SQLSMALLINT cbConnStrIn,
37 : SQLCHAR * szConnStrOut, SQLSMALLINT cbConnStrOutMax, SQLSMALLINT FAR* pcbConnStrOut,
38 : SQLUSMALLINT fDriverCompletion)
39 : {
40 79 : tdsdump_log(TDS_DBG_FUNC, "SQLDriverConnect(%p, %p, %s, %d, %p, %d, %p, %u)\n",
41 : hdbc,
42 : hwnd,
43 : (const char*) szConnStrIn, (int) cbConnStrIn,
44 : szConnStrOut, (int) cbConnStrOutMax, pcbConnStrOut,
45 : (unsigned int) fDriverCompletion);
46 : #ifdef ENABLE_ODBC_WIDE
47 79 : return odbc_SQLDriverConnect(hdbc,
48 : hwnd,
49 : (ODBC_CHAR*) szConnStrIn, cbConnStrIn,
50 : (ODBC_CHAR*) szConnStrOut, cbConnStrOutMax, pcbConnStrOut,
51 : fDriverCompletion, 0);
52 : #else
53 : return odbc_SQLDriverConnect(hdbc,
54 : hwnd,
55 : szConnStrIn, cbConnStrIn,
56 : szConnStrOut, cbConnStrOutMax, pcbConnStrOut,
57 : fDriverCompletion);
58 : #endif
59 : }
60 :
61 : #ifdef ENABLE_ODBC_WIDE
62 : static SQLRETURN odbc_SQLColumnPrivileges(SQLHSTMT hstmt,
63 : ODBC_CHAR * szCatalogName, SQLSMALLINT cbCatalogName,
64 : ODBC_CHAR * szSchemaName, SQLSMALLINT cbSchemaName,
65 : ODBC_CHAR * szTableName, SQLSMALLINT cbTableName,
66 : ODBC_CHAR * szColumnName, SQLSMALLINT cbColumnName, int wide);
67 :
68 : SQLRETURN ODBC_PUBLIC ODBC_API SQLColumnPrivilegesW(
69 : SQLHSTMT hstmt,
70 : SQLWCHAR * szCatalogName, SQLSMALLINT cbCatalogName,
71 : SQLWCHAR * szSchemaName, SQLSMALLINT cbSchemaName,
72 : SQLWCHAR * szTableName, SQLSMALLINT cbTableName,
73 : SQLWCHAR * szColumnName, SQLSMALLINT cbColumnName)
74 : {
75 0 : if (TDS_UNLIKELY(tds_write_dump)) {
76 0 : SQLWSTR_BUFS(4);
77 0 : tdsdump_log_impl(TDS_DBG_FUNC, "SQLColumnPrivilegesW(%p, %ls, %d, %ls, %d, %ls, %d, %ls, %d)\n",
78 : hstmt,
79 : SQLWSTR(szCatalogName), (int) cbCatalogName,
80 : SQLWSTR(szSchemaName), (int) cbSchemaName,
81 : SQLWSTR(szTableName), (int) cbTableName,
82 : SQLWSTR(szColumnName), (int) cbColumnName);
83 0 : SQLWSTR_FREE();
84 : }
85 0 : return odbc_SQLColumnPrivileges(hstmt,
86 : (ODBC_CHAR*) szCatalogName, cbCatalogName,
87 : (ODBC_CHAR*) szSchemaName, cbSchemaName,
88 : (ODBC_CHAR*) szTableName, cbTableName,
89 : (ODBC_CHAR*) szColumnName, cbColumnName, 1);
90 : }
91 : #endif
92 :
93 : SQLRETURN ODBC_PUBLIC ODBC_API SQLColumnPrivileges(
94 : SQLHSTMT hstmt,
95 : SQLCHAR * szCatalogName, SQLSMALLINT cbCatalogName,
96 : SQLCHAR * szSchemaName, SQLSMALLINT cbSchemaName,
97 : SQLCHAR * szTableName, SQLSMALLINT cbTableName,
98 : SQLCHAR * szColumnName, SQLSMALLINT cbColumnName)
99 : {
100 0 : tdsdump_log(TDS_DBG_FUNC, "SQLColumnPrivileges(%p, %s, %d, %s, %d, %s, %d, %s, %d)\n",
101 : hstmt,
102 : (const char*) szCatalogName, (int) cbCatalogName,
103 : (const char*) szSchemaName, (int) cbSchemaName,
104 : (const char*) szTableName, (int) cbTableName,
105 : (const char*) szColumnName, (int) cbColumnName);
106 : #ifdef ENABLE_ODBC_WIDE
107 0 : return odbc_SQLColumnPrivileges(hstmt,
108 : (ODBC_CHAR*) szCatalogName, cbCatalogName,
109 : (ODBC_CHAR*) szSchemaName, cbSchemaName,
110 : (ODBC_CHAR*) szTableName, cbTableName,
111 : (ODBC_CHAR*) szColumnName, cbColumnName, 0);
112 : #else
113 : return odbc_SQLColumnPrivileges(hstmt,
114 : szCatalogName, cbCatalogName,
115 : szSchemaName, cbSchemaName,
116 : szTableName, cbTableName,
117 : szColumnName, cbColumnName);
118 : #endif
119 : }
120 :
121 : #ifdef ENABLE_ODBC_WIDE
122 : static SQLRETURN odbc_SQLForeignKeys(SQLHSTMT hstmt,
123 : ODBC_CHAR * szPkCatalogName, SQLSMALLINT cbPkCatalogName,
124 : ODBC_CHAR * szPkSchemaName, SQLSMALLINT cbPkSchemaName,
125 : ODBC_CHAR * szPkTableName, SQLSMALLINT cbPkTableName,
126 : ODBC_CHAR * szFkCatalogName, SQLSMALLINT cbFkCatalogName,
127 : ODBC_CHAR * szFkSchemaName, SQLSMALLINT cbFkSchemaName,
128 : ODBC_CHAR * szFkTableName, SQLSMALLINT cbFkTableName, int wide);
129 :
130 : SQLRETURN ODBC_PUBLIC ODBC_API SQLForeignKeysW(
131 : SQLHSTMT hstmt,
132 : SQLWCHAR * szPkCatalogName, SQLSMALLINT cbPkCatalogName,
133 : SQLWCHAR * szPkSchemaName, SQLSMALLINT cbPkSchemaName,
134 : SQLWCHAR * szPkTableName, SQLSMALLINT cbPkTableName,
135 : SQLWCHAR * szFkCatalogName, SQLSMALLINT cbFkCatalogName,
136 : SQLWCHAR * szFkSchemaName, SQLSMALLINT cbFkSchemaName,
137 : SQLWCHAR * szFkTableName, SQLSMALLINT cbFkTableName)
138 : {
139 0 : if (TDS_UNLIKELY(tds_write_dump)) {
140 0 : SQLWSTR_BUFS(6);
141 0 : tdsdump_log_impl(TDS_DBG_FUNC, "SQLForeignKeysW(%p, %ls, %d, %ls, %d, %ls, %d, %ls, %d, %ls, %d, %ls, %d)\n",
142 : hstmt,
143 : SQLWSTR(szPkCatalogName), (int) cbPkCatalogName,
144 : SQLWSTR(szPkSchemaName), (int) cbPkSchemaName,
145 : SQLWSTR(szPkTableName), (int) cbPkTableName,
146 : SQLWSTR(szFkCatalogName), (int) cbFkCatalogName,
147 : SQLWSTR(szFkSchemaName), (int) cbFkSchemaName,
148 : SQLWSTR(szFkTableName), (int) cbFkTableName);
149 0 : SQLWSTR_FREE();
150 : }
151 0 : return odbc_SQLForeignKeys(hstmt,
152 : (ODBC_CHAR*) szPkCatalogName, cbPkCatalogName,
153 : (ODBC_CHAR*) szPkSchemaName, cbPkSchemaName,
154 : (ODBC_CHAR*) szPkTableName, cbPkTableName,
155 : (ODBC_CHAR*) szFkCatalogName, cbFkCatalogName,
156 : (ODBC_CHAR*) szFkSchemaName, cbFkSchemaName,
157 : (ODBC_CHAR*) szFkTableName, cbFkTableName, 1);
158 : }
159 : #endif
160 :
161 : SQLRETURN ODBC_PUBLIC ODBC_API SQLForeignKeys(
162 : SQLHSTMT hstmt,
163 : SQLCHAR * szPkCatalogName, SQLSMALLINT cbPkCatalogName,
164 : SQLCHAR * szPkSchemaName, SQLSMALLINT cbPkSchemaName,
165 : SQLCHAR * szPkTableName, SQLSMALLINT cbPkTableName,
166 : SQLCHAR * szFkCatalogName, SQLSMALLINT cbFkCatalogName,
167 : SQLCHAR * szFkSchemaName, SQLSMALLINT cbFkSchemaName,
168 : SQLCHAR * szFkTableName, SQLSMALLINT cbFkTableName)
169 : {
170 0 : tdsdump_log(TDS_DBG_FUNC, "SQLForeignKeys(%p, %s, %d, %s, %d, %s, %d, %s, %d, %s, %d, %s, %d)\n",
171 : hstmt,
172 : (const char*) szPkCatalogName, (int) cbPkCatalogName,
173 : (const char*) szPkSchemaName, (int) cbPkSchemaName,
174 : (const char*) szPkTableName, (int) cbPkTableName,
175 : (const char*) szFkCatalogName, (int) cbFkCatalogName,
176 : (const char*) szFkSchemaName, (int) cbFkSchemaName,
177 : (const char*) szFkTableName, (int) cbFkTableName);
178 : #ifdef ENABLE_ODBC_WIDE
179 0 : return odbc_SQLForeignKeys(hstmt,
180 : (ODBC_CHAR*) szPkCatalogName, cbPkCatalogName,
181 : (ODBC_CHAR*) szPkSchemaName, cbPkSchemaName,
182 : (ODBC_CHAR*) szPkTableName, cbPkTableName,
183 : (ODBC_CHAR*) szFkCatalogName, cbFkCatalogName,
184 : (ODBC_CHAR*) szFkSchemaName, cbFkSchemaName,
185 : (ODBC_CHAR*) szFkTableName, cbFkTableName, 0);
186 : #else
187 : return odbc_SQLForeignKeys(hstmt,
188 : szPkCatalogName, cbPkCatalogName,
189 : szPkSchemaName, cbPkSchemaName,
190 : szPkTableName, cbPkTableName,
191 : szFkCatalogName, cbFkCatalogName,
192 : szFkSchemaName, cbFkSchemaName,
193 : szFkTableName, cbFkTableName);
194 : #endif
195 : }
196 :
197 : #ifdef ENABLE_ODBC_WIDE
198 : static SQLRETURN odbc_SQLNativeSql(SQLHDBC hdbc,
199 : ODBC_CHAR * szSqlStrIn, SQLINTEGER cbSqlStrIn,
200 : ODBC_CHAR * szSqlStr, SQLINTEGER cbSqlStrMax, SQLINTEGER FAR* pcbSqlStr, int wide);
201 :
202 : SQLRETURN ODBC_PUBLIC ODBC_API SQLNativeSqlW(
203 : SQLHDBC hdbc,
204 : SQLWCHAR * szSqlStrIn, SQLINTEGER cbSqlStrIn,
205 : SQLWCHAR * szSqlStr, SQLINTEGER cbSqlStrMax, SQLINTEGER FAR* pcbSqlStr)
206 : {
207 0 : if (TDS_UNLIKELY(tds_write_dump)) {
208 0 : SQLWSTR_BUFS(1);
209 0 : tdsdump_log_impl(TDS_DBG_FUNC, "SQLNativeSqlW(%p, %ls, %d, %p, %d, %p)\n",
210 : hdbc,
211 : SQLWSTR(szSqlStrIn), (int) cbSqlStrIn,
212 : szSqlStr, (int) cbSqlStrMax, pcbSqlStr);
213 0 : SQLWSTR_FREE();
214 : }
215 0 : return odbc_SQLNativeSql(hdbc,
216 : (ODBC_CHAR*) szSqlStrIn, cbSqlStrIn,
217 : (ODBC_CHAR*) szSqlStr, cbSqlStrMax, pcbSqlStr, 1);
218 : }
219 : #endif
220 :
221 : SQLRETURN ODBC_PUBLIC ODBC_API SQLNativeSql(
222 : SQLHDBC hdbc,
223 : SQLCHAR * szSqlStrIn, SQLINTEGER cbSqlStrIn,
224 : SQLCHAR * szSqlStr, SQLINTEGER cbSqlStrMax, SQLINTEGER FAR* pcbSqlStr)
225 : {
226 0 : tdsdump_log(TDS_DBG_FUNC, "SQLNativeSql(%p, %s, %d, %p, %d, %p)\n",
227 : hdbc,
228 : (const char*) szSqlStrIn, (int) cbSqlStrIn,
229 : szSqlStr, (int) cbSqlStrMax, pcbSqlStr);
230 : #ifdef ENABLE_ODBC_WIDE
231 0 : return odbc_SQLNativeSql(hdbc,
232 : (ODBC_CHAR*) szSqlStrIn, cbSqlStrIn,
233 : (ODBC_CHAR*) szSqlStr, cbSqlStrMax, pcbSqlStr, 0);
234 : #else
235 : return odbc_SQLNativeSql(hdbc,
236 : szSqlStrIn, cbSqlStrIn,
237 : szSqlStr, cbSqlStrMax, pcbSqlStr);
238 : #endif
239 : }
240 :
241 : #ifdef ENABLE_ODBC_WIDE
242 : static SQLRETURN odbc_SQLPrimaryKeys(SQLHSTMT hstmt,
243 : ODBC_CHAR * szCatalogName, SQLSMALLINT cbCatalogName,
244 : ODBC_CHAR * szSchemaName, SQLSMALLINT cbSchemaName,
245 : ODBC_CHAR * szTableName, SQLSMALLINT cbTableName, int wide);
246 :
247 : SQLRETURN ODBC_PUBLIC ODBC_API SQLPrimaryKeysW(
248 : SQLHSTMT hstmt,
249 : SQLWCHAR * szCatalogName, SQLSMALLINT cbCatalogName,
250 : SQLWCHAR * szSchemaName, SQLSMALLINT cbSchemaName,
251 : SQLWCHAR * szTableName, SQLSMALLINT cbTableName)
252 : {
253 0 : if (TDS_UNLIKELY(tds_write_dump)) {
254 0 : SQLWSTR_BUFS(3);
255 0 : tdsdump_log_impl(TDS_DBG_FUNC, "SQLPrimaryKeysW(%p, %ls, %d, %ls, %d, %ls, %d)\n",
256 : hstmt,
257 : SQLWSTR(szCatalogName), (int) cbCatalogName,
258 : SQLWSTR(szSchemaName), (int) cbSchemaName,
259 : SQLWSTR(szTableName), (int) cbTableName);
260 0 : SQLWSTR_FREE();
261 : }
262 0 : return odbc_SQLPrimaryKeys(hstmt,
263 : (ODBC_CHAR*) szCatalogName, cbCatalogName,
264 : (ODBC_CHAR*) szSchemaName, cbSchemaName,
265 : (ODBC_CHAR*) szTableName, cbTableName, 1);
266 : }
267 : #endif
268 :
269 : SQLRETURN ODBC_PUBLIC ODBC_API SQLPrimaryKeys(
270 : SQLHSTMT hstmt,
271 : SQLCHAR * szCatalogName, SQLSMALLINT cbCatalogName,
272 : SQLCHAR * szSchemaName, SQLSMALLINT cbSchemaName,
273 : SQLCHAR * szTableName, SQLSMALLINT cbTableName)
274 : {
275 0 : tdsdump_log(TDS_DBG_FUNC, "SQLPrimaryKeys(%p, %s, %d, %s, %d, %s, %d)\n",
276 : hstmt,
277 : (const char*) szCatalogName, (int) cbCatalogName,
278 : (const char*) szSchemaName, (int) cbSchemaName,
279 : (const char*) szTableName, (int) cbTableName);
280 : #ifdef ENABLE_ODBC_WIDE
281 0 : return odbc_SQLPrimaryKeys(hstmt,
282 : (ODBC_CHAR*) szCatalogName, cbCatalogName,
283 : (ODBC_CHAR*) szSchemaName, cbSchemaName,
284 : (ODBC_CHAR*) szTableName, cbTableName, 0);
285 : #else
286 : return odbc_SQLPrimaryKeys(hstmt,
287 : szCatalogName, cbCatalogName,
288 : szSchemaName, cbSchemaName,
289 : szTableName, cbTableName);
290 : #endif
291 : }
292 :
293 : #ifdef ENABLE_ODBC_WIDE
294 : static SQLRETURN odbc_SQLProcedureColumns(SQLHSTMT hstmt,
295 : ODBC_CHAR * szCatalogName, SQLSMALLINT cbCatalogName,
296 : ODBC_CHAR * szSchemaName, SQLSMALLINT cbSchemaName,
297 : ODBC_CHAR * szProcName, SQLSMALLINT cbProcName,
298 : ODBC_CHAR * szColumnName, SQLSMALLINT cbColumnName, int wide);
299 :
300 : SQLRETURN ODBC_PUBLIC ODBC_API SQLProcedureColumnsW(
301 : SQLHSTMT hstmt,
302 : SQLWCHAR * szCatalogName, SQLSMALLINT cbCatalogName,
303 : SQLWCHAR * szSchemaName, SQLSMALLINT cbSchemaName,
304 : SQLWCHAR * szProcName, SQLSMALLINT cbProcName,
305 : SQLWCHAR * szColumnName, SQLSMALLINT cbColumnName)
306 : {
307 10 : if (TDS_UNLIKELY(tds_write_dump)) {
308 0 : SQLWSTR_BUFS(4);
309 0 : tdsdump_log_impl(TDS_DBG_FUNC, "SQLProcedureColumnsW(%p, %ls, %d, %ls, %d, %ls, %d, %ls, %d)\n",
310 : hstmt,
311 : SQLWSTR(szCatalogName), (int) cbCatalogName,
312 : SQLWSTR(szSchemaName), (int) cbSchemaName,
313 : SQLWSTR(szProcName), (int) cbProcName,
314 : SQLWSTR(szColumnName), (int) cbColumnName);
315 0 : SQLWSTR_FREE();
316 : }
317 10 : return odbc_SQLProcedureColumns(hstmt,
318 : (ODBC_CHAR*) szCatalogName, cbCatalogName,
319 : (ODBC_CHAR*) szSchemaName, cbSchemaName,
320 : (ODBC_CHAR*) szProcName, cbProcName,
321 : (ODBC_CHAR*) szColumnName, cbColumnName, 1);
322 : }
323 : #endif
324 :
325 : SQLRETURN ODBC_PUBLIC ODBC_API SQLProcedureColumns(
326 : SQLHSTMT hstmt,
327 : SQLCHAR * szCatalogName, SQLSMALLINT cbCatalogName,
328 : SQLCHAR * szSchemaName, SQLSMALLINT cbSchemaName,
329 : SQLCHAR * szProcName, SQLSMALLINT cbProcName,
330 : SQLCHAR * szColumnName, SQLSMALLINT cbColumnName)
331 : {
332 10 : tdsdump_log(TDS_DBG_FUNC, "SQLProcedureColumns(%p, %s, %d, %s, %d, %s, %d, %s, %d)\n",
333 : hstmt,
334 : (const char*) szCatalogName, (int) cbCatalogName,
335 : (const char*) szSchemaName, (int) cbSchemaName,
336 : (const char*) szProcName, (int) cbProcName,
337 : (const char*) szColumnName, (int) cbColumnName);
338 : #ifdef ENABLE_ODBC_WIDE
339 10 : return odbc_SQLProcedureColumns(hstmt,
340 : (ODBC_CHAR*) szCatalogName, cbCatalogName,
341 : (ODBC_CHAR*) szSchemaName, cbSchemaName,
342 : (ODBC_CHAR*) szProcName, cbProcName,
343 : (ODBC_CHAR*) szColumnName, cbColumnName, 0);
344 : #else
345 : return odbc_SQLProcedureColumns(hstmt,
346 : szCatalogName, cbCatalogName,
347 : szSchemaName, cbSchemaName,
348 : szProcName, cbProcName,
349 : szColumnName, cbColumnName);
350 : #endif
351 : }
352 :
353 : #ifdef ENABLE_ODBC_WIDE
354 : static SQLRETURN odbc_SQLProcedures(SQLHSTMT hstmt,
355 : ODBC_CHAR * szCatalogName, SQLSMALLINT cbCatalogName,
356 : ODBC_CHAR * szSchemaName, SQLSMALLINT cbSchemaName,
357 : ODBC_CHAR * szProcName, SQLSMALLINT cbProcName, int wide);
358 :
359 : SQLRETURN ODBC_PUBLIC ODBC_API SQLProceduresW(
360 : SQLHSTMT hstmt,
361 : SQLWCHAR * szCatalogName, SQLSMALLINT cbCatalogName,
362 : SQLWCHAR * szSchemaName, SQLSMALLINT cbSchemaName,
363 : SQLWCHAR * szProcName, SQLSMALLINT cbProcName)
364 : {
365 0 : if (TDS_UNLIKELY(tds_write_dump)) {
366 0 : SQLWSTR_BUFS(3);
367 0 : tdsdump_log_impl(TDS_DBG_FUNC, "SQLProceduresW(%p, %ls, %d, %ls, %d, %ls, %d)\n",
368 : hstmt,
369 : SQLWSTR(szCatalogName), (int) cbCatalogName,
370 : SQLWSTR(szSchemaName), (int) cbSchemaName,
371 : SQLWSTR(szProcName), (int) cbProcName);
372 0 : SQLWSTR_FREE();
373 : }
374 0 : return odbc_SQLProcedures(hstmt,
375 : (ODBC_CHAR*) szCatalogName, cbCatalogName,
376 : (ODBC_CHAR*) szSchemaName, cbSchemaName,
377 : (ODBC_CHAR*) szProcName, cbProcName, 1);
378 : }
379 : #endif
380 :
381 : SQLRETURN ODBC_PUBLIC ODBC_API SQLProcedures(
382 : SQLHSTMT hstmt,
383 : SQLCHAR * szCatalogName, SQLSMALLINT cbCatalogName,
384 : SQLCHAR * szSchemaName, SQLSMALLINT cbSchemaName,
385 : SQLCHAR * szProcName, SQLSMALLINT cbProcName)
386 : {
387 0 : tdsdump_log(TDS_DBG_FUNC, "SQLProcedures(%p, %s, %d, %s, %d, %s, %d)\n",
388 : hstmt,
389 : (const char*) szCatalogName, (int) cbCatalogName,
390 : (const char*) szSchemaName, (int) cbSchemaName,
391 : (const char*) szProcName, (int) cbProcName);
392 : #ifdef ENABLE_ODBC_WIDE
393 0 : return odbc_SQLProcedures(hstmt,
394 : (ODBC_CHAR*) szCatalogName, cbCatalogName,
395 : (ODBC_CHAR*) szSchemaName, cbSchemaName,
396 : (ODBC_CHAR*) szProcName, cbProcName, 0);
397 : #else
398 : return odbc_SQLProcedures(hstmt,
399 : szCatalogName, cbCatalogName,
400 : szSchemaName, cbSchemaName,
401 : szProcName, cbProcName);
402 : #endif
403 : }
404 :
405 : #ifdef ENABLE_ODBC_WIDE
406 : static SQLRETURN odbc_SQLTablePrivileges(SQLHSTMT hstmt,
407 : ODBC_CHAR * szCatalogName, SQLSMALLINT cbCatalogName,
408 : ODBC_CHAR * szSchemaName, SQLSMALLINT cbSchemaName,
409 : ODBC_CHAR * szTableName, SQLSMALLINT cbTableName, int wide);
410 :
411 : SQLRETURN ODBC_PUBLIC ODBC_API SQLTablePrivilegesW(
412 : SQLHSTMT hstmt,
413 : SQLWCHAR * szCatalogName, SQLSMALLINT cbCatalogName,
414 : SQLWCHAR * szSchemaName, SQLSMALLINT cbSchemaName,
415 : SQLWCHAR * szTableName, SQLSMALLINT cbTableName)
416 : {
417 0 : if (TDS_UNLIKELY(tds_write_dump)) {
418 0 : SQLWSTR_BUFS(3);
419 0 : tdsdump_log_impl(TDS_DBG_FUNC, "SQLTablePrivilegesW(%p, %ls, %d, %ls, %d, %ls, %d)\n",
420 : hstmt,
421 : SQLWSTR(szCatalogName), (int) cbCatalogName,
422 : SQLWSTR(szSchemaName), (int) cbSchemaName,
423 : SQLWSTR(szTableName), (int) cbTableName);
424 0 : SQLWSTR_FREE();
425 : }
426 0 : return odbc_SQLTablePrivileges(hstmt,
427 : (ODBC_CHAR*) szCatalogName, cbCatalogName,
428 : (ODBC_CHAR*) szSchemaName, cbSchemaName,
429 : (ODBC_CHAR*) szTableName, cbTableName, 1);
430 : }
431 : #endif
432 :
433 : SQLRETURN ODBC_PUBLIC ODBC_API SQLTablePrivileges(
434 : SQLHSTMT hstmt,
435 : SQLCHAR * szCatalogName, SQLSMALLINT cbCatalogName,
436 : SQLCHAR * szSchemaName, SQLSMALLINT cbSchemaName,
437 : SQLCHAR * szTableName, SQLSMALLINT cbTableName)
438 : {
439 0 : tdsdump_log(TDS_DBG_FUNC, "SQLTablePrivileges(%p, %s, %d, %s, %d, %s, %d)\n",
440 : hstmt,
441 : (const char*) szCatalogName, (int) cbCatalogName,
442 : (const char*) szSchemaName, (int) cbSchemaName,
443 : (const char*) szTableName, (int) cbTableName);
444 : #ifdef ENABLE_ODBC_WIDE
445 0 : return odbc_SQLTablePrivileges(hstmt,
446 : (ODBC_CHAR*) szCatalogName, cbCatalogName,
447 : (ODBC_CHAR*) szSchemaName, cbSchemaName,
448 : (ODBC_CHAR*) szTableName, cbTableName, 0);
449 : #else
450 : return odbc_SQLTablePrivileges(hstmt,
451 : szCatalogName, cbCatalogName,
452 : szSchemaName, cbSchemaName,
453 : szTableName, cbTableName);
454 : #endif
455 : }
456 :
457 : #ifdef ENABLE_ODBC_WIDE
458 : static SQLRETURN odbc_SQLConnect(SQLHDBC hdbc,
459 : ODBC_CHAR * szDSN, SQLSMALLINT cbDSN,
460 : ODBC_CHAR * szUID, SQLSMALLINT cbUID,
461 : ODBC_CHAR * szAuthStr, SQLSMALLINT cbAuthStr, int wide);
462 :
463 : SQLRETURN ODBC_PUBLIC ODBC_API SQLConnectW(
464 : SQLHDBC hdbc,
465 : SQLWCHAR * szDSN, SQLSMALLINT cbDSN,
466 : SQLWCHAR * szUID, SQLSMALLINT cbUID,
467 : SQLWCHAR * szAuthStr, SQLSMALLINT cbAuthStr)
468 : {
469 509 : if (TDS_UNLIKELY(tds_write_dump)) {
470 0 : SQLWSTR_BUFS(3);
471 0 : tdsdump_log_impl(TDS_DBG_FUNC, "SQLConnectW(%p, %ls, %d, %ls, %d, %ls, %d)\n",
472 : hdbc,
473 : SQLWSTR(szDSN), (int) cbDSN,
474 : SQLWSTR(szUID), (int) cbUID,
475 : SQLWSTR(szAuthStr), (int) cbAuthStr);
476 0 : SQLWSTR_FREE();
477 : }
478 509 : return odbc_SQLConnect(hdbc,
479 : (ODBC_CHAR*) szDSN, cbDSN,
480 : (ODBC_CHAR*) szUID, cbUID,
481 : (ODBC_CHAR*) szAuthStr, cbAuthStr, 1);
482 : }
483 : #endif
484 :
485 : SQLRETURN ODBC_PUBLIC ODBC_API SQLConnect(
486 : SQLHDBC hdbc,
487 : SQLCHAR * szDSN, SQLSMALLINT cbDSN,
488 : SQLCHAR * szUID, SQLSMALLINT cbUID,
489 : SQLCHAR * szAuthStr, SQLSMALLINT cbAuthStr)
490 : {
491 509 : tdsdump_log(TDS_DBG_FUNC, "SQLConnect(%p, %s, %d, %s, %d, %s, %d)\n",
492 : hdbc,
493 : (const char*) szDSN, (int) cbDSN,
494 : (const char*) szUID, (int) cbUID,
495 : (const char*) szAuthStr, (int) cbAuthStr);
496 : #ifdef ENABLE_ODBC_WIDE
497 509 : return odbc_SQLConnect(hdbc,
498 : (ODBC_CHAR*) szDSN, cbDSN,
499 : (ODBC_CHAR*) szUID, cbUID,
500 : (ODBC_CHAR*) szAuthStr, cbAuthStr, 0);
501 : #else
502 : return odbc_SQLConnect(hdbc,
503 : szDSN, cbDSN,
504 : szUID, cbUID,
505 : szAuthStr, cbAuthStr);
506 : #endif
507 : }
508 :
509 : #ifdef ENABLE_ODBC_WIDE
510 : static SQLRETURN odbc_SQLDescribeCol(SQLHSTMT hstmt,
511 : SQLUSMALLINT icol,
512 : ODBC_CHAR * szColName, SQLSMALLINT cbColNameMax, SQLSMALLINT FAR* pcbColName,
513 : SQLSMALLINT * pfSqlType,
514 : SQLULEN * pcbColDef,
515 : SQLSMALLINT * pibScale,
516 : SQLSMALLINT * pfNullable, int wide);
517 :
518 : SQLRETURN ODBC_PUBLIC ODBC_API SQLDescribeColW(
519 : SQLHSTMT hstmt,
520 : SQLUSMALLINT icol,
521 : SQLWCHAR * szColName, SQLSMALLINT cbColNameMax, SQLSMALLINT FAR* pcbColName,
522 : SQLSMALLINT * pfSqlType,
523 : SQLULEN * pcbColDef,
524 : SQLSMALLINT * pibScale,
525 : SQLSMALLINT * pfNullable)
526 : {
527 1164 : tdsdump_log(TDS_DBG_FUNC, "SQLDescribeColW(%p, %u, %p, %d, %p, %p, %p, %p, %p)\n",
528 : hstmt,
529 : (unsigned int) icol,
530 : szColName, (int) cbColNameMax, pcbColName,
531 : pfSqlType,
532 : pcbColDef,
533 : pibScale,
534 : pfNullable);
535 1164 : return odbc_SQLDescribeCol(hstmt,
536 : icol,
537 : (ODBC_CHAR*) szColName, cbColNameMax, pcbColName,
538 : pfSqlType,
539 : pcbColDef,
540 : pibScale,
541 : pfNullable, 1);
542 : }
543 : #endif
544 :
545 : SQLRETURN ODBC_PUBLIC ODBC_API SQLDescribeCol(
546 : SQLHSTMT hstmt,
547 : SQLUSMALLINT icol,
548 : SQLCHAR * szColName, SQLSMALLINT cbColNameMax, SQLSMALLINT FAR* pcbColName,
549 : SQLSMALLINT * pfSqlType,
550 : SQLULEN * pcbColDef,
551 : SQLSMALLINT * pibScale,
552 : SQLSMALLINT * pfNullable)
553 : {
554 1164 : tdsdump_log(TDS_DBG_FUNC, "SQLDescribeCol(%p, %u, %p, %d, %p, %p, %p, %p, %p)\n",
555 : hstmt,
556 : (unsigned int) icol,
557 : szColName, (int) cbColNameMax, pcbColName,
558 : pfSqlType,
559 : pcbColDef,
560 : pibScale,
561 : pfNullable);
562 : #ifdef ENABLE_ODBC_WIDE
563 1164 : return odbc_SQLDescribeCol(hstmt,
564 : icol,
565 : (ODBC_CHAR*) szColName, cbColNameMax, pcbColName,
566 : pfSqlType,
567 : pcbColDef,
568 : pibScale,
569 : pfNullable, 0);
570 : #else
571 : return odbc_SQLDescribeCol(hstmt,
572 : icol,
573 : szColName, cbColNameMax, pcbColName,
574 : pfSqlType,
575 : pcbColDef,
576 : pibScale,
577 : pfNullable);
578 : #endif
579 : }
580 :
581 : #ifdef ENABLE_ODBC_WIDE
582 : static SQLRETURN odbc_SQLGetDescRec(SQLHDESC hdesc,
583 : SQLSMALLINT RecordNumber,
584 : ODBC_CHAR * szName, SQLSMALLINT cbNameMax, SQLSMALLINT FAR* pcbName,
585 : SQLSMALLINT * Type,
586 : SQLSMALLINT * SubType,
587 : SQLLEN * Length,
588 : SQLSMALLINT * Precision,
589 : SQLSMALLINT * Scale,
590 : SQLSMALLINT * Nullable, int wide);
591 :
592 : SQLRETURN ODBC_PUBLIC ODBC_API SQLGetDescRecW(
593 : SQLHDESC hdesc,
594 : SQLSMALLINT RecordNumber,
595 : SQLWCHAR * szName, SQLSMALLINT cbNameMax, SQLSMALLINT FAR* pcbName,
596 : SQLSMALLINT * Type,
597 : SQLSMALLINT * SubType,
598 : SQLLEN * Length,
599 : SQLSMALLINT * Precision,
600 : SQLSMALLINT * Scale,
601 : SQLSMALLINT * Nullable)
602 : {
603 15 : tdsdump_log(TDS_DBG_FUNC, "SQLGetDescRecW(%p, %d, %p, %d, %p, %p, %p, %p, %p, %p, %p)\n",
604 : hdesc,
605 : (int) RecordNumber,
606 : szName, (int) cbNameMax, pcbName,
607 : Type,
608 : SubType,
609 : Length,
610 : Precision,
611 : Scale,
612 : Nullable);
613 15 : return odbc_SQLGetDescRec(hdesc,
614 : RecordNumber,
615 : (ODBC_CHAR*) szName, cbNameMax, pcbName,
616 : Type,
617 : SubType,
618 : Length,
619 : Precision,
620 : Scale,
621 : Nullable, 1);
622 : }
623 : #endif
624 :
625 : SQLRETURN ODBC_PUBLIC ODBC_API SQLGetDescRec(
626 : SQLHDESC hdesc,
627 : SQLSMALLINT RecordNumber,
628 : SQLCHAR * szName, SQLSMALLINT cbNameMax, SQLSMALLINT FAR* pcbName,
629 : SQLSMALLINT * Type,
630 : SQLSMALLINT * SubType,
631 : SQLLEN * Length,
632 : SQLSMALLINT * Precision,
633 : SQLSMALLINT * Scale,
634 : SQLSMALLINT * Nullable)
635 : {
636 15 : tdsdump_log(TDS_DBG_FUNC, "SQLGetDescRec(%p, %d, %p, %d, %p, %p, %p, %p, %p, %p, %p)\n",
637 : hdesc,
638 : (int) RecordNumber,
639 : szName, (int) cbNameMax, pcbName,
640 : Type,
641 : SubType,
642 : Length,
643 : Precision,
644 : Scale,
645 : Nullable);
646 : #ifdef ENABLE_ODBC_WIDE
647 15 : return odbc_SQLGetDescRec(hdesc,
648 : RecordNumber,
649 : (ODBC_CHAR*) szName, cbNameMax, pcbName,
650 : Type,
651 : SubType,
652 : Length,
653 : Precision,
654 : Scale,
655 : Nullable, 0);
656 : #else
657 : return odbc_SQLGetDescRec(hdesc,
658 : RecordNumber,
659 : szName, cbNameMax, pcbName,
660 : Type,
661 : SubType,
662 : Length,
663 : Precision,
664 : Scale,
665 : Nullable);
666 : #endif
667 : }
668 :
669 : #ifdef ENABLE_ODBC_WIDE
670 : static SQLRETURN odbc_SQLGetDescField(SQLHDESC hdesc,
671 : SQLSMALLINT icol,
672 : SQLSMALLINT fDescType,
673 : SQLPOINTER Value,
674 : SQLINTEGER BufferLength,
675 : SQLINTEGER * StringLength, int wide);
676 :
677 : SQLRETURN ODBC_PUBLIC ODBC_API SQLGetDescFieldW(
678 : SQLHDESC hdesc,
679 : SQLSMALLINT icol,
680 : SQLSMALLINT fDescType,
681 : SQLPOINTER Value,
682 : SQLINTEGER BufferLength,
683 : SQLINTEGER * StringLength)
684 : {
685 1056 : tdsdump_log(TDS_DBG_FUNC, "SQLGetDescFieldW(%p, %d, %d, %p, %d, %p)\n",
686 : hdesc,
687 : (int) icol,
688 : (int) fDescType,
689 : Value,
690 : (int) BufferLength,
691 : StringLength);
692 1056 : return odbc_SQLGetDescField(hdesc,
693 : icol,
694 : fDescType,
695 : Value,
696 : BufferLength,
697 : StringLength, 1);
698 : }
699 : #endif
700 :
701 : SQLRETURN ODBC_PUBLIC ODBC_API SQLGetDescField(
702 : SQLHDESC hdesc,
703 : SQLSMALLINT icol,
704 : SQLSMALLINT fDescType,
705 : SQLPOINTER Value,
706 : SQLINTEGER BufferLength,
707 : SQLINTEGER * StringLength)
708 : {
709 : tdsdump_log(TDS_DBG_FUNC, "SQLGetDescField(%p, %d, %d, %p, %d, %p)\n",
710 : hdesc,
711 : (int) icol,
712 : (int) fDescType,
713 : Value,
714 : (int) BufferLength,
715 : StringLength);
716 : #ifdef ENABLE_ODBC_WIDE
717 1056 : return odbc_SQLGetDescField(hdesc,
718 : icol,
719 : fDescType,
720 : Value,
721 : BufferLength,
722 : StringLength, 0);
723 : #else
724 : return odbc_SQLGetDescField(hdesc,
725 : icol,
726 : fDescType,
727 : Value,
728 : BufferLength,
729 : StringLength);
730 : #endif
731 : }
732 :
733 : #ifdef ENABLE_ODBC_WIDE
734 : static SQLRETURN odbc_SQLSetDescField(SQLHDESC hdesc,
735 : SQLSMALLINT icol,
736 : SQLSMALLINT fDescType,
737 : SQLPOINTER Value,
738 : SQLINTEGER BufferLength, int wide);
739 :
740 : SQLRETURN ODBC_PUBLIC ODBC_API SQLSetDescFieldW(
741 : SQLHDESC hdesc,
742 : SQLSMALLINT icol,
743 : SQLSMALLINT fDescType,
744 : SQLPOINTER Value,
745 : SQLINTEGER BufferLength)
746 : {
747 345 : tdsdump_log(TDS_DBG_FUNC, "SQLSetDescFieldW(%p, %d, %d, %p, %d)\n",
748 : hdesc,
749 : (int) icol,
750 : (int) fDescType,
751 : Value,
752 : (int) BufferLength);
753 345 : return odbc_SQLSetDescField(hdesc,
754 : icol,
755 : fDescType,
756 : Value,
757 : BufferLength, 1);
758 : }
759 : #endif
760 :
761 : SQLRETURN ODBC_PUBLIC ODBC_API SQLSetDescField(
762 : SQLHDESC hdesc,
763 : SQLSMALLINT icol,
764 : SQLSMALLINT fDescType,
765 : SQLPOINTER Value,
766 : SQLINTEGER BufferLength)
767 : {
768 345 : tdsdump_log(TDS_DBG_FUNC, "SQLSetDescField(%p, %d, %d, %p, %d)\n",
769 : hdesc,
770 : (int) icol,
771 : (int) fDescType,
772 : Value,
773 : (int) BufferLength);
774 : #ifdef ENABLE_ODBC_WIDE
775 345 : return odbc_SQLSetDescField(hdesc,
776 : icol,
777 : fDescType,
778 : Value,
779 : BufferLength, 0);
780 : #else
781 : return odbc_SQLSetDescField(hdesc,
782 : icol,
783 : fDescType,
784 : Value,
785 : BufferLength);
786 : #endif
787 : }
788 :
789 : #ifdef ENABLE_ODBC_WIDE
790 : static SQLRETURN odbc_SQLExecDirect(SQLHSTMT hstmt,
791 : ODBC_CHAR * szSqlStr, SQLINTEGER cbSqlStr, int wide);
792 :
793 : SQLRETURN ODBC_PUBLIC ODBC_API SQLExecDirectW(
794 : SQLHSTMT hstmt,
795 : SQLWCHAR * szSqlStr, SQLINTEGER cbSqlStr)
796 : {
797 13746 : if (TDS_UNLIKELY(tds_write_dump)) {
798 0 : SQLWSTR_BUFS(1);
799 0 : tdsdump_log_impl(TDS_DBG_FUNC, "SQLExecDirectW(%p, %ls, %d)\n",
800 : hstmt,
801 : SQLWSTR(szSqlStr), (int) cbSqlStr);
802 0 : SQLWSTR_FREE();
803 : }
804 13746 : return odbc_SQLExecDirect(hstmt,
805 : (ODBC_CHAR*) szSqlStr, cbSqlStr, 1);
806 : }
807 : #endif
808 :
809 : SQLRETURN ODBC_PUBLIC ODBC_API SQLExecDirect(
810 : SQLHSTMT hstmt,
811 : SQLCHAR * szSqlStr, SQLINTEGER cbSqlStr)
812 : {
813 14061 : tdsdump_log(TDS_DBG_FUNC, "SQLExecDirect(%p, %s, %d)\n",
814 : hstmt,
815 : (const char*) szSqlStr, (int) cbSqlStr);
816 : #ifdef ENABLE_ODBC_WIDE
817 14061 : return odbc_SQLExecDirect(hstmt,
818 : (ODBC_CHAR*) szSqlStr, cbSqlStr, 0);
819 : #else
820 : return odbc_SQLExecDirect(hstmt,
821 : szSqlStr, cbSqlStr);
822 : #endif
823 : }
824 :
825 : #ifdef ENABLE_ODBC_WIDE
826 : static SQLRETURN odbc_SQLPrepare(SQLHSTMT hstmt,
827 : ODBC_CHAR * szSqlStr, SQLINTEGER cbSqlStr, int wide);
828 :
829 : SQLRETURN ODBC_PUBLIC ODBC_API SQLPrepareW(
830 : SQLHSTMT hstmt,
831 : SQLWCHAR * szSqlStr, SQLINTEGER cbSqlStr)
832 : {
833 2044 : if (TDS_UNLIKELY(tds_write_dump)) {
834 0 : SQLWSTR_BUFS(1);
835 0 : tdsdump_log_impl(TDS_DBG_FUNC, "SQLPrepareW(%p, %ls, %d)\n",
836 : hstmt,
837 : SQLWSTR(szSqlStr), (int) cbSqlStr);
838 0 : SQLWSTR_FREE();
839 : }
840 2044 : return odbc_SQLPrepare(hstmt,
841 : (ODBC_CHAR*) szSqlStr, cbSqlStr, 1);
842 : }
843 : #endif
844 :
845 : SQLRETURN ODBC_PUBLIC ODBC_API SQLPrepare(
846 : SQLHSTMT hstmt,
847 : SQLCHAR * szSqlStr, SQLINTEGER cbSqlStr)
848 : {
849 2063 : tdsdump_log(TDS_DBG_FUNC, "SQLPrepare(%p, %s, %d)\n",
850 : hstmt,
851 : (const char*) szSqlStr, (int) cbSqlStr);
852 : #ifdef ENABLE_ODBC_WIDE
853 2063 : return odbc_SQLPrepare(hstmt,
854 : (ODBC_CHAR*) szSqlStr, cbSqlStr, 0);
855 : #else
856 : return odbc_SQLPrepare(hstmt,
857 : szSqlStr, cbSqlStr);
858 : #endif
859 : }
860 :
861 : #ifdef ENABLE_ODBC_WIDE
862 : static SQLRETURN odbc_SQLSetCursorName(SQLHSTMT hstmt,
863 : ODBC_CHAR * szCursor, SQLSMALLINT cbCursor, int wide);
864 :
865 : SQLRETURN ODBC_PUBLIC ODBC_API SQLSetCursorNameW(
866 : SQLHSTMT hstmt,
867 : SQLWCHAR * szCursor, SQLSMALLINT cbCursor)
868 : {
869 52 : if (TDS_UNLIKELY(tds_write_dump)) {
870 0 : SQLWSTR_BUFS(1);
871 0 : tdsdump_log_impl(TDS_DBG_FUNC, "SQLSetCursorNameW(%p, %ls, %d)\n",
872 : hstmt,
873 : SQLWSTR(szCursor), (int) cbCursor);
874 0 : SQLWSTR_FREE();
875 : }
876 52 : return odbc_SQLSetCursorName(hstmt,
877 : (ODBC_CHAR*) szCursor, cbCursor, 1);
878 : }
879 : #endif
880 :
881 : SQLRETURN ODBC_PUBLIC ODBC_API SQLSetCursorName(
882 : SQLHSTMT hstmt,
883 : SQLCHAR * szCursor, SQLSMALLINT cbCursor)
884 : {
885 52 : tdsdump_log(TDS_DBG_FUNC, "SQLSetCursorName(%p, %s, %d)\n",
886 : hstmt,
887 : (const char*) szCursor, (int) cbCursor);
888 : #ifdef ENABLE_ODBC_WIDE
889 52 : return odbc_SQLSetCursorName(hstmt,
890 : (ODBC_CHAR*) szCursor, cbCursor, 0);
891 : #else
892 : return odbc_SQLSetCursorName(hstmt,
893 : szCursor, cbCursor);
894 : #endif
895 : }
896 :
897 : #ifdef ENABLE_ODBC_WIDE
898 : static SQLRETURN odbc_SQLGetCursorName(SQLHSTMT hstmt,
899 : ODBC_CHAR * szCursor, SQLSMALLINT cbCursorMax, SQLSMALLINT FAR* pcbCursor, int wide);
900 :
901 : SQLRETURN ODBC_PUBLIC ODBC_API SQLGetCursorNameW(
902 : SQLHSTMT hstmt,
903 : SQLWCHAR * szCursor, SQLSMALLINT cbCursorMax, SQLSMALLINT FAR* pcbCursor)
904 : {
905 0 : tdsdump_log(TDS_DBG_FUNC, "SQLGetCursorNameW(%p, %p, %d, %p)\n",
906 : hstmt,
907 : szCursor, (int) cbCursorMax, pcbCursor);
908 0 : return odbc_SQLGetCursorName(hstmt,
909 : (ODBC_CHAR*) szCursor, cbCursorMax, pcbCursor, 1);
910 : }
911 : #endif
912 :
913 : SQLRETURN ODBC_PUBLIC ODBC_API SQLGetCursorName(
914 : SQLHSTMT hstmt,
915 : SQLCHAR * szCursor, SQLSMALLINT cbCursorMax, SQLSMALLINT FAR* pcbCursor)
916 : {
917 0 : tdsdump_log(TDS_DBG_FUNC, "SQLGetCursorName(%p, %p, %d, %p)\n",
918 : hstmt,
919 : szCursor, (int) cbCursorMax, pcbCursor);
920 : #ifdef ENABLE_ODBC_WIDE
921 0 : return odbc_SQLGetCursorName(hstmt,
922 : (ODBC_CHAR*) szCursor, cbCursorMax, pcbCursor, 0);
923 : #else
924 : return odbc_SQLGetCursorName(hstmt,
925 : szCursor, cbCursorMax, pcbCursor);
926 : #endif
927 : }
928 :
929 : #ifdef ENABLE_ODBC_WIDE
930 : static SQLRETURN odbc_SQLColumns(SQLHSTMT hstmt,
931 : ODBC_CHAR * szCatalogName, SQLSMALLINT cbCatalogName,
932 : ODBC_CHAR * szSchemaName, SQLSMALLINT cbSchemaName,
933 : ODBC_CHAR * szTableName, SQLSMALLINT cbTableName,
934 : ODBC_CHAR * szColumnName, SQLSMALLINT cbColumnName, int wide);
935 :
936 : SQLRETURN ODBC_PUBLIC ODBC_API SQLColumnsW(
937 : SQLHSTMT hstmt,
938 : SQLWCHAR * szCatalogName, SQLSMALLINT cbCatalogName,
939 : SQLWCHAR * szSchemaName, SQLSMALLINT cbSchemaName,
940 : SQLWCHAR * szTableName, SQLSMALLINT cbTableName,
941 : SQLWCHAR * szColumnName, SQLSMALLINT cbColumnName)
942 : {
943 20 : if (TDS_UNLIKELY(tds_write_dump)) {
944 0 : SQLWSTR_BUFS(4);
945 0 : tdsdump_log_impl(TDS_DBG_FUNC, "SQLColumnsW(%p, %ls, %d, %ls, %d, %ls, %d, %ls, %d)\n",
946 : hstmt,
947 : SQLWSTR(szCatalogName), (int) cbCatalogName,
948 : SQLWSTR(szSchemaName), (int) cbSchemaName,
949 : SQLWSTR(szTableName), (int) cbTableName,
950 : SQLWSTR(szColumnName), (int) cbColumnName);
951 0 : SQLWSTR_FREE();
952 : }
953 20 : return odbc_SQLColumns(hstmt,
954 : (ODBC_CHAR*) szCatalogName, cbCatalogName,
955 : (ODBC_CHAR*) szSchemaName, cbSchemaName,
956 : (ODBC_CHAR*) szTableName, cbTableName,
957 : (ODBC_CHAR*) szColumnName, cbColumnName, 1);
958 : }
959 : #endif
960 :
961 : SQLRETURN ODBC_PUBLIC ODBC_API SQLColumns(
962 : SQLHSTMT hstmt,
963 : SQLCHAR * szCatalogName, SQLSMALLINT cbCatalogName,
964 : SQLCHAR * szSchemaName, SQLSMALLINT cbSchemaName,
965 : SQLCHAR * szTableName, SQLSMALLINT cbTableName,
966 : SQLCHAR * szColumnName, SQLSMALLINT cbColumnName)
967 : {
968 20 : tdsdump_log(TDS_DBG_FUNC, "SQLColumns(%p, %s, %d, %s, %d, %s, %d, %s, %d)\n",
969 : hstmt,
970 : (const char*) szCatalogName, (int) cbCatalogName,
971 : (const char*) szSchemaName, (int) cbSchemaName,
972 : (const char*) szTableName, (int) cbTableName,
973 : (const char*) szColumnName, (int) cbColumnName);
974 : #ifdef ENABLE_ODBC_WIDE
975 20 : return odbc_SQLColumns(hstmt,
976 : (ODBC_CHAR*) szCatalogName, cbCatalogName,
977 : (ODBC_CHAR*) szSchemaName, cbSchemaName,
978 : (ODBC_CHAR*) szTableName, cbTableName,
979 : (ODBC_CHAR*) szColumnName, cbColumnName, 0);
980 : #else
981 : return odbc_SQLColumns(hstmt,
982 : szCatalogName, cbCatalogName,
983 : szSchemaName, cbSchemaName,
984 : szTableName, cbTableName,
985 : szColumnName, cbColumnName);
986 : #endif
987 : }
988 :
989 : #ifdef ENABLE_ODBC_WIDE
990 : static SQLRETURN odbc_SQLGetConnectAttr(SQLHDBC hdbc,
991 : SQLINTEGER Attribute,
992 : SQLPOINTER Value,
993 : SQLINTEGER BufferLength,
994 : SQLINTEGER * StringLength, int wide);
995 :
996 : SQLRETURN ODBC_PUBLIC ODBC_API SQLGetConnectAttrW(
997 : SQLHDBC hdbc,
998 : SQLINTEGER Attribute,
999 : SQLPOINTER Value,
1000 : SQLINTEGER BufferLength,
1001 : SQLINTEGER * StringLength)
1002 : {
1003 39 : tdsdump_log(TDS_DBG_FUNC, "SQLGetConnectAttrW(%p, %d, %p, %d, %p)\n",
1004 : hdbc,
1005 : (int) Attribute,
1006 : Value,
1007 : (int) BufferLength,
1008 : StringLength);
1009 39 : return odbc_SQLGetConnectAttr(hdbc,
1010 : Attribute,
1011 : Value,
1012 : BufferLength,
1013 : StringLength, 1);
1014 : }
1015 : #endif
1016 :
1017 : SQLRETURN ODBC_PUBLIC ODBC_API SQLGetConnectAttr(
1018 : SQLHDBC hdbc,
1019 : SQLINTEGER Attribute,
1020 : SQLPOINTER Value,
1021 : SQLINTEGER BufferLength,
1022 : SQLINTEGER * StringLength)
1023 : {
1024 39 : tdsdump_log(TDS_DBG_FUNC, "SQLGetConnectAttr(%p, %d, %p, %d, %p)\n",
1025 : hdbc,
1026 : (int) Attribute,
1027 : Value,
1028 : (int) BufferLength,
1029 : StringLength);
1030 : #ifdef ENABLE_ODBC_WIDE
1031 39 : return odbc_SQLGetConnectAttr(hdbc,
1032 : Attribute,
1033 : Value,
1034 : BufferLength,
1035 : StringLength, 0);
1036 : #else
1037 : return odbc_SQLGetConnectAttr(hdbc,
1038 : Attribute,
1039 : Value,
1040 : BufferLength,
1041 : StringLength);
1042 : #endif
1043 : }
1044 :
1045 : #ifdef ENABLE_ODBC_WIDE
1046 : static SQLRETURN odbc_SQLSetConnectAttr(SQLHDBC hdbc,
1047 : SQLINTEGER Attribute,
1048 : SQLPOINTER ValuePtr,
1049 : SQLINTEGER StringLength, int wide);
1050 :
1051 : SQLRETURN ODBC_PUBLIC ODBC_API SQLSetConnectAttrW(
1052 : SQLHDBC hdbc,
1053 : SQLINTEGER Attribute,
1054 : SQLPOINTER ValuePtr,
1055 : SQLINTEGER StringLength)
1056 : {
1057 667 : tdsdump_log(TDS_DBG_FUNC, "SQLSetConnectAttrW(%p, %d, %p, %d)\n",
1058 : hdbc,
1059 : (int) Attribute,
1060 : ValuePtr,
1061 : (int) StringLength);
1062 667 : return odbc_SQLSetConnectAttr(hdbc,
1063 : Attribute,
1064 : ValuePtr,
1065 : StringLength, 1);
1066 : }
1067 : #endif
1068 :
1069 : SQLRETURN ODBC_PUBLIC ODBC_API SQLSetConnectAttr(
1070 : SQLHDBC hdbc,
1071 : SQLINTEGER Attribute,
1072 : SQLPOINTER ValuePtr,
1073 : SQLINTEGER StringLength)
1074 : {
1075 1207 : tdsdump_log(TDS_DBG_FUNC, "SQLSetConnectAttr(%p, %d, %p, %d)\n",
1076 : hdbc,
1077 : (int) Attribute,
1078 : ValuePtr,
1079 : (int) StringLength);
1080 : #ifdef ENABLE_ODBC_WIDE
1081 1207 : return odbc_SQLSetConnectAttr(hdbc,
1082 : Attribute,
1083 : ValuePtr,
1084 : StringLength, 0);
1085 : #else
1086 : return odbc_SQLSetConnectAttr(hdbc,
1087 : Attribute,
1088 : ValuePtr,
1089 : StringLength);
1090 : #endif
1091 : }
1092 :
1093 : #ifdef ENABLE_ODBC_WIDE
1094 : static SQLRETURN odbc_SQLSpecialColumns(SQLHSTMT hstmt,
1095 : SQLUSMALLINT fColType,
1096 : ODBC_CHAR * szCatalogName, SQLSMALLINT cbCatalogName,
1097 : ODBC_CHAR * szSchemaName, SQLSMALLINT cbSchemaName,
1098 : ODBC_CHAR * szTableName, SQLSMALLINT cbTableName,
1099 : SQLUSMALLINT fScope,
1100 : SQLUSMALLINT fNullable, int wide);
1101 :
1102 : SQLRETURN ODBC_PUBLIC ODBC_API SQLSpecialColumnsW(
1103 : SQLHSTMT hstmt,
1104 : SQLUSMALLINT fColType,
1105 : SQLWCHAR * szCatalogName, SQLSMALLINT cbCatalogName,
1106 : SQLWCHAR * szSchemaName, SQLSMALLINT cbSchemaName,
1107 : SQLWCHAR * szTableName, SQLSMALLINT cbTableName,
1108 : SQLUSMALLINT fScope,
1109 : SQLUSMALLINT fNullable)
1110 : {
1111 0 : if (TDS_UNLIKELY(tds_write_dump)) {
1112 0 : SQLWSTR_BUFS(3);
1113 0 : tdsdump_log_impl(TDS_DBG_FUNC, "SQLSpecialColumnsW(%p, %u, %ls, %d, %ls, %d, %ls, %d, %u, %u)\n",
1114 : hstmt,
1115 : (unsigned int) fColType,
1116 : SQLWSTR(szCatalogName), (int) cbCatalogName,
1117 : SQLWSTR(szSchemaName), (int) cbSchemaName,
1118 : SQLWSTR(szTableName), (int) cbTableName,
1119 : (unsigned int) fScope,
1120 : (unsigned int) fNullable);
1121 0 : SQLWSTR_FREE();
1122 : }
1123 0 : return odbc_SQLSpecialColumns(hstmt,
1124 : fColType,
1125 : (ODBC_CHAR*) szCatalogName, cbCatalogName,
1126 : (ODBC_CHAR*) szSchemaName, cbSchemaName,
1127 : (ODBC_CHAR*) szTableName, cbTableName,
1128 : fScope,
1129 : fNullable, 1);
1130 : }
1131 : #endif
1132 :
1133 : SQLRETURN ODBC_PUBLIC ODBC_API SQLSpecialColumns(
1134 : SQLHSTMT hstmt,
1135 : SQLUSMALLINT fColType,
1136 : SQLCHAR * szCatalogName, SQLSMALLINT cbCatalogName,
1137 : SQLCHAR * szSchemaName, SQLSMALLINT cbSchemaName,
1138 : SQLCHAR * szTableName, SQLSMALLINT cbTableName,
1139 : SQLUSMALLINT fScope,
1140 : SQLUSMALLINT fNullable)
1141 : {
1142 0 : tdsdump_log(TDS_DBG_FUNC, "SQLSpecialColumns(%p, %u, %s, %d, %s, %d, %s, %d, %u, %u)\n",
1143 : hstmt,
1144 : (unsigned int) fColType,
1145 : (const char*) szCatalogName, (int) cbCatalogName,
1146 : (const char*) szSchemaName, (int) cbSchemaName,
1147 : (const char*) szTableName, (int) cbTableName,
1148 : (unsigned int) fScope,
1149 : (unsigned int) fNullable);
1150 : #ifdef ENABLE_ODBC_WIDE
1151 0 : return odbc_SQLSpecialColumns(hstmt,
1152 : fColType,
1153 : (ODBC_CHAR*) szCatalogName, cbCatalogName,
1154 : (ODBC_CHAR*) szSchemaName, cbSchemaName,
1155 : (ODBC_CHAR*) szTableName, cbTableName,
1156 : fScope,
1157 : fNullable, 0);
1158 : #else
1159 : return odbc_SQLSpecialColumns(hstmt,
1160 : fColType,
1161 : szCatalogName, cbCatalogName,
1162 : szSchemaName, cbSchemaName,
1163 : szTableName, cbTableName,
1164 : fScope,
1165 : fNullable);
1166 : #endif
1167 : }
1168 :
1169 : #ifdef ENABLE_ODBC_WIDE
1170 : static SQLRETURN odbc_SQLStatistics(SQLHSTMT hstmt,
1171 : ODBC_CHAR * szCatalogName, SQLSMALLINT cbCatalogName,
1172 : ODBC_CHAR * szSchemaName, SQLSMALLINT cbSchemaName,
1173 : ODBC_CHAR * szTableName, SQLSMALLINT cbTableName,
1174 : SQLUSMALLINT fUnique,
1175 : SQLUSMALLINT fAccuracy, int wide);
1176 :
1177 : SQLRETURN ODBC_PUBLIC ODBC_API SQLStatisticsW(
1178 : SQLHSTMT hstmt,
1179 : SQLWCHAR * szCatalogName, SQLSMALLINT cbCatalogName,
1180 : SQLWCHAR * szSchemaName, SQLSMALLINT cbSchemaName,
1181 : SQLWCHAR * szTableName, SQLSMALLINT cbTableName,
1182 : SQLUSMALLINT fUnique,
1183 : SQLUSMALLINT fAccuracy)
1184 : {
1185 0 : if (TDS_UNLIKELY(tds_write_dump)) {
1186 0 : SQLWSTR_BUFS(3);
1187 0 : tdsdump_log_impl(TDS_DBG_FUNC, "SQLStatisticsW(%p, %ls, %d, %ls, %d, %ls, %d, %u, %u)\n",
1188 : hstmt,
1189 : SQLWSTR(szCatalogName), (int) cbCatalogName,
1190 : SQLWSTR(szSchemaName), (int) cbSchemaName,
1191 : SQLWSTR(szTableName), (int) cbTableName,
1192 : (unsigned int) fUnique,
1193 : (unsigned int) fAccuracy);
1194 0 : SQLWSTR_FREE();
1195 : }
1196 0 : return odbc_SQLStatistics(hstmt,
1197 : (ODBC_CHAR*) szCatalogName, cbCatalogName,
1198 : (ODBC_CHAR*) szSchemaName, cbSchemaName,
1199 : (ODBC_CHAR*) szTableName, cbTableName,
1200 : fUnique,
1201 : fAccuracy, 1);
1202 : }
1203 : #endif
1204 :
1205 : SQLRETURN ODBC_PUBLIC ODBC_API SQLStatistics(
1206 : SQLHSTMT hstmt,
1207 : SQLCHAR * szCatalogName, SQLSMALLINT cbCatalogName,
1208 : SQLCHAR * szSchemaName, SQLSMALLINT cbSchemaName,
1209 : SQLCHAR * szTableName, SQLSMALLINT cbTableName,
1210 : SQLUSMALLINT fUnique,
1211 : SQLUSMALLINT fAccuracy)
1212 : {
1213 0 : tdsdump_log(TDS_DBG_FUNC, "SQLStatistics(%p, %s, %d, %s, %d, %s, %d, %u, %u)\n",
1214 : hstmt,
1215 : (const char*) szCatalogName, (int) cbCatalogName,
1216 : (const char*) szSchemaName, (int) cbSchemaName,
1217 : (const char*) szTableName, (int) cbTableName,
1218 : (unsigned int) fUnique,
1219 : (unsigned int) fAccuracy);
1220 : #ifdef ENABLE_ODBC_WIDE
1221 0 : return odbc_SQLStatistics(hstmt,
1222 : (ODBC_CHAR*) szCatalogName, cbCatalogName,
1223 : (ODBC_CHAR*) szSchemaName, cbSchemaName,
1224 : (ODBC_CHAR*) szTableName, cbTableName,
1225 : fUnique,
1226 : fAccuracy, 0);
1227 : #else
1228 : return odbc_SQLStatistics(hstmt,
1229 : szCatalogName, cbCatalogName,
1230 : szSchemaName, cbSchemaName,
1231 : szTableName, cbTableName,
1232 : fUnique,
1233 : fAccuracy);
1234 : #endif
1235 : }
1236 :
1237 : #ifdef ENABLE_ODBC_WIDE
1238 : static SQLRETURN odbc_SQLTables(SQLHSTMT hstmt,
1239 : ODBC_CHAR * szCatalogName, SQLSMALLINT cbCatalogName,
1240 : ODBC_CHAR * szSchemaName, SQLSMALLINT cbSchemaName,
1241 : ODBC_CHAR * szTableName, SQLSMALLINT cbTableName,
1242 : ODBC_CHAR * szTableType, SQLSMALLINT cbTableType, int wide);
1243 :
1244 : SQLRETURN ODBC_PUBLIC ODBC_API SQLTablesW(
1245 : SQLHSTMT hstmt,
1246 : SQLWCHAR * szCatalogName, SQLSMALLINT cbCatalogName,
1247 : SQLWCHAR * szSchemaName, SQLSMALLINT cbSchemaName,
1248 : SQLWCHAR * szTableName, SQLSMALLINT cbTableName,
1249 : SQLWCHAR * szTableType, SQLSMALLINT cbTableType)
1250 : {
1251 64 : if (TDS_UNLIKELY(tds_write_dump)) {
1252 0 : SQLWSTR_BUFS(4);
1253 0 : tdsdump_log_impl(TDS_DBG_FUNC, "SQLTablesW(%p, %ls, %d, %ls, %d, %ls, %d, %ls, %d)\n",
1254 : hstmt,
1255 : SQLWSTR(szCatalogName), (int) cbCatalogName,
1256 : SQLWSTR(szSchemaName), (int) cbSchemaName,
1257 : SQLWSTR(szTableName), (int) cbTableName,
1258 : SQLWSTR(szTableType), (int) cbTableType);
1259 0 : SQLWSTR_FREE();
1260 : }
1261 64 : return odbc_SQLTables(hstmt,
1262 : (ODBC_CHAR*) szCatalogName, cbCatalogName,
1263 : (ODBC_CHAR*) szSchemaName, cbSchemaName,
1264 : (ODBC_CHAR*) szTableName, cbTableName,
1265 : (ODBC_CHAR*) szTableType, cbTableType, 1);
1266 : }
1267 : #endif
1268 :
1269 : SQLRETURN ODBC_PUBLIC ODBC_API SQLTables(
1270 : SQLHSTMT hstmt,
1271 : SQLCHAR * szCatalogName, SQLSMALLINT cbCatalogName,
1272 : SQLCHAR * szSchemaName, SQLSMALLINT cbSchemaName,
1273 : SQLCHAR * szTableName, SQLSMALLINT cbTableName,
1274 : SQLCHAR * szTableType, SQLSMALLINT cbTableType)
1275 : {
1276 64 : tdsdump_log(TDS_DBG_FUNC, "SQLTables(%p, %s, %d, %s, %d, %s, %d, %s, %d)\n",
1277 : hstmt,
1278 : (const char*) szCatalogName, (int) cbCatalogName,
1279 : (const char*) szSchemaName, (int) cbSchemaName,
1280 : (const char*) szTableName, (int) cbTableName,
1281 : (const char*) szTableType, (int) cbTableType);
1282 : #ifdef ENABLE_ODBC_WIDE
1283 64 : return odbc_SQLTables(hstmt,
1284 : (ODBC_CHAR*) szCatalogName, cbCatalogName,
1285 : (ODBC_CHAR*) szSchemaName, cbSchemaName,
1286 : (ODBC_CHAR*) szTableName, cbTableName,
1287 : (ODBC_CHAR*) szTableType, cbTableType, 0);
1288 : #else
1289 : return odbc_SQLTables(hstmt,
1290 : szCatalogName, cbCatalogName,
1291 : szSchemaName, cbSchemaName,
1292 : szTableName, cbTableName,
1293 : szTableType, cbTableType);
1294 : #endif
1295 : }
1296 :
|