Tatsuo Ishii <t-ishii@sra.co.jp> writes:
> Does your SRF function allow to return a setof composite data type
> using C function? If so, how can I write such that C function?
The "setof" part is documented in src/backend/utils/fmgr/README.
There's no good documentation for returning tuples at the moment,
but basically you return a pointer to a TupleTableSlot. (Re-use
the same slot on each call to avoid memory leakage.) There's an
example in src/backend/executor/functions.c --- look at the uses
of funcSlot.
One reason this isn't documented is that it's really ugly. It might
be a good idea to change it before we start having lots of user-written
code that depends on it ...
regards, tom lane