Hi all,

Trivial program to demonstrate problem:

main() {
    ECPGdebug(1,stderr);
    exec sql connect to postgres;
    exec sql set autocommit to off;
    exec sql start transaction;
    exec sql savepoint s;
    exec sql rollback to s;
    exec sql commit;
    return 0;
}


Output:

[28397]: ECPGdebug: set to 1
[28397]: ECPGconnect: opening database postgres on <DEFAULT> port <DEFAULT>
[28397]: ECPGsetcommit on line 4: action "off"; connection "postgres"
[28397]: ECPGtrans on line 5: action "start transaction"; connection "postgres"
[28397]: ECPGtrans on line 6: action "savepoint s"; connection "postgres"
[28397]: ECPGtrans on line 7: action "rollback to s"; connection "postgres"
[28397]: ECPGtrans on line 8: action "commit"; connection "postgres"
[28397]: ECPGnoticeReceiver: there is already a transaction in progress
[28397]: raising sqlcode -603


Problem:

It shouldn't raise "there is already a transaction in progress" error, particularly when doing a commit. Remove "rollback to s" and no problem.


Environment:

ecpg (PostgreSQL 8.4.5) 4.5.0
Linux thales 2.6.32-24-generic #43-Ubuntu SMP Thu Sep 16 14:58:24 UTC 2010 x86_64 GNU/Linux
Two cores

This appears to be a regression; it doesn't occur with ecpg (PostgreSQL 8.3.8) 4.4.1


Regards,

David

--
Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs

Reply via email to