Thread: BUG #2206: error on declare cursor after a close cursor

BUG #2206: error on declare cursor after a close cursor

From
"RIMBAUD Christophe"
Date:
The following bug has been logged online:

Bug reference:      2206
Logged by:          RIMBAUD Christophe
Email address:      christophe.rimbaud@bull.net
PostgreSQL version: 8.1.2
Operating system:   Linux Rh3 IA 64
Description:        error on declare cursor after a close cursor
Details:

error when i declare a cursor after closing it .
In psql 7.2 it's OK but not in 8.
exemple :

corio=# begin ;
DEBUG:  StartTransactionCommand
DEBUG:  StartTransaction
DEBUG:  name: unnamed; blockState:       DEFAULT; state: INPROGR,
xid/subid/cid: 50052/1/0, nestlvl: 1, children: <>
DEBUG:  ProcessUtility
DEBUG:  CommitTransactionCommand
BEGIN
corio=# close PRUTCURSNOLOCK;
DEBUG:  StartTransactionCommand
DEBUG:  ProcessUtility
ERROR:  cursor "prutcursnolock" does not exist
corio=# declare PRUTCURSNOLOCK  cursor  for select  *  from PRUT where
UTILCOD >=  'ADMIN       ' and PRUTCOLLCOD >=  '   ' and SECUMDP >=  '
';
DEBUG:  StartTransactionCommand
ERROR:  current transaction is aborted, commands ignored until end of
transaction block
corio=#

Re: BUG #2206: error on declare cursor after a close cursor

From
Tom Lane
Date:
"RIMBAUD Christophe" <christophe.rimbaud@bull.net> writes:
> corio=# begin ;
> BEGIN
> corio=# close PRUTCURSNOLOCK;
> ERROR:  cursor "prutcursnolock" does not exist

This is an intentional change.  Sorry; you're going to have to fix your
application to not do that.

            regards, tom lane