Thread: C Functions, datatypes

C Functions, datatypes

From
"A Palmblad"
Date:
I'm writing a function in C, and am trying to return a row, containing Numeric and array types.  I'm building the row with heap_formtuple.  I'm having trouble creating the numeric and array Datums.  If anyone has some example code illustrating this, that'd be great.
-Adam

Re: C Functions, datatypes

From
Karel Zak
Date:
On Mon, May 03, 2004 at 12:48:19PM -0700, A Palmblad wrote:

> I'm writing a function in C, and am trying to return a row, containing
> Numeric and  array types.  I'm  building the row  with heap_formtuple.
> I'm having trouble  creating the numeric and array  Datums.  If anyone
> has some example code illustrating this, that'd be great.  -Adam

 I think best examples you can found in the pgsql/src/backend/utils/adt
 directory where is almost all PostgreSQL code with datatypes.

    Karel

--
 Karel Zak  <zakkr@zf.jcu.cz>
 http://home.zf.jcu.cz/~zakkr/

Re: C Functions, datatypes

From
Joe Conway
Date:
A Palmblad wrote:
> I'm writing a function in C, and am trying to return a row,
> containing Numeric and array types.  I'm building the row with
> heap_formtuple.  I'm having trouble creating the numeric and array
> Datums.  If anyone has some example code illustrating this, that'd be
> great.

See PL/R for examples:
   http://www.joeconway.com/plr/

Specifically:

   plr.c:do_compile()
     gathering required information for input conversion of return values

   pg_conversion.c:get_scalar_datum()
     conversion from (char *value) to Datum using the gathered info for
     scalar return datums

   pg_conversion.c:get_generic_array_datum()
     conversion from multiple (char *values) to Datum using the gathered
     info for array return datums

HTH,

Joe