Re: subtransactions and FETCH behaviour (was Re: PREPARE

From: Oliver Jowett <oliver(at)opencloud(dot)com>
To: Alvaro Herrera <alvherre(at)dcc(dot)uchile(dot)cl>
Cc: "Jeroen T(dot) Vermeulen" <jtv(at)xs4all(dot)nl>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: subtransactions and FETCH behaviour (was Re: PREPARE
Date: 2004-07-05 22:28:42
Message-ID: 40E9D61A.1090701@opencloud.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Andrew Dunstan 2004-07-05 22:34:15 Re: plperl security
Previous Message Steve Holdoway 2004-07-05 22:27:06 Security...