2static SQLRETURN odbc_SQLDriverConnect(SQLHDBC hdbc,
4 ODBC_CHAR * szConnStrIn, SQLSMALLINT cbConnStrIn,
5 ODBC_CHAR * szConnStrOut, SQLSMALLINT cbConnStrOutMax, SQLSMALLINT FAR* pcbConnStrOut,
6 SQLUSMALLINT fDriverCompletion,
int wide);
8SQLRETURN ODBC_PUBLIC ODBC_API SQLDriverConnectW(
11 SQLWCHAR * szConnStrIn, SQLSMALLINT cbConnStrIn,
12 SQLWCHAR * szConnStrOut, SQLSMALLINT cbConnStrOutMax, SQLSMALLINT FAR* pcbConnStrOut,
13 SQLUSMALLINT fDriverCompletion)
15 if (TDS_UNLIKELY(tds_write_dump)) {
17 tdsdump_log_impl(TDS_DBG_FUNC,
"SQLDriverConnectW(%p, %p, %ls, %d, %p, %d, %p, %u)\n",
20 SQLWSTR(szConnStrIn), (
int) cbConnStrIn,
21 szConnStrOut, (
int) cbConnStrOutMax, pcbConnStrOut,
22 (
unsigned int) fDriverCompletion);
25 return odbc_SQLDriverConnect(hdbc,
27 (ODBC_CHAR*) szConnStrIn, cbConnStrIn,
28 (ODBC_CHAR*) szConnStrOut, cbConnStrOutMax, pcbConnStrOut,
29 fDriverCompletion, 1);
33SQLRETURN ODBC_PUBLIC ODBC_API SQLDriverConnect(
36 SQLCHAR * szConnStrIn, SQLSMALLINT cbConnStrIn,
37 SQLCHAR * szConnStrOut, SQLSMALLINT cbConnStrOutMax, SQLSMALLINT FAR* pcbConnStrOut,
38 SQLUSMALLINT fDriverCompletion)
40 tdsdump_log(TDS_DBG_FUNC,
"SQLDriverConnect(%p, %p, %s, %d, %p, %d, %p, %u)\n",
43 (
const char*) szConnStrIn, (
int) cbConnStrIn,
44 szConnStrOut, (
int) cbConnStrOutMax, pcbConnStrOut,
45 (
unsigned int) fDriverCompletion);
46#ifdef ENABLE_ODBC_WIDE
47 return odbc_SQLDriverConnect(hdbc,
49 (ODBC_CHAR*) szConnStrIn, cbConnStrIn,
50 (ODBC_CHAR*) szConnStrOut, cbConnStrOutMax, pcbConnStrOut,
51 fDriverCompletion, 0);
53 return odbc_SQLDriverConnect(hdbc,
55 szConnStrIn, cbConnStrIn,
56 szConnStrOut, cbConnStrOutMax, pcbConnStrOut,
61#ifdef ENABLE_ODBC_WIDE
62static SQLRETURN odbc_SQLNativeSql(SQLHDBC hdbc,
63 ODBC_CHAR * szSqlStrIn, SQLINTEGER cbSqlStrIn,
64 ODBC_CHAR * szSqlStr, SQLINTEGER cbSqlStrMax, SQLINTEGER FAR* pcbSqlStr,
int wide);
66SQLRETURN ODBC_PUBLIC ODBC_API SQLNativeSqlW(
68 SQLWCHAR * szSqlStrIn, SQLINTEGER cbSqlStrIn,
69 SQLWCHAR * szSqlStr, SQLINTEGER cbSqlStrMax, SQLINTEGER FAR* pcbSqlStr)
71 if (TDS_UNLIKELY(tds_write_dump)) {
73 tdsdump_log_impl(TDS_DBG_FUNC,
"SQLNativeSqlW(%p, %ls, %d, %p, %d, %p)\n",
75 SQLWSTR(szSqlStrIn), (
int) cbSqlStrIn,
76 szSqlStr, (
int) cbSqlStrMax, pcbSqlStr);
79 return odbc_SQLNativeSql(hdbc,
80 (ODBC_CHAR*) szSqlStrIn, cbSqlStrIn,
81 (ODBC_CHAR*) szSqlStr, cbSqlStrMax, pcbSqlStr, 1);
85SQLRETURN ODBC_PUBLIC ODBC_API SQLNativeSql(
87 SQLCHAR * szSqlStrIn, SQLINTEGER cbSqlStrIn,
88 SQLCHAR * szSqlStr, SQLINTEGER cbSqlStrMax, SQLINTEGER FAR* pcbSqlStr)
90 tdsdump_log(TDS_DBG_FUNC,
"SQLNativeSql(%p, %s, %d, %p, %d, %p)\n",
92 (
const char*) szSqlStrIn, (
int) cbSqlStrIn,
93 szSqlStr, (
int) cbSqlStrMax, pcbSqlStr);
94#ifdef ENABLE_ODBC_WIDE
95 return odbc_SQLNativeSql(hdbc,
96 (ODBC_CHAR*) szSqlStrIn, cbSqlStrIn,
97 (ODBC_CHAR*) szSqlStr, cbSqlStrMax, pcbSqlStr, 0);
99 return odbc_SQLNativeSql(hdbc,
100 szSqlStrIn, cbSqlStrIn,
101 szSqlStr, cbSqlStrMax, pcbSqlStr);
105#ifdef ENABLE_ODBC_WIDE
106static SQLRETURN odbc_SQLConnect(SQLHDBC hdbc,
107 ODBC_CHAR * szDSN, SQLSMALLINT cbDSN,
108 ODBC_CHAR * szUID, SQLSMALLINT cbUID,
109 ODBC_CHAR * szAuthStr, SQLSMALLINT cbAuthStr,
int wide);
111SQLRETURN ODBC_PUBLIC ODBC_API SQLConnectW(
113 SQLWCHAR * szDSN, SQLSMALLINT cbDSN,
114 SQLWCHAR * szUID, SQLSMALLINT cbUID,
115 SQLWCHAR * szAuthStr, SQLSMALLINT cbAuthStr)
117 if (TDS_UNLIKELY(tds_write_dump)) {
119 tdsdump_log_impl(TDS_DBG_FUNC,
"SQLConnectW(%p, %ls, %d, %ls, %d, %ls, %d)\n",
121 SQLWSTR(szDSN), (
int) cbDSN,
122 SQLWSTR(szUID), (
int) cbUID,
123 SQLWSTR(szAuthStr), (
int) cbAuthStr);
126 return odbc_SQLConnect(hdbc,
127 (ODBC_CHAR*) szDSN, cbDSN,
128 (ODBC_CHAR*) szUID, cbUID,
129 (ODBC_CHAR*) szAuthStr, cbAuthStr, 1);
133SQLRETURN ODBC_PUBLIC ODBC_API SQLConnect(
135 SQLCHAR * szDSN, SQLSMALLINT cbDSN,
136 SQLCHAR * szUID, SQLSMALLINT cbUID,
137 SQLCHAR * szAuthStr, SQLSMALLINT cbAuthStr)
139 tdsdump_log(TDS_DBG_FUNC,
"SQLConnect(%p, %s, %d, %s, %d, %s, %d)\n",
141 (
const char*) szDSN, (
int) cbDSN,
142 (
const char*) szUID, (
int) cbUID,
143 (
const char*) szAuthStr, (
int) cbAuthStr);
144#ifdef ENABLE_ODBC_WIDE
145 return odbc_SQLConnect(hdbc,
146 (ODBC_CHAR*) szDSN, cbDSN,
147 (ODBC_CHAR*) szUID, cbUID,
148 (ODBC_CHAR*) szAuthStr, cbAuthStr, 0);
150 return odbc_SQLConnect(hdbc,
153 szAuthStr, cbAuthStr);
157#ifdef ENABLE_ODBC_WIDE
158static SQLRETURN odbc_SQLDescribeCol(SQLHSTMT hstmt,
160 ODBC_CHAR * szColName, SQLSMALLINT cbColNameMax, SQLSMALLINT FAR* pcbColName,
161 SQLSMALLINT * pfSqlType,
163 SQLSMALLINT * pibScale,
164 SQLSMALLINT * pfNullable,
int wide);
166SQLRETURN ODBC_PUBLIC ODBC_API SQLDescribeColW(
169 SQLWCHAR * szColName, SQLSMALLINT cbColNameMax, SQLSMALLINT FAR* pcbColName,
170 SQLSMALLINT * pfSqlType,
172 SQLSMALLINT * pibScale,
173 SQLSMALLINT * pfNullable)
175 tdsdump_log(TDS_DBG_FUNC,
"SQLDescribeColW(%p, %u, %p, %d, %p, %p, %p, %p, %p)\n",
178 szColName, (
int) cbColNameMax, pcbColName,
183 return odbc_SQLDescribeCol(hstmt,
185 (ODBC_CHAR*) szColName, cbColNameMax, pcbColName,
193SQLRETURN ODBC_PUBLIC ODBC_API SQLDescribeCol(
196 SQLCHAR * szColName, SQLSMALLINT cbColNameMax, SQLSMALLINT FAR* pcbColName,
197 SQLSMALLINT * pfSqlType,
199 SQLSMALLINT * pibScale,
200 SQLSMALLINT * pfNullable)
202 tdsdump_log(TDS_DBG_FUNC,
"SQLDescribeCol(%p, %u, %p, %d, %p, %p, %p, %p, %p)\n",
205 szColName, (
int) cbColNameMax, pcbColName,
210#ifdef ENABLE_ODBC_WIDE
211 return odbc_SQLDescribeCol(hstmt,
213 (ODBC_CHAR*) szColName, cbColNameMax, pcbColName,
219 return odbc_SQLDescribeCol(hstmt,
221 szColName, cbColNameMax, pcbColName,
229#ifdef ENABLE_ODBC_WIDE
230static SQLRETURN odbc_SQLGetDescRec(SQLHDESC hdesc,
231 SQLSMALLINT RecordNumber,
232 ODBC_CHAR * szName, SQLSMALLINT cbNameMax, SQLSMALLINT FAR* pcbName,
234 SQLSMALLINT * SubType,
236 SQLSMALLINT * Precision,
238 SQLSMALLINT * Nullable,
int wide);
240SQLRETURN ODBC_PUBLIC ODBC_API SQLGetDescRecW(
242 SQLSMALLINT RecordNumber,
243 SQLWCHAR * szName, SQLSMALLINT cbNameMax, SQLSMALLINT FAR* pcbName,
245 SQLSMALLINT * SubType,
247 SQLSMALLINT * Precision,
249 SQLSMALLINT * Nullable)
251 tdsdump_log(TDS_DBG_FUNC,
"SQLGetDescRecW(%p, %d, %p, %d, %p, %p, %p, %p, %p, %p, %p)\n",
254 szName, (
int) cbNameMax, pcbName,
261 return odbc_SQLGetDescRec(hdesc,
263 (ODBC_CHAR*) szName, cbNameMax, pcbName,
273SQLRETURN ODBC_PUBLIC ODBC_API SQLGetDescRec(
275 SQLSMALLINT RecordNumber,
276 SQLCHAR * szName, SQLSMALLINT cbNameMax, SQLSMALLINT FAR* pcbName,
278 SQLSMALLINT * SubType,
280 SQLSMALLINT * Precision,
282 SQLSMALLINT * Nullable)
284 tdsdump_log(TDS_DBG_FUNC,
"SQLGetDescRec(%p, %d, %p, %d, %p, %p, %p, %p, %p, %p, %p)\n",
287 szName, (
int) cbNameMax, pcbName,
294#ifdef ENABLE_ODBC_WIDE
295 return odbc_SQLGetDescRec(hdesc,
297 (ODBC_CHAR*) szName, cbNameMax, pcbName,
305 return odbc_SQLGetDescRec(hdesc,
307 szName, cbNameMax, pcbName,
317#ifdef ENABLE_ODBC_WIDE
318static SQLRETURN odbc_SQLGetDescField(SQLHDESC hdesc,
320 SQLSMALLINT fDescType,
322 SQLINTEGER BufferLength,
323 SQLINTEGER * StringLength,
int wide);
325SQLRETURN ODBC_PUBLIC ODBC_API SQLGetDescFieldW(
328 SQLSMALLINT fDescType,
330 SQLINTEGER BufferLength,
331 SQLINTEGER * StringLength)
333 tdsdump_log(TDS_DBG_FUNC,
"SQLGetDescFieldW(%p, %d, %d, %p, %d, %p)\n",
340 return odbc_SQLGetDescField(hdesc,
349SQLRETURN ODBC_PUBLIC ODBC_API SQLGetDescField(
352 SQLSMALLINT fDescType,
354 SQLINTEGER BufferLength,
355 SQLINTEGER * StringLength)
357 tdsdump_log(TDS_DBG_FUNC,
"SQLGetDescField(%p, %d, %d, %p, %d, %p)\n",
364#ifdef ENABLE_ODBC_WIDE
365 return odbc_SQLGetDescField(hdesc,
372 return odbc_SQLGetDescField(hdesc,
381#ifdef ENABLE_ODBC_WIDE
382static SQLRETURN odbc_SQLSetDescField(SQLHDESC hdesc,
384 SQLSMALLINT fDescType,
386 SQLINTEGER BufferLength,
int wide);
388SQLRETURN ODBC_PUBLIC ODBC_API SQLSetDescFieldW(
391 SQLSMALLINT fDescType,
393 SQLINTEGER BufferLength)
395 tdsdump_log(TDS_DBG_FUNC,
"SQLSetDescFieldW(%p, %d, %d, %p, %d)\n",
401 return odbc_SQLSetDescField(hdesc,
409SQLRETURN ODBC_PUBLIC ODBC_API SQLSetDescField(
412 SQLSMALLINT fDescType,
414 SQLINTEGER BufferLength)
416 tdsdump_log(TDS_DBG_FUNC,
"SQLSetDescField(%p, %d, %d, %p, %d)\n",
422#ifdef ENABLE_ODBC_WIDE
423 return odbc_SQLSetDescField(hdesc,
429 return odbc_SQLSetDescField(hdesc,
437#ifdef ENABLE_ODBC_WIDE
438static SQLRETURN odbc_SQLExecDirect(SQLHSTMT hstmt,
439 ODBC_CHAR * szSqlStr, SQLINTEGER cbSqlStr,
int wide);
441SQLRETURN ODBC_PUBLIC ODBC_API SQLExecDirectW(
443 SQLWCHAR * szSqlStr, SQLINTEGER cbSqlStr)
445 if (TDS_UNLIKELY(tds_write_dump)) {
447 tdsdump_log_impl(TDS_DBG_FUNC,
"SQLExecDirectW(%p, %ls, %d)\n",
449 SQLWSTR(szSqlStr), (
int) cbSqlStr);
452 return odbc_SQLExecDirect(hstmt,
453 (ODBC_CHAR*) szSqlStr, cbSqlStr, 1);
457SQLRETURN ODBC_PUBLIC ODBC_API SQLExecDirect(
459 SQLCHAR * szSqlStr, SQLINTEGER cbSqlStr)
461 tdsdump_log(TDS_DBG_FUNC,
"SQLExecDirect(%p, %s, %d)\n",
463 (
const char*) szSqlStr, (
int) cbSqlStr);
464#ifdef ENABLE_ODBC_WIDE
465 return odbc_SQLExecDirect(hstmt,
466 (ODBC_CHAR*) szSqlStr, cbSqlStr, 0);
468 return odbc_SQLExecDirect(hstmt,
473#ifdef ENABLE_ODBC_WIDE
474static SQLRETURN odbc_SQLPrepare(SQLHSTMT hstmt,
475 ODBC_CHAR * szSqlStr, SQLINTEGER cbSqlStr,
int wide);
477SQLRETURN ODBC_PUBLIC ODBC_API SQLPrepareW(
479 SQLWCHAR * szSqlStr, SQLINTEGER cbSqlStr)
481 if (TDS_UNLIKELY(tds_write_dump)) {
483 tdsdump_log_impl(TDS_DBG_FUNC,
"SQLPrepareW(%p, %ls, %d)\n",
485 SQLWSTR(szSqlStr), (
int) cbSqlStr);
488 return odbc_SQLPrepare(hstmt,
489 (ODBC_CHAR*) szSqlStr, cbSqlStr, 1);
493SQLRETURN ODBC_PUBLIC ODBC_API SQLPrepare(
495 SQLCHAR * szSqlStr, SQLINTEGER cbSqlStr)
497 tdsdump_log(TDS_DBG_FUNC,
"SQLPrepare(%p, %s, %d)\n",
499 (
const char*) szSqlStr, (
int) cbSqlStr);
500#ifdef ENABLE_ODBC_WIDE
501 return odbc_SQLPrepare(hstmt,
502 (ODBC_CHAR*) szSqlStr, cbSqlStr, 0);
504 return odbc_SQLPrepare(hstmt,
509#ifdef ENABLE_ODBC_WIDE
510static SQLRETURN odbc_SQLSetCursorName(SQLHSTMT hstmt,
511 ODBC_CHAR * szCursor, SQLSMALLINT cbCursor,
int wide);
513SQLRETURN ODBC_PUBLIC ODBC_API SQLSetCursorNameW(
515 SQLWCHAR * szCursor, SQLSMALLINT cbCursor)
517 if (TDS_UNLIKELY(tds_write_dump)) {
519 tdsdump_log_impl(TDS_DBG_FUNC,
"SQLSetCursorNameW(%p, %ls, %d)\n",
521 SQLWSTR(szCursor), (
int) cbCursor);
524 return odbc_SQLSetCursorName(hstmt,
525 (ODBC_CHAR*) szCursor, cbCursor, 1);
529SQLRETURN ODBC_PUBLIC ODBC_API SQLSetCursorName(
531 SQLCHAR * szCursor, SQLSMALLINT cbCursor)
533 tdsdump_log(TDS_DBG_FUNC,
"SQLSetCursorName(%p, %s, %d)\n",
535 (
const char*) szCursor, (
int) cbCursor);
536#ifdef ENABLE_ODBC_WIDE
537 return odbc_SQLSetCursorName(hstmt,
538 (ODBC_CHAR*) szCursor, cbCursor, 0);
540 return odbc_SQLSetCursorName(hstmt,
545#ifdef ENABLE_ODBC_WIDE
546static SQLRETURN odbc_SQLGetCursorName(SQLHSTMT hstmt,
547 ODBC_CHAR * szCursor, SQLSMALLINT cbCursorMax, SQLSMALLINT FAR* pcbCursor,
int wide);
549SQLRETURN ODBC_PUBLIC ODBC_API SQLGetCursorNameW(
551 SQLWCHAR * szCursor, SQLSMALLINT cbCursorMax, SQLSMALLINT FAR* pcbCursor)
553 tdsdump_log(TDS_DBG_FUNC,
"SQLGetCursorNameW(%p, %p, %d, %p)\n",
555 szCursor, (
int) cbCursorMax, pcbCursor);
556 return odbc_SQLGetCursorName(hstmt,
557 (ODBC_CHAR*) szCursor, cbCursorMax, pcbCursor, 1);
561SQLRETURN ODBC_PUBLIC ODBC_API SQLGetCursorName(
563 SQLCHAR * szCursor, SQLSMALLINT cbCursorMax, SQLSMALLINT FAR* pcbCursor)
565 tdsdump_log(TDS_DBG_FUNC,
"SQLGetCursorName(%p, %p, %d, %p)\n",
567 szCursor, (
int) cbCursorMax, pcbCursor);
568#ifdef ENABLE_ODBC_WIDE
569 return odbc_SQLGetCursorName(hstmt,
570 (ODBC_CHAR*) szCursor, cbCursorMax, pcbCursor, 0);
572 return odbc_SQLGetCursorName(hstmt,
573 szCursor, cbCursorMax, pcbCursor);
577#ifdef ENABLE_ODBC_WIDE
578static SQLRETURN odbc_SQLGetConnectAttr(SQLHDBC hdbc,
579 SQLINTEGER Attribute,
581 SQLINTEGER BufferLength,
582 SQLINTEGER * StringLength,
int wide);
584SQLRETURN ODBC_PUBLIC ODBC_API SQLGetConnectAttrW(
586 SQLINTEGER Attribute,
588 SQLINTEGER BufferLength,
589 SQLINTEGER * StringLength)
591 tdsdump_log(TDS_DBG_FUNC,
"SQLGetConnectAttrW(%p, %d, %p, %d, %p)\n",
597 return odbc_SQLGetConnectAttr(hdbc,
605SQLRETURN ODBC_PUBLIC ODBC_API SQLGetConnectAttr(
607 SQLINTEGER Attribute,
609 SQLINTEGER BufferLength,
610 SQLINTEGER * StringLength)
612 tdsdump_log(TDS_DBG_FUNC,
"SQLGetConnectAttr(%p, %d, %p, %d, %p)\n",
618#ifdef ENABLE_ODBC_WIDE
619 return odbc_SQLGetConnectAttr(hdbc,
625 return odbc_SQLGetConnectAttr(hdbc,
633#ifdef ENABLE_ODBC_WIDE
634static SQLRETURN odbc_SQLSetConnectAttr(SQLHDBC hdbc,
635 SQLINTEGER Attribute,
637 SQLINTEGER StringLength,
int wide);
639SQLRETURN ODBC_PUBLIC ODBC_API SQLSetConnectAttrW(
641 SQLINTEGER Attribute,
643 SQLINTEGER StringLength)
645 tdsdump_log(TDS_DBG_FUNC,
"SQLSetConnectAttrW(%p, %d, %p, %d)\n",
650 return odbc_SQLSetConnectAttr(hdbc,
657SQLRETURN ODBC_PUBLIC ODBC_API SQLSetConnectAttr(
659 SQLINTEGER Attribute,
661 SQLINTEGER StringLength)
663 tdsdump_log(TDS_DBG_FUNC,
"SQLSetConnectAttr(%p, %d, %p, %d)\n",
668#ifdef ENABLE_ODBC_WIDE
669 return odbc_SQLSetConnectAttr(hdbc,
674 return odbc_SQLSetConnectAttr(hdbc,