Search Postgresql Archives

Problem close curser after rollback

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



 
Hi,  

we use the following statements in our applications, as described on the site: 
 
https://www.postgresql.org/docs/11/ecpg-commands.html#ECPG-TRANSACTIONS
 
EXEC SQL PREPARE stmt1 FROM "SELECT oid,datname FROM pg_database WHERE oid > ?";
EXEC SQL DECLARE foo_bar CURSOR FOR stmt1;
 
/* when end of result set reached, break out of while loop */
EXEC SQL WHENEVER NOT FOUND DO BREAK;
 
EXEC SQL OPEN foo_bar USING 100;
...
while (1)
{
    EXEC SQL FETCH NEXT FROM foo_bar INTO :dboid, :dbname;
    ...
}
EXEC SQL CLOSE foo_bar;
 


After every fetch we open a transaction which is terminated with a rollback in the event of an error.

The problem we now have with this is,  that the cursor is obviously closed with the rollback, so the next fetch ends with the error that the cursor no longer exists (sqlcode -400

What can I do so that the cursor is retained despite rollback?

The procedure described is very often found in our applications, which have been ported from sybase to postgreSQL.

Thanks and kind regards, 
Sigrid 
 







[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]

  Powered by Linux