In response to Alvaro Herrera's message from today I've split the PL/Tcl table function patch into three separate,
easier-to-digestpatches. (Thanks for the quick response, Alvaro.)
The first patch, pltcl-karl-try2-1-of-3-pgindent.patch, does nothing but conform HEAD's pltcl.c with pgindent.
Applyingthis patch should have exactly the same effect as running
src/tools/pgindent/pgindent src/tools/pgindent/typedefs.list src/pl/tcl/pltcl.c
The second patch, pltcl-karl-try2-2-of-3-objects.patch, should be applied after the first, and updates PL/Tcl to use
theTcl "Tcl object" C API, the preferred way of interacting with Tcl from C since Tcl 8.0 was released in 1997.
The third patch, pltcl-karl-try2-3-of-3-setof.patch, builds on the above to add both the "return_next" command for
returningmultiple rows in a SETOF-returning function and to add using "return" with a list of key-value pairs for
functionsreturning a non-SETOF record.
On Dec 28, 2010, at 12:12 PM, Alvaro Herrera wrote:
> Excerpts from Karl Lehenbauer's message of mar dic 28 12:33:42 -0300 2010:
>> Project name: Add table function support to PL/Tcl (Todo item)
>>
>> What the patch does:
>>
>> This patch adds table function support (returning record and SETOF record)
>> to PL/Tcl. This patch also updates PL/Tcl to use the Tcl object-style
>> interface instead of the older string-style one, increasing performance.
>
> While I don't use PL/Tcl myself, this seems a reasonable idea. However,
> I think this patch does too many things in one step. It also contains
> numerous superfluous whitespace changes that make it hard to assess its
> real size.
>
> I'd recommend splitting it up and dropping the whitespace changes (which
> would be reverted by pgindent anyway).
>
> --
> Álvaro Herrera <alvherre@commandprompt.com>
> The PostgreSQL Company - Command Prompt, Inc.
> PostgreSQL Replication, Consulting, Custom Development, 24x7 support