Re: PLPerl not installed correctly?

From: "Daniel Hutchison" <daniel(dot)hutchison(at)verizon(dot)net>
To: <mladen(dot)gogala(at)vmsinfo(dot)com>
Cc: <pgsql-novice(at)postgresql(dot)org>
Subject: Re: PLPerl not installed correctly?
Date: 2010-04-22 16:00:24
Message-ID: 00ae01cae234$ebdc4aa0$c394dfe0$@hutchison@verizon.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-novice

Yes, I tried it that way as well. Same problem! Thanks for the suggestion,
however.

-----Original Message-----
From: pgsql-novice-owner(at)postgresql(dot)org
[mailto:pgsql-novice-owner(at)postgresql(dot)org] On Behalf Of Mladen Gogala
Sent: Thursday, April 22, 2010 9:14 AM
To: Daniel(dot)Hutchison(at)rokaconsulting(dot)com
Cc: pgsql-novice(at)postgresql(dot)org
Subject: Re: [NOVICE] PLPerl not installed correctly?

Daniel Hutchison wrote:
>
> I've been experiencing problems getting any plperl function working,
> and I believe the problem lies in the actual plperl installation not
> due to my rusty perl memories. For example, the very simple plperl
> example in the comprehensive documentation (at
> http://www.postgresql.org/docs/8.4/interactive/plperl-funcs.html):
>
> CREATE FUNCTION perl_max (integer, integer) RETURNS integer AS $$
>
> if ($_[0] > $_[1]) { return $_[0]; }
>
> return $_[1];
>
> $$ LANGUAGE plperl;
>
> Returns something odd (at least to me, also with little postgresql
> experience):
>
> prod1=> select perl_max(1,2);
>
> ERROR: invalid input syntax for integer: "CODE(0x1f6d13c)"
>
> I have seen something similar to "CODE(0x...)" show up in other
> programs, but because the input parameter on those was TEXT I didn't
> get an error... the program just behaved very confusingly until I
> realized that the correct text input was being replaced with
> "CODE(0x...)". At least in this example, I get an actual error because
> the input variable doesn't match type.
>
> Thanks for any help you can tell me on how to fix this!
>
> Daniel
>
> My Environment:
>
> PostgreSQL: \set: "VERSION = 'PostgreSQL 8.4.3, compiled by Visual C++
> build 1400, 32-bit'"
>
> OS: Windows Vista laptop (only for development purposes, I swear ;) )
>
> ActivePerl: perl -v: "This is perl, v5.10.1 built for
> MSWin32-x86-multi-thread"
>

mgogala=# create function perl_max(integer,integer) RETURNS integer AS $$
mgogala$# ($x,$y)=(at)_;
mgogala$# ($x>$y)? return $x : return $y;
mgogala$# $$ LANGUAGE plperl;
CREATE FUNCTION

mgogala=# select perl_max(1,2);
perl_max
----------
2
(1 row)

Time: 27.411 ms

--
Mladen Gogala
Sr. Oracle DBA
1500 Broadway
New York, NY 10036
(212) 329-5251
www.vmsinfo.com

In response to

Browse pgsql-novice by date

  From Date Subject
Next Message Tom Lane 2010-04-22 22:16:55 Re: set default: question
Previous Message Mladen Gogala 2010-04-22 13:14:20 Re: PLPerl not installed correctly?