pgsql: Extend ExecMakeFunctionResult() to support set-returning - Mailing list pgsql-committers

From tgl@postgresql.org (Tom Lane)
Subject pgsql: Extend ExecMakeFunctionResult() to support set-returning
Date
Msg-id 20081028220206.171D47545A4@cvs.postgresql.org
Whole thread Raw
List pgsql-committers
Log Message:
-----------
Extend ExecMakeFunctionResult() to support set-returning functions that return
via a tuplestore instead of value-per-call.  Refactor a few things to reduce
ensuing code duplication with nodeFunctionscan.c.  This represents the
reasonably noncontroversial part of my proposed patch to switch SQL functions
over to returning tuplestores.  For the moment, SQL functions still do things
the old way.  However, this change enables PL SRFs to be called in targetlists
(observe changes in plperl regression results).

Modified Files:
--------------
    pgsql/contrib/tablefunc:
        tablefunc.c (r1.53 -> r1.54)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/contrib/tablefunc/tablefunc.c?r1=1.53&r2=1.54)
    pgsql/doc/src/sgml:
        plpgsql.sgml (r1.134 -> r1.135)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/plpgsql.sgml?r1=1.134&r2=1.135)
    pgsql/src/backend/executor:
        execQual.c (r1.233 -> r1.234)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/executor/execQual.c?r1=1.233&r2=1.234)
        execTuples.c (r1.102 -> r1.103)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/executor/execTuples.c?r1=1.102&r2=1.103)
        nodeFunctionscan.c (r1.47 -> r1.48)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/executor/nodeFunctionscan.c?r1=1.47&r2=1.48)
    pgsql/src/backend/utils/fmgr:
        README (r1.13 -> r1.14)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/fmgr/README?r1=1.13&r2=1.14)
    pgsql/src/include/executor:
        executor.h (r1.149 -> r1.150)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/executor/executor.h?r1=1.149&r2=1.150)
        tuptable.h (r1.38 -> r1.39)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/executor/tuptable.h?r1=1.38&r2=1.39)
    pgsql/src/include/nodes:
        execnodes.h (r1.191 -> r1.192)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/nodes/execnodes.h?r1=1.191&r2=1.192)
    pgsql/src/pl/plperl/expected:
        plperl.out (r1.13 -> r1.14)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/pl/plperl/expected/plperl.out?r1=1.13&r2=1.14)

pgsql-committers by date:

Previous
From: tgl@postgresql.org (Tom Lane)
Date:
Subject: pgsql: Change WorkTableScan to not support backward scan.
Next
From: tgl@postgresql.org (Tom Lane)
Date:
Subject: pgsql: Be more tense about not creating tuplestores with randomAccess =