Re: updateable cursors & visibility

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Gavin Sherry <swm(at)linuxworld(dot)com(dot)au>
Cc: Peter Eisentraut <peter_e(at)gmx(dot)net>, Hiroshi Inoue <Inoue(at)tpf(dot)co(dot)jp>, Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>, Neil Conway <neilc(at)samurai(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: updateable cursors & visibility
Date: 2003-04-02 14:58:51
Message-ID: 20950.1049295531@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Gavin Sherry <swm(at)linuxworld(dot)com(dot)au> writes:
> Regardless of which, we could insert a special case in ExecutePlan() (or
> somewhere more appropriate?) to test that the tuple returned from the
> lower level ExecTidScan() still satisifies the cursor query. It should be
> sufficient to use HeapTupleSatisfies() or some of the logic there in to do
> this.

I don't think so; you'll need to use EvalPlanQual. This is not
different from the situation where a regular UPDATE finds a tuple that is
not the latest version of its row.

Should I point out that we already have semantics for that behavior, and
they depend on the serialization mode? Most of this discussion seems to
completely ignore the MVCC semantics we already have for updates/deletes
applied to rows that aren't current anymore. ISTM we should stick to
that behavior ...

regards, tom lane

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message John Liu 2003-04-02 15:10:51 Re: 7.3.2 make failed on AIX4.3 using native c compiler
Previous Message Gavin Sherry 2003-04-02 14:52:54 Re: updateable cursors & visibility