Thread: pgsql: Improve plpgsql's ability to cope with rowtypes containing

pgsql: Improve plpgsql's ability to cope with rowtypes containing

From
tgl@postgresql.org (Tom Lane)
Date:
Log Message:
-----------
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.

Modified Files:
--------------
    pgsql/src/backend/access/common:
        Makefile (r1.25 -> r1.26)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/common/Makefile?r1=1.25&r2=1.26)
    pgsql/src/backend/executor:
        execQual.c (r1.250 -> r1.251)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/executor/execQual.c?r1=1.250&r2=1.251)
    pgsql/src/include/nodes:
        execnodes.h (r1.205 -> r1.206)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/nodes/execnodes.h?r1=1.205&r2=1.206)
    pgsql/src/pl/plpgsql/src:
        nls.mk (r1.9 -> r1.10)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/pl/plpgsql/src/nls.mk?r1=1.9&r2=1.10)
        pl_exec.c (r1.247 -> r1.248)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/pl/plpgsql/src/pl_exec.c?r1=1.247&r2=1.248)
    pgsql/src/test/regress/expected:
        plpgsql.out (r1.72 -> r1.73)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/test/regress/expected/plpgsql.out?r1=1.72&r2=1.73)
    pgsql/src/test/regress/sql:
        plpgsql.sql (r1.60 -> r1.61)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/test/regress/sql/plpgsql.sql?r1=1.60&r2=1.61)

Added Files:
-----------
    pgsql/src/backend/access/common:
        tupconvert.c (r1.1)

(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/common/tupconvert.c?rev=1.1&content-type=text/x-cvsweb-markup)
    pgsql/src/include/access:
        tupconvert.h (r1.1)

(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/access/tupconvert.h?rev=1.1&content-type=text/x-cvsweb-markup)