pgsql: Extend ExecMakeFunctionResult() to support set-returning
От | tgl@postgresql.org (Tom Lane) |
---|---|
Тема | pgsql: Extend ExecMakeFunctionResult() to support set-returning |
Дата | |
Msg-id | 20081028220206.171D47545A4@cvs.postgresql.org обсуждение исходный текст |
Список | 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 по дате отправления: