Re: CURRENT OF cursor without OIDs

From: Hiroshi Inoue <Inoue(at)tpf(dot)co(dot)jp>
To: Ian Lance Taylor <ian(at)airs(dot)com>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: CURRENT OF cursor without OIDs
Date: 2001-08-08 01:11:24
Message-ID: 3B7091BC.5CFB58BC@tpf.co.jp
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Ian Lance Taylor wrote:
>

[snip]

> > > >
> > > > Yes TID is available and I introduced Tid Scan in order
> > > > to support this kind of implementation. However there
> > > > are some notices.
> > > > 1) Is *FOR UPDATE* cursor allowed in PL/pgSQL ?
> > > > (It doesn't seem easy for me).
> > >
> > > No, it is not supported right now.
> > >
> > > Conceptually, however, PL/pgSQL could pull out the FOR UPDATE clause
> > > and turn it into an explicit LOCK statement.
> >
> > It's impossible to realize *FOR UPDATE* using LOCK statement.
> > Each row must be locked individually to prevent UPDATE/DELETE
> > operations for the row. You could acquire an EXCLUSIVE
> > LOCK on the table but it doesn't seem preferable.
>
> It's definitely not preferable, but how else can it be done?
>
> > I'm planning to implement updatable cursors with no lock
> > using TID and OID. TID is for the fast access and OID is
> > to verify the identity. OID doesn't provide a specific
> > access method in the first place and the access would be
> > veeery slow for large tables unless there's an index on OID.
>
> I apologize if I've missed something, but how will that work when OIDs
> become optional?
>

So I've objected optional OIDs.

regards,
Hiroshi Inoue

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Thomas Lockhart 2001-08-08 01:19:16 Re: [GENERAL] user guide
Previous Message Ian Lance Taylor 2001-08-08 01:05:02 Re: CURRENT OF cursor without OIDs