pgsql: Extend ExecMakeFunctionResult() to support set-returning

From: tgl(at)postgresql(dot)org (Tom Lane)
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Extend ExecMakeFunctionResult() to support set-returning
Date: 2008-10-28 22:02:06
Message-ID: 20081028220206.171D47545A4@cvs.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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)

Browse pgsql-committers by date

  From Date Subject
Next Message Tom Lane 2008-10-29 00:00:39 pgsql: Be more tense about not creating tuplestores with randomAccess =
Previous Message Simon Riggs 2008-10-28 20:49:52 Re: Re: [COMMITTERS] pgsql: Rework subtransaction commit protocol for hot standby.