pgsql: Make SELECT FOR UPDATE/SHARE work on inheritance trees, by having - Mailing list pgsql-committers

From tgl@postgresql.org (Tom Lane)
Subject pgsql: Make SELECT FOR UPDATE/SHARE work on inheritance trees, by having
Date
Msg-id 20081115194347.2958F7545A4@cvs.postgresql.org
Whole thread Raw
Responses Re: pgsql: Make SELECT FOR UPDATE/SHARE work on inheritance trees, by having  (Bruce Momjian <bruce@momjian.us>)
List pgsql-committers
Log Message:
-----------
Make SELECT FOR UPDATE/SHARE work on inheritance trees, by having the plan
return the tableoid as well as the ctid for any FOR UPDATE targets that
have child tables.  All child tables are listed in the ExecRowMark list,
but the executor just skips the ones that didn't produce the current row.

Curiously, this longstanding restriction doesn't seem to have been documented
anywhere; so no doc changes.

Modified Files:
--------------
    pgsql/src/backend/executor:
        execMain.c (r1.315 -> r1.316)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/executor/execMain.c?r1=1.315&r2=1.316)
    pgsql/src/backend/nodes:
        copyfuncs.c (r1.411 -> r1.412)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/nodes/copyfuncs.c?r1=1.411&r2=1.412)
        equalfuncs.c (r1.336 -> r1.337)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/nodes/equalfuncs.c?r1=1.336&r2=1.337)
        outfuncs.c (r1.344 -> r1.345)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/nodes/outfuncs.c?r1=1.344&r2=1.345)
        readfuncs.c (r1.216 -> r1.217)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/nodes/readfuncs.c?r1=1.216&r2=1.217)
    pgsql/src/backend/optimizer/path:
        allpaths.c (r1.176 -> r1.177)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/path/allpaths.c?r1=1.176&r2=1.177)
    pgsql/src/backend/optimizer/prep:
        preptlist.c (r1.93 -> r1.94)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/prep/preptlist.c?r1=1.93&r2=1.94)
        prepunion.c (r1.161 -> r1.162)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/prep/prepunion.c?r1=1.161&r2=1.162)
    pgsql/src/backend/parser:
        analyze.c (r1.382 -> r1.383)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/parser/analyze.c?r1=1.382&r2=1.383)
    pgsql/src/backend/rewrite:
        rewriteManip.c (r1.117 -> r1.118)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/rewrite/rewriteManip.c?r1=1.117&r2=1.118)
    pgsql/src/include/catalog:
        catversion.h (r1.507 -> r1.508)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/catversion.h?r1=1.507&r2=1.508)
    pgsql/src/include/nodes:
        execnodes.h (r1.194 -> r1.195)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/nodes/execnodes.h?r1=1.194&r2=1.195)
        parsenodes.h (r1.377 -> r1.378)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/nodes/parsenodes.h?r1=1.377&r2=1.378)
    pgsql/src/test/regress/expected:
        portals.out (r1.17 -> r1.18)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/test/regress/expected/portals.out?r1=1.17&r2=1.18)
    pgsql/src/test/regress/sql:
        portals.sql (r1.14 -> r1.15)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/test/regress/sql/portals.sql?r1=1.14&r2=1.15)

pgsql-committers by date:

Previous
From: tgl@postgresql.org (Tom Lane)
Date:
Subject: pgsql: Document a gotcha that happens on Windows when using libpq's new
Next
From: petere@postgresql.org (Peter Eisentraut)
Date:
Subject: pgsql: Fix crash of xmlconcat(NULL) also backpatched to 8.3