Обсуждение: pgsql: Improve plpgsql's ability to cope with rowtypes containing

Поиск
Список
Период
Сортировка

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

От
tgl@postgresql.org (Tom Lane)
Дата:
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)