| 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: | Whole Thread | Raw Message | 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 |