Re: some question about SavePoint ?
От | Ludek Finstrle |
---|---|
Тема | Re: some question about SavePoint ? |
Дата | |
Msg-id | 20060119111957.GA31571@soptik.pzkagis.cz обсуждение исходный текст |
Ответ на | some question about SavePoint ? (zhaoxin <zhaox@necas.nec.com.cn>) |
Ответы |
Re: some question about SavePoint ?
|
Список | pgsql-odbc |
> After I execute a SQL , I want to ignore some error ,and continue to > execute my SQL.but I will get some error like that : > > "current transaction is aborted, commands ignored until end of > transaction block" There is some common known bugs in 08.01.0102 in implicit rollback. Do you try latest development snapshot? Maybe 08.01.0106 could better fit you. I don't know. We have some report about similar problem (but reporter doesn't mentioned his psqlodbc version). > I try to use SavePoint to solve this trouble , but I got some problem . > example: > ..... > 1. set SQL_AUTOCOMMIT_OFF In this case you may call BEGIN (START TRANSACTION is supported since 08.01.0107). > 2. SQLConnect() > .............. > 3. SQLExecDirect() -> SavePoint sp ; > 4. SQLExecDirect() -> insert into test values(...) ; > 5. SQLExecDirect() -> Release SavePoint sp; > 6. SQLEndTran() -> commit ; > 7. SQLExecDirect() -> SavePoint sp ; > ^^^^^^^^^^^^^^^^ > 8. SQLExecDirect() -> update test; > ............. > > Until 6, it return OK, but at 7 , it will return some error like > > "SAVEPOINT may only be used in transaction blocks" > > so , I have to use "begin" to start another transaction after I execute > the "commit" at 6 ? > Why can I use savepoint at 3 without execute any "begin" ??? > Or I have some mistake ? Yes you do ... When you use autocommit = off you have to start and end transaction manually. There is hack in psqlodbc which start transaction automatically even in autocommit = off when you use select, insert, update or delete SQL statement. > My psqlodbc version is 8.01.01.02(Unicode) > > And, I have to use SavePoint to rollback to current SQL? > Don't I have another way in psqlodbc ? What about try the latest development snapshot as I mentioned above? Regards, Luf
В списке pgsql-odbc по дате отправления: