Re: Cursors and Transactions, why?

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Eric Ridge <ebr(at)tcdi(dot)com>
Cc: Joe Conway <mail(at)joeconway(dot)com>, Pgsql-General <pgsql-general(at)postgresql(dot)org>, Jan Wieck <JanWieck(at)Yahoo(dot)com>
Subject: Re: Cursors and Transactions, why?
Date: 2004-04-08 01:46:41
Message-ID: 6930.1081388801@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Eric Ridge <ebr(at)tcdi(dot)com> writes:
> wow. I should go back and read the archives to see if this was
> discussed already, but I can't help but wonder if there's a way to only
> copy pointers to the tuples. I realize VACUUM could screw it up, but
> maybe something could be invented (or re-used) to help guard against
> that.

Still looking for that free lunch, eh?

If you want to leave the tuples on-disk, then you hold a transaction
open to ensure that VACUUM won't whisk them out from under you. That's
what the normal non-HOLD cursor case will do.

If you don't want to leave the tuples on-disk, you have to copy them
someplace. You can do that with a HOLD cursor.

AFAICS any other solution will simply reinvent one or the other of these
techniques.

regards, tom lane

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Bruce Momjian 2004-04-08 03:14:18 Re: eval in plpgsl
Previous Message Mage 2004-04-08 01:46:25 eval in plpgsl