Thread: Driver patch

Driver patch

From
"Andrea Aime"
Date:
Hi everybody,
I've found and fixed the source of my problems, now Autocad is happy
(and I'm happy too :-)). The problem is in parse.c/searchColInfo:

char
searchColInfo(COL_INFO *col_info, FIELD_INFO *fi)
...

    {
        col = QR_get_value_manual(col_info->result, k, 3);
        if (!strcmp(col, fi->name))
        {
            getColInfo(col_info, fi, k);

            mylog("PARSE: searchColInfo: \n");
            return TRUE;
        }
...
}

strcmp must be replaced with stricmp, fi->name derives from the query
"SELECT CLASSE FROM tav974 WHERE SIAPK974=?", so it is upcase, whilst
in col_info the same is stored lowcase.

Anyway, everything is working fine only if I set "parse statements" to
true in the driver configuration -> it would be helpful if statement
parsing would be turned on by default on prepared statements (that are
almost always used with parameters, so it's not possible to execute
them before parameter binding). I think it's just a matter of testing
stmt->prepared in SQLDescribeCol and SQLNumResultsCol...

Regards
Andrea Aime

Re: Driver patch

From
Hiroshi Inoue
Date:
Andrea Aime wrote:
>
> Hi everybody,
> I've found and fixed the source of my problems, now Autocad is happy
> (and I'm happy too :-)). The problem is in parse.c/searchColInfo:
>
> char
> searchColInfo(COL_INFO *col_info, FIELD_INFO *fi)
> ...
>
>         {
>                 col = QR_get_value_manual(col_info->result, k, 3);
>                 if (!strcmp(col, fi->name))
>                 {
>                         getColInfo(col_info, fi, k);
>
>                         mylog("PARSE: searchColInfo: \n");
>                         return TRUE;
>                 }
> ...
> }
>
> strcmp must be replaced with stricmp, fi->name derives from the query
> "SELECT CLASSE FROM tav974 WHERE SIAPK974=?", so it is upcase, whilst
> in col_info the same is stored lowcase.
>

OK I would commit your change in a convenient time(I'm
holding some patches and have to commit in order).

Thanks.
Hiroshi Inoue