pgsql-server: Fix problems with SQL functions returning rowtypes that - Mailing list pgsql-committers

From tgl@svr1.postgresql.org (Tom Lane)
Subject pgsql-server: Fix problems with SQL functions returning rowtypes that
Date
Msg-id 20041007183852.EB99D32A510@svr1.postgresql.org
Whole thread Raw
List pgsql-committers
Log Message:
-----------
Fix problems with SQL functions returning rowtypes that have dropped
columns.  The returned tuple needs to have appropriate NULL columns
inserted so that it actually matches the declared rowtype.  It seemed
convenient to use a JunkFilter for this, so I made some cleanups and
simplifications in the JunkFilter code to allow it to support this
additional functionality.  (That in turn exposed a latent bug in
nodeAppend.c, which is that it was returning a tuple slot whose
descriptor didn't match its data.)  Also, move check_sql_fn_retval
out of pg_proc.c and into functions.c, where it seems to more naturally
belong.

Modified Files:
--------------
    pgsql-server/src/backend/catalog:
        pg_proc.c (r1.119 -> r1.120)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/catalog/pg_proc.c.diff?r1=1.119&r2=1.120)
    pgsql-server/src/backend/executor:
        execJunk.c (r1.43 -> r1.44)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/executor/execJunk.c.diff?r1=1.43&r2=1.44)
        execMain.c (r1.238 -> r1.239)

(http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/executor/execMain.c.diff?r1=1.238&r2=1.239)
        functions.c (r1.89 -> r1.90)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/executor/functions.c.diff?r1=1.89&r2=1.90)
        nodeAppend.c (r1.60 -> r1.61)

(http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/executor/nodeAppend.c.diff?r1=1.60&r2=1.61)
    pgsql-server/src/backend/optimizer/util:
        clauses.c (r1.181 -> r1.182)

(http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/optimizer/util/clauses.c.diff?r1=1.181&r2=1.182)
    pgsql-server/src/include/catalog:
        pg_proc.h (r1.347 -> r1.348)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/include/catalog/pg_proc.h.diff?r1=1.347&r2=1.348)
    pgsql-server/src/include/executor:
        executor.h (r1.113 -> r1.114)

(http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/include/executor/executor.h.diff?r1=1.113&r2=1.114)
        functions.h (r1.22 -> r1.23)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/include/executor/functions.h.diff?r1=1.22&r2=1.23)
    pgsql-server/src/include/nodes:
        execnodes.h (r1.119 -> r1.120)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/include/nodes/execnodes.h.diff?r1=1.119&r2=1.120)

pgsql-committers by date:

Previous
From: mha@pgfoundry.org (User Mha)
Date:
Subject: pginstaller - web: Fix some wording to be more clear and correct.
Next
From: momjian@svr1.postgresql.org (Bruce Momjian)
Date:
Subject: pgsql-server: Add PLperl workaround for Win32 to the *.xs file.