Re: Most recent driver aborts transaction after one error
От | Hiroshi Inoue |
---|---|
Тема | Re: Most recent driver aborts transaction after one error |
Дата | |
Msg-id | 4419FB0A.3000905@tpf.co.jp обсуждение исходный текст |
Ответ на | Most recent driver aborts transaction after one error (Bart Samwel <bart@samwel.tk>) |
Ответы |
Re: Most recent driver aborts transaction after one error
|
Список | pgsql-odbc |
Bart Samwel wrote: > 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? ;-) Please try Experimental Enhanced Branch(psqlODBC 07.03.0260) at http://pgfoundry.org/projects/psqlodbc/ . You can specify the *Level of rollback on errors* option as *Statement* using the version. In addtion you had better replace the psqlodbc35w.dll with the one at http://www.geocities.jp/inocchichichi/psqlodbc/index.html because it constains bug fixes for George Weaver's problem and (at least a part of) Daniel Holm's problem. regards, Hiroshi Inoue
В списке pgsql-odbc по дате отправления: