BUG #11822: ECPG Commit or Rollback error

Started by Nonameover 11 years ago2 messagesbugs
Jump to latest
#1Noname
jlsanz1983@gmail.com

The following bug has been logged on the website:

Bug reference: 11822
Logged by: jls1983
Email address: jlsanz1983@gmail.com
PostgreSQL version: Unsupported/Unknown
Operating system: CentOs 6.2
Description:

I use a 8.2 version of postgres, and get and solve the following mistake in
a pgc program:

Hi when a cursor is open and a fetch is in progres if then uses a commit or
rollback instruction before close the cursor.

The cursor get this error:

==== sqlca ====
sqlcode: -400
sqlerrm.sqlerrml: 44
sqlerrm.sqlerrmc: cursor "bolas" does not exist on line 141
sqlerrd: 0 0 0 0 0 0
sqlwarn: 0 0 0 0 0 0 0 0
sqlstate: 34000
===============

If the commit goes after close the cursor then the execution doesn't return
any error.

Sorry about my english.
Best regards.

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

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: Noname (#1)
Re: BUG #11822: ECPG Commit or Rollback error

jlsanz1983@gmail.com writes:

Hi when a cursor is open and a fetch is in progres if then uses a commit or
rollback instruction before close the cursor.
The cursor get this error:
sqlerrm.sqlerrmc: cursor "bolas" does not exist on line 141
If the commit goes after close the cursor then the execution doesn't return
any error.

That sounds like expected behavior to me: ordinary cursors are
automatically closed at transaction end.

If you really need this to work, you can declare the cursor WITH HOLD,
but that entails a performance penalty.

regards, tom lane

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