Most recent driver aborts transaction after one error

From: Bart Samwel <bart(at)samwel(dot)tk>
To: pgsql-odbc(at)postgresql(dot)org
Subject: Most recent driver aborts transaction after one error
Date: 2006-03-16 11:26:14
Message-ID: 44194B56.5050304@samwel.tk
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-odbc

Hi there,

I have just upgraded to PostgreSQL 8.1 and I have encountered the
following problem. When I connect through psqlODBC 8.01.0200 (PostgreSQL
Unicode), a sequence like the following:

<start a transaction>
DROP SEQUENCE BAZ;
SELECT 1;

will give an error on the DROP SEQUENCE:

"42P01: Error while executing the query;
ERROR: sequence "app_bod_seq" does not exist"

and will then give an error on the SELECT 1:

"25P02: Error while executing the query;
ERROR: current transaction is aborted, commands ignored until end of
transaction block"

When connecting through the psqlODBC 8.00.0102, I do *not* get the
second error. This is, in fact, what I would expect. It is also what
pretty much all other databases do (our application also runs on
Informix, Firebird, Oracle and MS SQL Server, and they all allow failed
commands in transactions without forcing a rollback). And it is what the
8.00.0102 driver did (or appeared to do?). Was this behaviour changed on
purpose, and if so, why? And is there a way to work around it? ;-)

--Bart

Attachment Content-Type Size
mylog_1332.log text/plain 329 bytes

Responses

Browse pgsql-odbc by date

  From Date Subject
Next Message Antonio Pennino 2006-03-16 14:10:44 updatable cursors
Previous Message Tim Clarke 2006-03-16 09:58:05 Re: psqlODBC Unicode 8.01.02.00 Driver "Overflows" On MS-Access