From: | Joe Conway <mail(at)joeconway(dot)com> |
---|---|
To: | busby(at)pnts(dot)com |
Cc: | pgsql-general(at)postgresql(dot)org |
Subject: | Re: Creating a Function with C that returns bytea |
Date: | 2002-07-09 16:33:28 |
Message-ID: | 3D2B1058.7060404@joeconway.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
David Busby wrote:
> List,
> I'm building this function in C that will return a bytea (hopefully)
> and
> cannot get it to return the bytea value. Am I missing something really
> simple
>
>
> My code is similar to this:
>
> #include <necessary files>
> bytea *func() {
> bytea *x = palloc(36);
> // code to load the 36 bytes here
> return x;
> }
>
To be helpful, we probably need more detail, but you should start with
section "12.5.4. Version-1 Calling Conventions for C-Language Functions" at:
http://www.postgresql.org/idocs/index.php?xfunc-c.html
You want to use "PG_RETURN_BYTEA_P(x)" to return bytea data from a user
function. Look at the "copytext(PG_FUNCTION_ARGS)" for an example of how
to deal with the size header.
HTH,
Joe
From | Date | Subject | |
---|---|---|---|
Next Message | Joe Conway | 2002-07-09 16:36:47 | Re: Returning bytea* from a C function |
Previous Message | Oliver Elphick | 2002-07-09 16:30:52 | Re: (A) native Windows port |