[ psqlodbc-Bugs-1000498 ] rollback to savepoint in case of error

Поиск
Список
Период
Сортировка
От
Тема [ psqlodbc-Bugs-1000498 ] rollback to savepoint in case of error
Дата
Msg-id 20051221141957.706BC1125010@pgfoundry.org
обсуждение исходный текст
Список pgsql-odbc
Bugs item #1000498, was opened at 2005-12-21 14:19
You can respond by visiting:
http://pgfoundry.org/tracker/?func=detail&atid=538&aid=1000498&group_id=1000125

Category: None
Group: None
Status: Open
Resolution: None
Priority: 3
Submitted By: Tom Zschockelt (toz)
Assigned to: Nobody (None)
Summary: rollback to savepoint in case of error

Initial Comment:
the current snapshot driver only supports manual rollback to savepoints
if ( and only if ) all previous statements return with success.

e.g.

My env :

win2003 server
8.1.0 postgresql
psqlodbc 8.01.0105


CREATE TABLE testtable (
f1 int2 primary key,
f2 varchar(10) null);


the following snippet works

BEGIN
INSERT INTO testtable values ( 12, 'hello');
SAVEPOINT SP_INSERT;
INSERT INTO testtable values ( 13, 'hello1');
ROLLBACK TO SAVEPOINT SP_INSERT;
INSERT INTO testtable values ( 13, 'hello123');
COMMIT;

the following snippet don't work

BEGIN
INSERT INTO testtable values ( 12, 'hello');
SAVEPOINT SP_INSERT;
INSERT INTO testtable values ( 12, 'hello1'); <-- auto rollback occurs !!!
ROLLBACK TO SAVEPOINT SP_INSERT;
INSERT INTO testtable values ( 13, 'hello123');
COMMIT;

Why does an error breaks the savepoint environment ?

By now I used an application side workaround as I do an select before
each insert to check if a certain row already exists in the table.
If it exist I try an update on the row.
( but this is a real performance killer ... )

----------------------------------------------------------------------

You can respond by visiting:
http://pgfoundry.org/tracker/?func=detail&atid=538&aid=1000498&group_id=1000125

В списке pgsql-odbc по дате отправления:

Предыдущее
От:
Дата:
Сообщение: [ psqlodbc-Bugs-1000495 ] duplicate key causes HY000 SQL-State
Следующее
От: Dave Page
Дата:
Сообщение: Re: psqlODBC with Visual Studio 2005 and Connection