updateable cursors - Mailing list pgsql-patches

From Gavin Sherry
Subject updateable cursors
Date
Msg-id Pine.LNX.4.21.0307262323040.12835-101000@linuxworld.com.au
Whole thread Raw
Responses Re: updateable cursors  (Bruce Momjian <pgman@candle.pha.pa.us>)
Re: updateable cursors  (Bruce Momjian <pgman@candle.pha.pa.us>)
List pgsql-patches
Attached is a patch implementing updatable cursors in HEAD. Regression
test and documentation are included.

Updateable cursors are used as follows:

begin;
declare foo cursor for select * from bar for update;
fetch foo;
update bar set abc='def' where current of foo;
fetch foo;
delete from bar where current of foo;
commit;


Two points:

i) The patch doesn't implement updateable cursors for cursors marked WITH
HOLD. I have working code for this and will send it in soon.

ii) I've implemented a new snapshot type since, AFAICT, updateable cursors
have a type of tuple visibility. Namely, if the base table of a cursor is
updated based on that cursor, the new and old tuples are removed from the
cursor's set of visible tuples. Like wise, deleted tuples are also
removed.

Thanks,

Gavin

Attachment

pgsql-patches by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: Minor pager corrections in print.c and help.c (psql)
Next
From: Bruce Momjian
Date:
Subject: Re: sslmode patch