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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.