Re: Plperl return_next and bytea binary data? - Mailing list pgsql-general

From Philippe Lang
Subject Re: Plperl return_next and bytea binary data?
Date
Msg-id 6C0CF58A187DA5479245E0830AF84F421D0F78@poweredge.attiksystem.ch
Whole thread Raw
In response to Plperl return_next and bytea binary data?  ("Philippe Lang" <philippe.lang@attiksystem.ch>)
List pgsql-general
Martijn van Oosterhout wrote:

> On Mon, Jul 24, 2006 at 11:43:39AM +0200, Philippe Lang wrote:
>> The problem seems to come from the return_next, in conjunction with
>> binary data:
>>
>> ------------------------------------
>>     return_next
>>     (
>>         {
>>             val => $_[0] * $_[1],
>>             image => $im->gif()
>>         }
>>     );
>> ------------------------------------
>
> I don't know exact how pl/perl works, but given that it has
> no idea what type the data is, chances are it's passing it
> through cstring-to-text conversion. You probably want to
> force it to return bytea or some such (without going through
> cstring-to-bytea conversion hopefully). I don't see a way to
> do it in the documentation though...

Casting $im->gif() to bytea with $im->gif()::bytea does not help. It even makes things slightly worse: the image
returned(ethereal sniff) is completely empty, where before it was filled with the first characters "GIF89ad" of the
image.

Still searching...

Philippe

Attachment

pgsql-general by date:

Previous
From: Tom Lane
Date:
Subject: Re: Does a GRANT on a table cascade/implied to its SEQUENCES
Next
From: Richard Huxton
Date:
Subject: Re: sequences vs oids as primary keys