Attached is a patch implementing updatable cursors in HEAD. Regression
test and documentation are included.

Updateable cursors are used as follows:

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;

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



Attachment: wherecur2.diff.gz
Description: GNU Zip compressed data

---------------------------(end of broadcast)---------------------------
TIP 8: explain analyze is your friend

Reply via email to