Thread: unnecessary auto-transaction-rollback from driver - part 1 of 2

unnecessary auto-transaction-rollback from driver - part 1 of 2

From
Hartmut Raschick
Date:
next try, I hope this time the message is not too big for
poor pgsql-odbc@postgres.org....

PLEASE MIND part 2 (another mail)

driver: psqlodbc-07.03.0100
postgres: 7.3.2
error messages: n/a
mylog: mylog_raschick10724.log
commlog(psqlodbc_????.log): psqlodbc_raschick10724.log
ODBC trace log (sql.log): n/a

when issuing (w/i a transaction) a faulty request (in this case: attempt to
set a column that does not exist) the driver will auto-rollback (see logs).
however, as the program has started the transaction, it will try to rollback
itself. this will fail. (you see this twice in the logs - dont worry, one is
destructor clean-up...)
IMHO, the driver should not do a rollback here.
while inspecting the sources, i found that it actually knows about being in
a trx (succesful "BEGIN" command), why it would not use this info, i dont
know...

P.S.: You can tune a guitar, but you can't tune a fish.
        - Tom Robbins

--
Hartmut "Hardy" Raschick / Dept. t2
ke Kommunikations-Elektronik GmbH
Wohlenberstr. 3, 30179 Hannover
Phone: ++49 (0)511 6747-564
Fax: ++49 (0)511 6747-340
e-Mail: hartmut.raschick@ke-elektronik.de
http://www.ke-elektronik.de

Attachment

Re: unnecessary auto-transaction-rollback from driver - part 1 of

From
Hiroshi Inoue
Date:
Hartmut Raschick wrote:
>
> next try, I hope this time the message is not too big for
> poor pgsql-odbc@postgres.org....
>
> PLEASE MIND part 2 (another mail)
>
> driver: psqlodbc-07.03.0100
> postgres: 7.3.2
> error messages: n/a
> mylog: mylog_raschick10724.log
> commlog(psqlodbc_????.log): psqlodbc_raschick10724.log
> ODBC trace log (sql.log): n/a
>
> when issuing (w/i a transaction) a faulty request (in this case: attempt to
> set a column that does not exist) the driver will auto-rollback (see logs).
> however, as the program has started the transaction, it will try to rollback
> itself. this will fail. (you see this twice in the logs - dont worry, one is
> destructor clean-up...)

Please don't execute "begin", "commit", "rollback" directly.
For example, please call SQLTransact to commit/rollback the
transaction.

regards,
Hiroshi Inoue
    http://www.geocities.jp/inocchichichi/psqlodbc/