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