Using a composite SQL type in C - Mailing list pgsql-general

From Dan \"Heron\" Myers
Subject Using a composite SQL type in C
Date
Msg-id 48223B5C.9060109@xnapid.com
Whole thread Raw
In response to Custom Base Type in C  ("Toby Chavez" <odnamr@gmail.com>)
Responses Re: Using a composite SQL type in C  ("Toby Chavez" <odnamr@gmail.com>)
List pgsql-general
I have a type defined in SQL:

CREATE TYPE text_info AS (str text, id integer);

I'd like to use this type as the aggregate type in an aggregate function:

CREATE FUNCTION foobar(text_info,integer,text,text) RETURNS text_info AS
'$libdir/plugins/mylib.dll', 'foobar' LANGUAGE C;

CREATE AGGREGATE foobar(integer,text,text) (SFUNC = foobar, STYPE =
text_info);

My problem is, how do I access this type in my function (in C), and how
do I create a new object of this type to return from the function?  I
need to store both a text and an int, to avoid doing an extra query
around the result of this aggregate (to get the corresponding text
value), which is what I'm currently doing.  Any ideas?

Thanks,
Dan

pgsql-general by date:

Previous
From: Alvaro Herrera
Date:
Subject: Re: Custom Base Type in C
Next
From: "Toby Chavez"
Date:
Subject: Re: Custom Base Type in C