Skip site navigation (1) Skip section navigation (2)

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 (view raw or flat)
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

pgsql-novice by date

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

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group