Re: Issue with SQLDescribeCol
Frediano Ziglio <[email protected]>
| Newsgroups | gmane.comp.db.tds.freetds |
|---|---|
| Message-ID | <CAHt6W4dr7mvWxy=Kj2kRPT1ha1R_GkVTRiOt=atUHXhG+tsY-Q@mail.gmail.com> |
2014-11-15 9:33 GMT+00:00 Emmanuel Stapf <[email protected]>: > Hi, > > I've recently been testing the EiffelStore binding to ODBC against a MSSQL database. For > that I'm using unixODBC and freetds. However our code does not work due to the fact that > when calling SQLDescribeCol with almost no arguments to get the length of the column name > it does not return anything. > > The code we have looks like: > > rc = SQLDescribeCol(hstmt, (SQLSMALLINT) index, NULL, 0, &indColName, NULL, NULL, NULL, > NULL); > > I looked at the code of SQLDescribeCol and found that in very old versions it would update > indColName and in the latest version although there is a comment at line 2009 of odbc.c > that says: > > /* cbColNameMax can be 0 (to retrieve name length) */ > > but nothing to that effect. Actually if you look at the following diff: > > https://gitorious.org/freetds/freetds/commit/5508af66b79f1c6dee70d86f9c673e8b9b1b24ed > > you see that the code that used to update pcbColName has disappeared from the current > version. > > Am I missing something? > > Thanks, > Manu > Was not tested/implemented correctly Test: https://gitorious.org/freetds/freetds/commit/a3639342271313e32dca198e1fe065d534f67b61 Fix: https://gitorious.org/freetds/freetds/commit/167db70e5183ab7fd25ad1916d669ca49b62199b Backported to branch 0.91 too. Regards, Frediano