Re: Set-returning function syntax - Mailing list pgsql-hackers

From Tom Lane
Subject Re: Set-returning function syntax
Date
Msg-id 25161.1021767468@sss.pgh.pa.us
Whole thread Raw
In response to Re: Set-returning function syntax  (Tatsuo Ishii <t-ishii@sra.co.jp>)
Responses Re: Set-returning function syntax  (Tatsuo Ishii <t-ishii@sra.co.jp>)
List pgsql-hackers
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


pgsql-hackers by date:

Previous
From: Tatsuo Ishii
Date:
Subject: Re: Set-returning function syntax
Next
From: Joe Conway
Date:
Subject: Re: Set-returning function syntax