pgsql: Make SELECT FOR UPDATE/SHARE work on inheritance trees, by having
От | tgl@postgresql.org (Tom Lane) |
---|---|
Тема | pgsql: Make SELECT FOR UPDATE/SHARE work on inheritance trees, by having |
Дата | |
Msg-id | 20081115194347.2958F7545A4@cvs.postgresql.org обсуждение исходный текст |
Ответы |
Re: pgsql: Make SELECT FOR UPDATE/SHARE work on
inheritance trees, by having
|
Список | 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 по дате отправления: