Обсуждение: Bug in latest ODBC driver (07.02.0004)

Поиск
Список
Период
Сортировка

Bug in latest ODBC driver (07.02.0004)

От
"Glen Parker"
Дата:
The 07.02.0004 (the ver. 3, non unicode in this case) driver has broken
some programs I have.  Attached is a snip from my ODBC log.

The basic problem seems to be that sending a 'create ...' statement to
the server and trying to get the row count after it executes causes
errors that shouldn't be happening.  The statement executes fine, as the
log shows, but SQLRowCount() returns -1 (SQL_ERROR).  There is also
aparently no error info saved because SQLGetDiagRecW() returns 100
(SQL_NO_DATA_FOUND).

Shouldn't SQLRowCount() succeed and return a row count of -1?

My platform is Win2k.

select version();
 PostgreSQL 7.2.1 on i686-pc-linux-gnu, compiled by GCC 2.96


Glen Parker
glenebob@nwlink.com

Вложения

Re: Bug in latest ODBC driver (07.02.0004)

От
Hiroshi Inoue
Дата:
Glen Parker wrote:
>
> The 07.02.0004 (the ver. 3, non unicode in this case) driver has
> broken some programs I have.  Attached is a snip from my ODBC log.
>
> The basic problem seems to be that sending a 'create ...' statement
> to the server and trying to get the row count after it executes
> causes errors that shouldn't be happening.  The statement executes
> fine, as the log shows, but SQLRowCount() returns -1 (SQL_ERROR).
> There is also aparently no error info saved because
> SQLGetDiagRecW() returns 100 (SQL_NO_DATA_FOUND).
>
> Shouldn't SQLRowCount() succeed and return a row count of -1?

You seem to be right. I would commit the change.
Also try the snapshot dll at http://w2422.nsk.ne.jp/~inoue/.

Thanks.
Hiroshi Inoue

Re: Bug in latest ODBC driver (07.02.0004)

От
"Glen Parker"
Дата:
> > Shouldn't SQLRowCount() succeed and return a row count of -1?
>
> You seem to be right. I would commit the change.
> Also try the snapshot dll at http://w2422.nsk.ne.jp/~inoue/.

That did it.  Thx.
And yes, please commit.  There seems to be another bug fixed in current
CVS and I'd like to get a fresh build with this latest fix and continue
my testing.

Glen Parker
glenebob@nwlink.com


Re: Bug in latest ODBC driver (07.02.0004)

От
Hiroshi Inoue
Дата:
Glen Parker wrote:
>
> > > Shouldn't SQLRowCount() succeed and return a row count of -1?
> >
> > You seem to be right. I would commit the change.
> > Also try the snapshot dll at http://w2422.nsk.ne.jp/~inoue/.
>
> That did it.  Thx.
> And yes, please commit.  There seems to be another bug fixed in current
> CVS and I'd like to get a fresh build with this latest fix and continue
> my testing.

OK I've just committed the change.

regards,
Hiroshi Inoue
    http://w2422.nsk.ne.jp/~inoue/

Bug #2 in latest ODBC driver (07.02.0004)

От
"Glen Parker"
Дата:
This bug *seems* to be the result of incomplete statement recycling (old
values left behind from previous executions).  This is mostly a guess.
Log is attached.

If a non-select statement is executed (INSERT in this case) followed by
a select, trying to fetch the rows from the select will fail with an
invalid scroll type error.

Compiling the driver without the DRIVER_CURSOR_IMPLEMENT flag eliminates
the errors.  Turning updatable cursors on/off in the driver config has
no apparent affect.

Glen Parker
glenebob@nwlink.com

Вложения

Re: Bug #2 in latest ODBC driver (07.02.0004)

От
Hiroshi Inoue
Дата:
Glen Parker wrote:
>
> This bug *seems* to be the result of incomplete statement recycling (old
> values left behind from previous executions).  This is mostly a guess.
> Log is attached.
>
> If a non-select statement is executed (INSERT in this case) followed by
> a select, trying to fetch the rows from the select will fail with an
> invalid scroll type error.
>
> Compiling the driver without the DRIVER_CURSOR_IMPLEMENT flag eliminates
> the errors.  Turning updatable cursors on/off in the driver config has
> no apparent affect.

I committed a change to cvs though I tested none about it.
Could you try it ? Please nmake clean before rebuilding it.

regards,
Hiroshi Inoue
    http://w2422.nsk.ne.jp/~inoue/