Thread: pgsql: Modify UPDATE/DELETE WHERE CURRENT OF to use the FOR UPDATE

pgsql: Modify UPDATE/DELETE WHERE CURRENT OF to use the FOR UPDATE

From
tgl@postgresql.org (Tom Lane)
Date:
Log Message:
-----------
Modify UPDATE/DELETE WHERE CURRENT OF to use the FOR UPDATE infrastructure to
locate the target row, if the cursor was declared with FOR UPDATE or FOR
SHARE.  This approach is more flexible and reliable than digging through the
plan tree; for instance it can cope with join cursors.  But we still provide
the old code for use with non-FOR-UPDATE cursors.  Per gripe from Robert Haas.

Modified Files:
--------------
    pgsql/doc/src/sgml:
        plpgsql.sgml (r1.135 -> r1.136)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/plpgsql.sgml?r1=1.135&r2=1.136)
    pgsql/doc/src/sgml/ref:
        declare.sgml (r1.44 -> r1.45)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/ref/declare.sgml?r1=1.44&r2=1.45)
        delete.sgml (r1.34 -> r1.35)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/ref/delete.sgml?r1=1.34&r2=1.35)
        update.sgml (r1.47 -> r1.48)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/ref/update.sgml?r1=1.47&r2=1.48)
    pgsql/src/backend/executor:
        execCurrent.c (r1.7 -> r1.8)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/executor/execCurrent.c?r1=1.7&r2=1.8)
        execMain.c (r1.316 -> r1.317)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/executor/execMain.c?r1=1.316&r2=1.317)
    pgsql/src/include/nodes:
        execnodes.h (r1.195 -> r1.196)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/nodes/execnodes.h?r1=1.195&r2=1.196)
    pgsql/src/test/regress/expected:
        portals.out (r1.18 -> r1.19)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/test/regress/expected/portals.out?r1=1.18&r2=1.19)
    pgsql/src/test/regress/sql:
        portals.sql (r1.15 -> r1.16)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/test/regress/sql/portals.sql?r1=1.15&r2=1.16)