what makes the PL cursor life-cycle must be in the same transaction? - Mailing list pgsql-hackers

From Andy Fan
Subject what makes the PL cursor life-cycle must be in the same transaction?
Date
Msg-id CAKU4AWqKLRVNG8aTF7AXqbxXEiLFYJ4UY4z1iCAWAp=RezY6zA@mail.gmail.com
Whole thread Raw
Responses Re: what makes the PL cursor life-cycle must be in the same transaction?
Re: what makes the PL cursor life-cycle must be in the same transaction?
List pgsql-hackers
for example:
begin;
declare cur cursor for select * from t;
insert into t2 values(...);
fetch next cur;
commit;

// after this,  I can't fetch cur any more. 

My question are:
1.  Is this must in principle?  or it is easy to implement as this in PG?
2.  Any bad thing would happen if I keep the named portal (for the cursor) available even the transaction is commit, so that I can fetch the cursor after the transaction is committed?  

Thanks  

pgsql-hackers by date:

Previous
From: Fabien COELHO
Date:
Subject: Re: Patch to document base64 encoding
Next
From: David Rowley
Date:
Subject: Re: Performance issue in foreign-key-aware join estimation