FreeTDS API
Loading...
Searching...
No Matches
catalog_export.h
1#ifdef ENABLE_ODBC_WIDE
2static SQLRETURN odbc_SQLColumnPrivileges(SQLHSTMT hstmt,
3 ODBC_CHAR * szCatalogName, SQLSMALLINT cbCatalogName,
4 ODBC_CHAR * szSchemaName, SQLSMALLINT cbSchemaName,
5 ODBC_CHAR * szTableName, SQLSMALLINT cbTableName,
6 ODBC_CHAR * szColumnName, SQLSMALLINT cbColumnName, int wide);
7
8SQLRETURN ODBC_PUBLIC ODBC_API SQLColumnPrivilegesW(
9 SQLHSTMT hstmt,
10 SQLWCHAR * szCatalogName, SQLSMALLINT cbCatalogName,
11 SQLWCHAR * szSchemaName, SQLSMALLINT cbSchemaName,
12 SQLWCHAR * szTableName, SQLSMALLINT cbTableName,
13 SQLWCHAR * szColumnName, SQLSMALLINT cbColumnName)
14{
15 if (TDS_UNLIKELY(tds_write_dump)) {
16 SQLWSTR_BUFS(4);
17 tdsdump_log_impl(TDS_DBG_FUNC, "SQLColumnPrivilegesW(%p, %ls, %d, %ls, %d, %ls, %d, %ls, %d)\n",
18 hstmt,
19 SQLWSTR(szCatalogName), (int) cbCatalogName,
20 SQLWSTR(szSchemaName), (int) cbSchemaName,
21 SQLWSTR(szTableName), (int) cbTableName,
22 SQLWSTR(szColumnName), (int) cbColumnName);
23 SQLWSTR_FREE();
24 }
25 return odbc_SQLColumnPrivileges(hstmt,
26 (ODBC_CHAR*) szCatalogName, cbCatalogName,
27 (ODBC_CHAR*) szSchemaName, cbSchemaName,
28 (ODBC_CHAR*) szTableName, cbTableName,
29 (ODBC_CHAR*) szColumnName, cbColumnName, 1);
30}
31#endif
32
33SQLRETURN ODBC_PUBLIC ODBC_API SQLColumnPrivileges(
34 SQLHSTMT hstmt,
35 SQLCHAR * szCatalogName, SQLSMALLINT cbCatalogName,
36 SQLCHAR * szSchemaName, SQLSMALLINT cbSchemaName,
37 SQLCHAR * szTableName, SQLSMALLINT cbTableName,
38 SQLCHAR * szColumnName, SQLSMALLINT cbColumnName)
39{
40 tdsdump_log(TDS_DBG_FUNC, "SQLColumnPrivileges(%p, %s, %d, %s, %d, %s, %d, %s, %d)\n",
41 hstmt,
42 (const char*) szCatalogName, (int) cbCatalogName,
43 (const char*) szSchemaName, (int) cbSchemaName,
44 (const char*) szTableName, (int) cbTableName,
45 (const char*) szColumnName, (int) cbColumnName);
46#ifdef ENABLE_ODBC_WIDE
47 return odbc_SQLColumnPrivileges(hstmt,
48 (ODBC_CHAR*) szCatalogName, cbCatalogName,
49 (ODBC_CHAR*) szSchemaName, cbSchemaName,
50 (ODBC_CHAR*) szTableName, cbTableName,
51 (ODBC_CHAR*) szColumnName, cbColumnName, 0);
52#else
53 return odbc_SQLColumnPrivileges(hstmt,
54 szCatalogName, cbCatalogName,
55 szSchemaName, cbSchemaName,
56 szTableName, cbTableName,
57 szColumnName, cbColumnName);
58#endif
59}
60
61#ifdef ENABLE_ODBC_WIDE
62static SQLRETURN odbc_SQLForeignKeys(SQLHSTMT hstmt,
63 ODBC_CHAR * szPkCatalogName, SQLSMALLINT cbPkCatalogName,
64 ODBC_CHAR * szPkSchemaName, SQLSMALLINT cbPkSchemaName,
65 ODBC_CHAR * szPkTableName, SQLSMALLINT cbPkTableName,
66 ODBC_CHAR * szFkCatalogName, SQLSMALLINT cbFkCatalogName,
67 ODBC_CHAR * szFkSchemaName, SQLSMALLINT cbFkSchemaName,
68 ODBC_CHAR * szFkTableName, SQLSMALLINT cbFkTableName, int wide);
69
70SQLRETURN ODBC_PUBLIC ODBC_API SQLForeignKeysW(
71 SQLHSTMT hstmt,
72 SQLWCHAR * szPkCatalogName, SQLSMALLINT cbPkCatalogName,
73 SQLWCHAR * szPkSchemaName, SQLSMALLINT cbPkSchemaName,
74 SQLWCHAR * szPkTableName, SQLSMALLINT cbPkTableName,
75 SQLWCHAR * szFkCatalogName, SQLSMALLINT cbFkCatalogName,
76 SQLWCHAR * szFkSchemaName, SQLSMALLINT cbFkSchemaName,
77 SQLWCHAR * szFkTableName, SQLSMALLINT cbFkTableName)
78{
79 if (TDS_UNLIKELY(tds_write_dump)) {
80 SQLWSTR_BUFS(6);
81 tdsdump_log_impl(TDS_DBG_FUNC, "SQLForeignKeysW(%p, %ls, %d, %ls, %d, %ls, %d, %ls, %d, %ls, %d, %ls, %d)\n",
82 hstmt,
83 SQLWSTR(szPkCatalogName), (int) cbPkCatalogName,
84 SQLWSTR(szPkSchemaName), (int) cbPkSchemaName,
85 SQLWSTR(szPkTableName), (int) cbPkTableName,
86 SQLWSTR(szFkCatalogName), (int) cbFkCatalogName,
87 SQLWSTR(szFkSchemaName), (int) cbFkSchemaName,
88 SQLWSTR(szFkTableName), (int) cbFkTableName);
89 SQLWSTR_FREE();
90 }
91 return odbc_SQLForeignKeys(hstmt,
92 (ODBC_CHAR*) szPkCatalogName, cbPkCatalogName,
93 (ODBC_CHAR*) szPkSchemaName, cbPkSchemaName,
94 (ODBC_CHAR*) szPkTableName, cbPkTableName,
95 (ODBC_CHAR*) szFkCatalogName, cbFkCatalogName,
96 (ODBC_CHAR*) szFkSchemaName, cbFkSchemaName,
97 (ODBC_CHAR*) szFkTableName, cbFkTableName, 1);
98}
99#endif
100
101SQLRETURN ODBC_PUBLIC ODBC_API SQLForeignKeys(
102 SQLHSTMT hstmt,
103 SQLCHAR * szPkCatalogName, SQLSMALLINT cbPkCatalogName,
104 SQLCHAR * szPkSchemaName, SQLSMALLINT cbPkSchemaName,
105 SQLCHAR * szPkTableName, SQLSMALLINT cbPkTableName,
106 SQLCHAR * szFkCatalogName, SQLSMALLINT cbFkCatalogName,
107 SQLCHAR * szFkSchemaName, SQLSMALLINT cbFkSchemaName,
108 SQLCHAR * szFkTableName, SQLSMALLINT cbFkTableName)
109{
110 tdsdump_log(TDS_DBG_FUNC, "SQLForeignKeys(%p, %s, %d, %s, %d, %s, %d, %s, %d, %s, %d, %s, %d)\n",
111 hstmt,
112 (const char*) szPkCatalogName, (int) cbPkCatalogName,
113 (const char*) szPkSchemaName, (int) cbPkSchemaName,
114 (const char*) szPkTableName, (int) cbPkTableName,
115 (const char*) szFkCatalogName, (int) cbFkCatalogName,
116 (const char*) szFkSchemaName, (int) cbFkSchemaName,
117 (const char*) szFkTableName, (int) cbFkTableName);
118#ifdef ENABLE_ODBC_WIDE
119 return odbc_SQLForeignKeys(hstmt,
120 (ODBC_CHAR*) szPkCatalogName, cbPkCatalogName,
121 (ODBC_CHAR*) szPkSchemaName, cbPkSchemaName,
122 (ODBC_CHAR*) szPkTableName, cbPkTableName,
123 (ODBC_CHAR*) szFkCatalogName, cbFkCatalogName,
124 (ODBC_CHAR*) szFkSchemaName, cbFkSchemaName,
125 (ODBC_CHAR*) szFkTableName, cbFkTableName, 0);
126#else
127 return odbc_SQLForeignKeys(hstmt,
128 szPkCatalogName, cbPkCatalogName,
129 szPkSchemaName, cbPkSchemaName,
130 szPkTableName, cbPkTableName,
131 szFkCatalogName, cbFkCatalogName,
132 szFkSchemaName, cbFkSchemaName,
133 szFkTableName, cbFkTableName);
134#endif
135}
136
137#ifdef ENABLE_ODBC_WIDE
138static SQLRETURN odbc_SQLPrimaryKeys(SQLHSTMT hstmt,
139 ODBC_CHAR * szCatalogName, SQLSMALLINT cbCatalogName,
140 ODBC_CHAR * szSchemaName, SQLSMALLINT cbSchemaName,
141 ODBC_CHAR * szTableName, SQLSMALLINT cbTableName, int wide);
142
143SQLRETURN ODBC_PUBLIC ODBC_API SQLPrimaryKeysW(
144 SQLHSTMT hstmt,
145 SQLWCHAR * szCatalogName, SQLSMALLINT cbCatalogName,
146 SQLWCHAR * szSchemaName, SQLSMALLINT cbSchemaName,
147 SQLWCHAR * szTableName, SQLSMALLINT cbTableName)
148{
149 if (TDS_UNLIKELY(tds_write_dump)) {
150 SQLWSTR_BUFS(3);
151 tdsdump_log_impl(TDS_DBG_FUNC, "SQLPrimaryKeysW(%p, %ls, %d, %ls, %d, %ls, %d)\n",
152 hstmt,
153 SQLWSTR(szCatalogName), (int) cbCatalogName,
154 SQLWSTR(szSchemaName), (int) cbSchemaName,
155 SQLWSTR(szTableName), (int) cbTableName);
156 SQLWSTR_FREE();
157 }
158 return odbc_SQLPrimaryKeys(hstmt,
159 (ODBC_CHAR*) szCatalogName, cbCatalogName,
160 (ODBC_CHAR*) szSchemaName, cbSchemaName,
161 (ODBC_CHAR*) szTableName, cbTableName, 1);
162}
163#endif
164
165SQLRETURN ODBC_PUBLIC ODBC_API SQLPrimaryKeys(
166 SQLHSTMT hstmt,
167 SQLCHAR * szCatalogName, SQLSMALLINT cbCatalogName,
168 SQLCHAR * szSchemaName, SQLSMALLINT cbSchemaName,
169 SQLCHAR * szTableName, SQLSMALLINT cbTableName)
170{
171 tdsdump_log(TDS_DBG_FUNC, "SQLPrimaryKeys(%p, %s, %d, %s, %d, %s, %d)\n",
172 hstmt,
173 (const char*) szCatalogName, (int) cbCatalogName,
174 (const char*) szSchemaName, (int) cbSchemaName,
175 (const char*) szTableName, (int) cbTableName);
176#ifdef ENABLE_ODBC_WIDE
177 return odbc_SQLPrimaryKeys(hstmt,
178 (ODBC_CHAR*) szCatalogName, cbCatalogName,
179 (ODBC_CHAR*) szSchemaName, cbSchemaName,
180 (ODBC_CHAR*) szTableName, cbTableName, 0);
181#else
182 return odbc_SQLPrimaryKeys(hstmt,
183 szCatalogName, cbCatalogName,
184 szSchemaName, cbSchemaName,
185 szTableName, cbTableName);
186#endif
187}
188
189#ifdef ENABLE_ODBC_WIDE
190static SQLRETURN odbc_SQLProcedureColumns(SQLHSTMT hstmt,
191 ODBC_CHAR * szCatalogName, SQLSMALLINT cbCatalogName,
192 ODBC_CHAR * szSchemaName, SQLSMALLINT cbSchemaName,
193 ODBC_CHAR * szProcName, SQLSMALLINT cbProcName,
194 ODBC_CHAR * szColumnName, SQLSMALLINT cbColumnName, int wide);
195
196SQLRETURN ODBC_PUBLIC ODBC_API SQLProcedureColumnsW(
197 SQLHSTMT hstmt,
198 SQLWCHAR * szCatalogName, SQLSMALLINT cbCatalogName,
199 SQLWCHAR * szSchemaName, SQLSMALLINT cbSchemaName,
200 SQLWCHAR * szProcName, SQLSMALLINT cbProcName,
201 SQLWCHAR * szColumnName, SQLSMALLINT cbColumnName)
202{
203 if (TDS_UNLIKELY(tds_write_dump)) {
204 SQLWSTR_BUFS(4);
205 tdsdump_log_impl(TDS_DBG_FUNC, "SQLProcedureColumnsW(%p, %ls, %d, %ls, %d, %ls, %d, %ls, %d)\n",
206 hstmt,
207 SQLWSTR(szCatalogName), (int) cbCatalogName,
208 SQLWSTR(szSchemaName), (int) cbSchemaName,
209 SQLWSTR(szProcName), (int) cbProcName,
210 SQLWSTR(szColumnName), (int) cbColumnName);
211 SQLWSTR_FREE();
212 }
213 return odbc_SQLProcedureColumns(hstmt,
214 (ODBC_CHAR*) szCatalogName, cbCatalogName,
215 (ODBC_CHAR*) szSchemaName, cbSchemaName,
216 (ODBC_CHAR*) szProcName, cbProcName,
217 (ODBC_CHAR*) szColumnName, cbColumnName, 1);
218}
219#endif
220
221SQLRETURN ODBC_PUBLIC ODBC_API SQLProcedureColumns(
222 SQLHSTMT hstmt,
223 SQLCHAR * szCatalogName, SQLSMALLINT cbCatalogName,
224 SQLCHAR * szSchemaName, SQLSMALLINT cbSchemaName,
225 SQLCHAR * szProcName, SQLSMALLINT cbProcName,
226 SQLCHAR * szColumnName, SQLSMALLINT cbColumnName)
227{
228 tdsdump_log(TDS_DBG_FUNC, "SQLProcedureColumns(%p, %s, %d, %s, %d, %s, %d, %s, %d)\n",
229 hstmt,
230 (const char*) szCatalogName, (int) cbCatalogName,
231 (const char*) szSchemaName, (int) cbSchemaName,
232 (const char*) szProcName, (int) cbProcName,
233 (const char*) szColumnName, (int) cbColumnName);
234#ifdef ENABLE_ODBC_WIDE
235 return odbc_SQLProcedureColumns(hstmt,
236 (ODBC_CHAR*) szCatalogName, cbCatalogName,
237 (ODBC_CHAR*) szSchemaName, cbSchemaName,
238 (ODBC_CHAR*) szProcName, cbProcName,
239 (ODBC_CHAR*) szColumnName, cbColumnName, 0);
240#else
241 return odbc_SQLProcedureColumns(hstmt,
242 szCatalogName, cbCatalogName,
243 szSchemaName, cbSchemaName,
244 szProcName, cbProcName,
245 szColumnName, cbColumnName);
246#endif
247}
248
249#ifdef ENABLE_ODBC_WIDE
250static SQLRETURN odbc_SQLProcedures(SQLHSTMT hstmt,
251 ODBC_CHAR * szCatalogName, SQLSMALLINT cbCatalogName,
252 ODBC_CHAR * szSchemaName, SQLSMALLINT cbSchemaName,
253 ODBC_CHAR * szProcName, SQLSMALLINT cbProcName, int wide);
254
255SQLRETURN ODBC_PUBLIC ODBC_API SQLProceduresW(
256 SQLHSTMT hstmt,
257 SQLWCHAR * szCatalogName, SQLSMALLINT cbCatalogName,
258 SQLWCHAR * szSchemaName, SQLSMALLINT cbSchemaName,
259 SQLWCHAR * szProcName, SQLSMALLINT cbProcName)
260{
261 if (TDS_UNLIKELY(tds_write_dump)) {
262 SQLWSTR_BUFS(3);
263 tdsdump_log_impl(TDS_DBG_FUNC, "SQLProceduresW(%p, %ls, %d, %ls, %d, %ls, %d)\n",
264 hstmt,
265 SQLWSTR(szCatalogName), (int) cbCatalogName,
266 SQLWSTR(szSchemaName), (int) cbSchemaName,
267 SQLWSTR(szProcName), (int) cbProcName);
268 SQLWSTR_FREE();
269 }
270 return odbc_SQLProcedures(hstmt,
271 (ODBC_CHAR*) szCatalogName, cbCatalogName,
272 (ODBC_CHAR*) szSchemaName, cbSchemaName,
273 (ODBC_CHAR*) szProcName, cbProcName, 1);
274}
275#endif
276
277SQLRETURN ODBC_PUBLIC ODBC_API SQLProcedures(
278 SQLHSTMT hstmt,
279 SQLCHAR * szCatalogName, SQLSMALLINT cbCatalogName,
280 SQLCHAR * szSchemaName, SQLSMALLINT cbSchemaName,
281 SQLCHAR * szProcName, SQLSMALLINT cbProcName)
282{
283 tdsdump_log(TDS_DBG_FUNC, "SQLProcedures(%p, %s, %d, %s, %d, %s, %d)\n",
284 hstmt,
285 (const char*) szCatalogName, (int) cbCatalogName,
286 (const char*) szSchemaName, (int) cbSchemaName,
287 (const char*) szProcName, (int) cbProcName);
288#ifdef ENABLE_ODBC_WIDE
289 return odbc_SQLProcedures(hstmt,
290 (ODBC_CHAR*) szCatalogName, cbCatalogName,
291 (ODBC_CHAR*) szSchemaName, cbSchemaName,
292 (ODBC_CHAR*) szProcName, cbProcName, 0);
293#else
294 return odbc_SQLProcedures(hstmt,
295 szCatalogName, cbCatalogName,
296 szSchemaName, cbSchemaName,
297 szProcName, cbProcName);
298#endif
299}
300
301#ifdef ENABLE_ODBC_WIDE
302static SQLRETURN odbc_SQLTablePrivileges(SQLHSTMT hstmt,
303 ODBC_CHAR * szCatalogName, SQLSMALLINT cbCatalogName,
304 ODBC_CHAR * szSchemaName, SQLSMALLINT cbSchemaName,
305 ODBC_CHAR * szTableName, SQLSMALLINT cbTableName, int wide);
306
307SQLRETURN ODBC_PUBLIC ODBC_API SQLTablePrivilegesW(
308 SQLHSTMT hstmt,
309 SQLWCHAR * szCatalogName, SQLSMALLINT cbCatalogName,
310 SQLWCHAR * szSchemaName, SQLSMALLINT cbSchemaName,
311 SQLWCHAR * szTableName, SQLSMALLINT cbTableName)
312{
313 if (TDS_UNLIKELY(tds_write_dump)) {
314 SQLWSTR_BUFS(3);
315 tdsdump_log_impl(TDS_DBG_FUNC, "SQLTablePrivilegesW(%p, %ls, %d, %ls, %d, %ls, %d)\n",
316 hstmt,
317 SQLWSTR(szCatalogName), (int) cbCatalogName,
318 SQLWSTR(szSchemaName), (int) cbSchemaName,
319 SQLWSTR(szTableName), (int) cbTableName);
320 SQLWSTR_FREE();
321 }
322 return odbc_SQLTablePrivileges(hstmt,
323 (ODBC_CHAR*) szCatalogName, cbCatalogName,
324 (ODBC_CHAR*) szSchemaName, cbSchemaName,
325 (ODBC_CHAR*) szTableName, cbTableName, 1);
326}
327#endif
328
329SQLRETURN ODBC_PUBLIC ODBC_API SQLTablePrivileges(
330 SQLHSTMT hstmt,
331 SQLCHAR * szCatalogName, SQLSMALLINT cbCatalogName,
332 SQLCHAR * szSchemaName, SQLSMALLINT cbSchemaName,
333 SQLCHAR * szTableName, SQLSMALLINT cbTableName)
334{
335 tdsdump_log(TDS_DBG_FUNC, "SQLTablePrivileges(%p, %s, %d, %s, %d, %s, %d)\n",
336 hstmt,
337 (const char*) szCatalogName, (int) cbCatalogName,
338 (const char*) szSchemaName, (int) cbSchemaName,
339 (const char*) szTableName, (int) cbTableName);
340#ifdef ENABLE_ODBC_WIDE
341 return odbc_SQLTablePrivileges(hstmt,
342 (ODBC_CHAR*) szCatalogName, cbCatalogName,
343 (ODBC_CHAR*) szSchemaName, cbSchemaName,
344 (ODBC_CHAR*) szTableName, cbTableName, 0);
345#else
346 return odbc_SQLTablePrivileges(hstmt,
347 szCatalogName, cbCatalogName,
348 szSchemaName, cbSchemaName,
349 szTableName, cbTableName);
350#endif
351}
352
353#ifdef ENABLE_ODBC_WIDE
354static SQLRETURN odbc_SQLColumns(SQLHSTMT hstmt,
355 ODBC_CHAR * szCatalogName, SQLSMALLINT cbCatalogName,
356 ODBC_CHAR * szSchemaName, SQLSMALLINT cbSchemaName,
357 ODBC_CHAR * szTableName, SQLSMALLINT cbTableName,
358 ODBC_CHAR * szColumnName, SQLSMALLINT cbColumnName, int wide);
359
360SQLRETURN ODBC_PUBLIC ODBC_API SQLColumnsW(
361 SQLHSTMT hstmt,
362 SQLWCHAR * szCatalogName, SQLSMALLINT cbCatalogName,
363 SQLWCHAR * szSchemaName, SQLSMALLINT cbSchemaName,
364 SQLWCHAR * szTableName, SQLSMALLINT cbTableName,
365 SQLWCHAR * szColumnName, SQLSMALLINT cbColumnName)
366{
367 if (TDS_UNLIKELY(tds_write_dump)) {
368 SQLWSTR_BUFS(4);
369 tdsdump_log_impl(TDS_DBG_FUNC, "SQLColumnsW(%p, %ls, %d, %ls, %d, %ls, %d, %ls, %d)\n",
370 hstmt,
371 SQLWSTR(szCatalogName), (int) cbCatalogName,
372 SQLWSTR(szSchemaName), (int) cbSchemaName,
373 SQLWSTR(szTableName), (int) cbTableName,
374 SQLWSTR(szColumnName), (int) cbColumnName);
375 SQLWSTR_FREE();
376 }
377 return odbc_SQLColumns(hstmt,
378 (ODBC_CHAR*) szCatalogName, cbCatalogName,
379 (ODBC_CHAR*) szSchemaName, cbSchemaName,
380 (ODBC_CHAR*) szTableName, cbTableName,
381 (ODBC_CHAR*) szColumnName, cbColumnName, 1);
382}
383#endif
384
385SQLRETURN ODBC_PUBLIC ODBC_API SQLColumns(
386 SQLHSTMT hstmt,
387 SQLCHAR * szCatalogName, SQLSMALLINT cbCatalogName,
388 SQLCHAR * szSchemaName, SQLSMALLINT cbSchemaName,
389 SQLCHAR * szTableName, SQLSMALLINT cbTableName,
390 SQLCHAR * szColumnName, SQLSMALLINT cbColumnName)
391{
392 tdsdump_log(TDS_DBG_FUNC, "SQLColumns(%p, %s, %d, %s, %d, %s, %d, %s, %d)\n",
393 hstmt,
394 (const char*) szCatalogName, (int) cbCatalogName,
395 (const char*) szSchemaName, (int) cbSchemaName,
396 (const char*) szTableName, (int) cbTableName,
397 (const char*) szColumnName, (int) cbColumnName);
398#ifdef ENABLE_ODBC_WIDE
399 return odbc_SQLColumns(hstmt,
400 (ODBC_CHAR*) szCatalogName, cbCatalogName,
401 (ODBC_CHAR*) szSchemaName, cbSchemaName,
402 (ODBC_CHAR*) szTableName, cbTableName,
403 (ODBC_CHAR*) szColumnName, cbColumnName, 0);
404#else
405 return odbc_SQLColumns(hstmt,
406 szCatalogName, cbCatalogName,
407 szSchemaName, cbSchemaName,
408 szTableName, cbTableName,
409 szColumnName, cbColumnName);
410#endif
411}
412
413#ifdef ENABLE_ODBC_WIDE
414static SQLRETURN odbc_SQLSpecialColumns(SQLHSTMT hstmt,
415 SQLUSMALLINT fColType,
416 ODBC_CHAR * szCatalogName, SQLSMALLINT cbCatalogName,
417 ODBC_CHAR * szSchemaName, SQLSMALLINT cbSchemaName,
418 ODBC_CHAR * szTableName, SQLSMALLINT cbTableName,
419 SQLUSMALLINT fScope,
420 SQLUSMALLINT fNullable, int wide);
421
422SQLRETURN ODBC_PUBLIC ODBC_API SQLSpecialColumnsW(
423 SQLHSTMT hstmt,
424 SQLUSMALLINT fColType,
425 SQLWCHAR * szCatalogName, SQLSMALLINT cbCatalogName,
426 SQLWCHAR * szSchemaName, SQLSMALLINT cbSchemaName,
427 SQLWCHAR * szTableName, SQLSMALLINT cbTableName,
428 SQLUSMALLINT fScope,
429 SQLUSMALLINT fNullable)
430{
431 if (TDS_UNLIKELY(tds_write_dump)) {
432 SQLWSTR_BUFS(3);
433 tdsdump_log_impl(TDS_DBG_FUNC, "SQLSpecialColumnsW(%p, %u, %ls, %d, %ls, %d, %ls, %d, %u, %u)\n",
434 hstmt,
435 (unsigned int) fColType,
436 SQLWSTR(szCatalogName), (int) cbCatalogName,
437 SQLWSTR(szSchemaName), (int) cbSchemaName,
438 SQLWSTR(szTableName), (int) cbTableName,
439 (unsigned int) fScope,
440 (unsigned int) fNullable);
441 SQLWSTR_FREE();
442 }
443 return odbc_SQLSpecialColumns(hstmt,
444 fColType,
445 (ODBC_CHAR*) szCatalogName, cbCatalogName,
446 (ODBC_CHAR*) szSchemaName, cbSchemaName,
447 (ODBC_CHAR*) szTableName, cbTableName,
448 fScope,
449 fNullable, 1);
450}
451#endif
452
453SQLRETURN ODBC_PUBLIC ODBC_API SQLSpecialColumns(
454 SQLHSTMT hstmt,
455 SQLUSMALLINT fColType,
456 SQLCHAR * szCatalogName, SQLSMALLINT cbCatalogName,
457 SQLCHAR * szSchemaName, SQLSMALLINT cbSchemaName,
458 SQLCHAR * szTableName, SQLSMALLINT cbTableName,
459 SQLUSMALLINT fScope,
460 SQLUSMALLINT fNullable)
461{
462 tdsdump_log(TDS_DBG_FUNC, "SQLSpecialColumns(%p, %u, %s, %d, %s, %d, %s, %d, %u, %u)\n",
463 hstmt,
464 (unsigned int) fColType,
465 (const char*) szCatalogName, (int) cbCatalogName,
466 (const char*) szSchemaName, (int) cbSchemaName,
467 (const char*) szTableName, (int) cbTableName,
468 (unsigned int) fScope,
469 (unsigned int) fNullable);
470#ifdef ENABLE_ODBC_WIDE
471 return odbc_SQLSpecialColumns(hstmt,
472 fColType,
473 (ODBC_CHAR*) szCatalogName, cbCatalogName,
474 (ODBC_CHAR*) szSchemaName, cbSchemaName,
475 (ODBC_CHAR*) szTableName, cbTableName,
476 fScope,
477 fNullable, 0);
478#else
479 return odbc_SQLSpecialColumns(hstmt,
480 fColType,
481 szCatalogName, cbCatalogName,
482 szSchemaName, cbSchemaName,
483 szTableName, cbTableName,
484 fScope,
485 fNullable);
486#endif
487}
488
489#ifdef ENABLE_ODBC_WIDE
490static SQLRETURN odbc_SQLStatistics(SQLHSTMT hstmt,
491 ODBC_CHAR * szCatalogName, SQLSMALLINT cbCatalogName,
492 ODBC_CHAR * szSchemaName, SQLSMALLINT cbSchemaName,
493 ODBC_CHAR * szTableName, SQLSMALLINT cbTableName,
494 SQLUSMALLINT fUnique,
495 SQLUSMALLINT fAccuracy, int wide);
496
497SQLRETURN ODBC_PUBLIC ODBC_API SQLStatisticsW(
498 SQLHSTMT hstmt,
499 SQLWCHAR * szCatalogName, SQLSMALLINT cbCatalogName,
500 SQLWCHAR * szSchemaName, SQLSMALLINT cbSchemaName,
501 SQLWCHAR * szTableName, SQLSMALLINT cbTableName,
502 SQLUSMALLINT fUnique,
503 SQLUSMALLINT fAccuracy)
504{
505 if (TDS_UNLIKELY(tds_write_dump)) {
506 SQLWSTR_BUFS(3);
507 tdsdump_log_impl(TDS_DBG_FUNC, "SQLStatisticsW(%p, %ls, %d, %ls, %d, %ls, %d, %u, %u)\n",
508 hstmt,
509 SQLWSTR(szCatalogName), (int) cbCatalogName,
510 SQLWSTR(szSchemaName), (int) cbSchemaName,
511 SQLWSTR(szTableName), (int) cbTableName,
512 (unsigned int) fUnique,
513 (unsigned int) fAccuracy);
514 SQLWSTR_FREE();
515 }
516 return odbc_SQLStatistics(hstmt,
517 (ODBC_CHAR*) szCatalogName, cbCatalogName,
518 (ODBC_CHAR*) szSchemaName, cbSchemaName,
519 (ODBC_CHAR*) szTableName, cbTableName,
520 fUnique,
521 fAccuracy, 1);
522}
523#endif
524
525SQLRETURN ODBC_PUBLIC ODBC_API SQLStatistics(
526 SQLHSTMT hstmt,
527 SQLCHAR * szCatalogName, SQLSMALLINT cbCatalogName,
528 SQLCHAR * szSchemaName, SQLSMALLINT cbSchemaName,
529 SQLCHAR * szTableName, SQLSMALLINT cbTableName,
530 SQLUSMALLINT fUnique,
531 SQLUSMALLINT fAccuracy)
532{
533 tdsdump_log(TDS_DBG_FUNC, "SQLStatistics(%p, %s, %d, %s, %d, %s, %d, %u, %u)\n",
534 hstmt,
535 (const char*) szCatalogName, (int) cbCatalogName,
536 (const char*) szSchemaName, (int) cbSchemaName,
537 (const char*) szTableName, (int) cbTableName,
538 (unsigned int) fUnique,
539 (unsigned int) fAccuracy);
540#ifdef ENABLE_ODBC_WIDE
541 return odbc_SQLStatistics(hstmt,
542 (ODBC_CHAR*) szCatalogName, cbCatalogName,
543 (ODBC_CHAR*) szSchemaName, cbSchemaName,
544 (ODBC_CHAR*) szTableName, cbTableName,
545 fUnique,
546 fAccuracy, 0);
547#else
548 return odbc_SQLStatistics(hstmt,
549 szCatalogName, cbCatalogName,
550 szSchemaName, cbSchemaName,
551 szTableName, cbTableName,
552 fUnique,
553 fAccuracy);
554#endif
555}
556
557#ifdef ENABLE_ODBC_WIDE
558static SQLRETURN odbc_SQLTables(SQLHSTMT hstmt,
559 ODBC_CHAR * szCatalogName, SQLSMALLINT cbCatalogName,
560 ODBC_CHAR * szSchemaName, SQLSMALLINT cbSchemaName,
561 ODBC_CHAR * szTableName, SQLSMALLINT cbTableName,
562 ODBC_CHAR * szTableType, SQLSMALLINT cbTableType, int wide);
563
564SQLRETURN ODBC_PUBLIC ODBC_API SQLTablesW(
565 SQLHSTMT hstmt,
566 SQLWCHAR * szCatalogName, SQLSMALLINT cbCatalogName,
567 SQLWCHAR * szSchemaName, SQLSMALLINT cbSchemaName,
568 SQLWCHAR * szTableName, SQLSMALLINT cbTableName,
569 SQLWCHAR * szTableType, SQLSMALLINT cbTableType)
570{
571 if (TDS_UNLIKELY(tds_write_dump)) {
572 SQLWSTR_BUFS(4);
573 tdsdump_log_impl(TDS_DBG_FUNC, "SQLTablesW(%p, %ls, %d, %ls, %d, %ls, %d, %ls, %d)\n",
574 hstmt,
575 SQLWSTR(szCatalogName), (int) cbCatalogName,
576 SQLWSTR(szSchemaName), (int) cbSchemaName,
577 SQLWSTR(szTableName), (int) cbTableName,
578 SQLWSTR(szTableType), (int) cbTableType);
579 SQLWSTR_FREE();
580 }
581 return odbc_SQLTables(hstmt,
582 (ODBC_CHAR*) szCatalogName, cbCatalogName,
583 (ODBC_CHAR*) szSchemaName, cbSchemaName,
584 (ODBC_CHAR*) szTableName, cbTableName,
585 (ODBC_CHAR*) szTableType, cbTableType, 1);
586}
587#endif
588
589SQLRETURN ODBC_PUBLIC ODBC_API SQLTables(
590 SQLHSTMT hstmt,
591 SQLCHAR * szCatalogName, SQLSMALLINT cbCatalogName,
592 SQLCHAR * szSchemaName, SQLSMALLINT cbSchemaName,
593 SQLCHAR * szTableName, SQLSMALLINT cbTableName,
594 SQLCHAR * szTableType, SQLSMALLINT cbTableType)
595{
596 tdsdump_log(TDS_DBG_FUNC, "SQLTables(%p, %s, %d, %s, %d, %s, %d, %s, %d)\n",
597 hstmt,
598 (const char*) szCatalogName, (int) cbCatalogName,
599 (const char*) szSchemaName, (int) cbSchemaName,
600 (const char*) szTableName, (int) cbTableName,
601 (const char*) szTableType, (int) cbTableType);
602#ifdef ENABLE_ODBC_WIDE
603 return odbc_SQLTables(hstmt,
604 (ODBC_CHAR*) szCatalogName, cbCatalogName,
605 (ODBC_CHAR*) szSchemaName, cbSchemaName,
606 (ODBC_CHAR*) szTableName, cbTableName,
607 (ODBC_CHAR*) szTableType, cbTableType, 0);
608#else
609 return odbc_SQLTables(hstmt,
610 szCatalogName, cbCatalogName,
611 szSchemaName, cbSchemaName,
612 szTableName, cbTableName,
613 szTableType, cbTableType);
614#endif
615}
616