Improve plpgsql's ability to cope with rowtypes containing dropped columns,
authorTom Lane <tgl@sss.pgh.pa.us>
Thu, 6 Aug 2009 20:44:32 +0000 (20:44 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Thu, 6 Aug 2009 20:44:32 +0000 (20:44 +0000)
commit64faa8379372e2fd06c1cd128cb4d88f15900968
tree84222dbba7d41b0f1abdb48b67599d7b4290beb6
parent5e1343609ade5a63f3cf2e1bbacad56136877f6c
Improve plpgsql's ability to cope with rowtypes containing dropped columns,
by supporting conversions in places that used to demand exact rowtype match.

Since this issue is certain to come up elsewhere (in fact, already has,
in ExecEvalConvertRowtype), factor out the support code into new core
functions for tuple conversion.  I chose to put these in a new source
file since heaptuple.c is already overly long.

Heavily revised version of a patch by Pavel Stehule.
src/backend/access/common/Makefile
src/backend/access/common/tupconvert.c [new file with mode: 0644]
src/backend/executor/execQual.c
src/include/access/tupconvert.h [new file with mode: 0644]
src/include/nodes/execnodes.h
src/pl/plpgsql/src/nls.mk
src/pl/plpgsql/src/pl_exec.c
src/test/regress/expected/plpgsql.out
src/test/regress/sql/plpgsql.sql