Re: subtransactions and FETCH behaviour (was Re: PREPARE - Mailing list pgsql-hackers

From Oliver Jowett
Subject Re: subtransactions and FETCH behaviour (was Re: PREPARE
Date
Msg-id 40E9D61A.1090701@opencloud.com
Whole thread Raw
In response to Re: subtransactions and FETCH behaviour (was Re: PREPARE and transactions)  (Alvaro Herrera <alvherre@dcc.uchile.cl>)
List pgsql-hackers
Alvaro Herrera wrote:

> Well, the proposal of implementing it like holdable cursors means using
> a Materialize node which, if I understand correctly, means taking the
> whole result set and storing it on memory (or disk).  So the same
> question arises: why bother implementing that at all?  Of course the
> answer is that the server definitely _has_ to provide the functionality.

It seems more reasonable to implement this on the server side -- it 
already has the data to hand (not on the other side of a network 
connection) and is much more likely to have memory/disk available.

> Now, the cursor problem is beyond me ATM -- it needs deep understanding
> of the executor code that I do not have and won't be able to develop in
> two weeks ... if there's no reasonable solution in sight maybe the best
> we can do is revert the whole nested xacts patch (or at least disable
> the funcionality) so we have more time to solve this particular problem.
> 
> Sadly, AFAICS this is the only major problem with the functionality, so
> it would be a pity to throw away all work only for this.

Is there an approach that means we can do *something* sane with cursors 
and keep nested transactions? Something like "close all non-hold cursors 
on transaction start"? I think the JDBC driver can pass this restriction 
on to the application if we document it -- "creating a savepoint or 
starting a new subtransaction invalidates all open resultsets" -- as a 
necessary limitation of the current backend's implementation. I do think 
that this will make savepoints useless in many cases, but it's better 
than not having subtransactions at all.

Then maybe better cursor support can be done for 7.6?

-O


pgsql-hackers by date:

Previous
From: Steve Holdoway
Date:
Subject: Security...
Next
From: Andrew Dunstan
Date:
Subject: Re: plperl security