From: | Herouth Maoz <herouth(at)unicell(dot)co(dot)il> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | pgsql-general(at)postgresql(dot)org |
Subject: | Re: Is there a way to use "pack" in pl/perl without resorting to pl/perlu? |
Date: | 2012-09-12 16:45:24 |
Message-ID: | 7216CCB6-CDA2-4E1B-9BDE-ECD912CD7854@unicell.co.il |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
Thanks. I was hoping there was a way to enable individual operators through the postgresql configuration file or something.
Anyway, I replaced the functionality with $content =~ s/([a-fA-F0-9]{2})/chr(hex($1))/eg; which seems to be doing the same thing as unpack( "H*", $content ), which is basically what I needed for the time being. I suspect it's less efficient than unpack, and I hope the function I created won't be too slow for use inside a trigger.
Thanks,
Herouth
On 12/09/2012, at 17:47, Tom Lane wrote:
> Herouth Maoz <herouth(at)unicell(dot)co(dot)il> writes:
>> I created a function that does some heavy string manipulation, so I needed to use pl/perl rather than pl/pgsql.
>> I'm not experienced in perl, but the function works well when used as an independent perl subroutine - it depends only on its arguments. I use the Encode package (in postgresql configuration).
>
>> But my use of the "pack" function causes a Safe error. Apparently "pack" and "unpack" are in the operator mask.
>
>> Is there any way to remove them from that mask?
>
> My recollection is that they're intentionally excluded because they
> would otherwise be security holes --- there are some format codes that
> allow direct access to memory, or something like that.
>
> regards, tom lane
--
חרות מעוז
יוניסל פתרונות סלולריים מתקדמים
☎ 03-5181717 שלוחה 742
From | Date | Subject | |
---|---|---|---|
Next Message | Edson Richter | 2012-09-12 17:21:52 | Re: Compressed binary field |
Previous Message | Devrim GUNDUZ | 2012-09-12 16:18:53 | Re: CentOS initd Script |