C Functions, datatypes

Started by A Palmbladalmost 22 years ago3 messagesgeneral
Jump to latest
#1A Palmblad
adampalmblad@yahoo.ca

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

#2Karel Zak
zakkr@zf.jcu.cz
In reply to: A Palmblad (#1)
Re: C Functions, datatypes

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/

#3Joe Conway
mail@joeconway.com
In reply to: A Palmblad (#1)
Re: C Functions, datatypes

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