Here's a patch implementing table functions mentioned in
an incremental patch on top of the plpython-refactor patch sent eariler.
Git branch for this patch:
This allows functions with multiple OUT parameters returning both one or
multiple records (RECORD or SETOF RECORD). There's one inconvenience,
which is that if you return a record that has fields of composite types,
the I/O functions for these types will be looked up on each execution.
Changing that would require some juggling of the PL/Python structures,
so I just left it at that.
Note that returning just the composite type (or a set of them) does
cache the I/O funcs. You get the repeated lookups only if the function
returns an unnamed record, that has composite field among others, so
CREATE FUNCTION x(OUT x table_type, OUT y integer) RETURNS RECORD
which I think is fairly uncommon.
pgsql-hackers by date
|Next:||From: Kenneth Marshall||Date: 2010-12-23 14:03:00|
|Subject: Re: Why is sorting on two columns so slower than sortingon one column?|
|Previous:||From: Jan Urbański||Date: 2010-12-23 13:56:03|
|Subject: pl/python tracebacks|