Обсуждение: Bug #956: plperl vs. plperlu

Поиск
Список
Период
Сортировка

Bug #956: plperl vs. plperlu

От
pgsql-bugs@postgresql.org
Дата:
A.Bhuvaneswaran (bhuvansql@myrealbox.com) reports a bug with a severity of 4
The lower the number the more severe it is.

Short Description
plperl vs. plperlu

Long Description
Hi,

FYI, in 7.3.2, we are unable to create two languages viz, plperl and plperlu since he is trying to create the
function(plperl_call_handler)and the language everytime. Infact it is not documented anywhere in the release. Someone
correctme, if i am wrong. FYI, i have included the output of createlang command. 

regards,
bhuvaneswaran

Sample Code
$ createlang -e -L /usr/lib/postgresql/  -d test_pg 'plperl';
SELECT oid FROM pg_language WHERE lanname = 'plperl';
SELECT oid FROM pg_proc WHERE proname = 'plperl_call_handler' AND prorettype = 0 AND pronargs = 0;
SET autocommit TO 'on';CREATE FUNCTION "plperl_call_handler" () RETURNS LANGUAGE_HANDLER AS
'/usr/lib/postgresql//plperl'LANGUAGE C; 
SET autocommit TO 'on';CREATE TRUSTED LANGUAGE "plperl" HANDLER "plperl_call_handler";
$ createlang -e -L /usr/lib/postgresql/  -d test_pg 'plperlu';
SELECT oid FROM pg_language WHERE lanname = 'plperlu';
SELECT oid FROM pg_proc WHERE proname = 'plperl_call_handler' AND prorettype = 0 AND pronargs = 0;
SET autocommit TO 'on';CREATE FUNCTION "plperl_call_handler" () RETURNS LANGUAGE_HANDLER AS
'/usr/lib/postgresql//plperl'LANGUAGE C; 
ERROR:  function plperl_call_handler already exists with same argument types
createlang: language installation failed
$


No file was uploaded with this report

Re: Bug #956: plperl vs. plperlu

От
Tom Lane
Дата:
pgsql-bugs@postgresql.org writes:
> FYI, in 7.3.2, we are unable to create two languages viz, plperl and
> plperlu

Wups.  There is code in there to handle that case, but it got broken by
a last-minute 7.3 change.  Here's the patch.

            regards, tom lane


*** src/bin/scripts/createlang.sh~    Fri Oct 18 18:05:36 2002
--- src/bin/scripts/createlang.sh    Sat Apr 26 11:19:05 2003
***************
*** 256,262 ****
  # ----------
  # Check whether the call handler exists
  # ----------
! sqlcmd="SELECT oid FROM pg_proc WHERE proname = '$handler' AND prorettype = 0 AND pronargs = 0;"
  if [ "$showsql" = yes ]; then
      echo "$sqlcmd"
  fi
--- 256,262 ----
  # ----------
  # Check whether the call handler exists
  # ----------
! sqlcmd="SELECT oid FROM pg_proc WHERE proname = '$handler' AND prorettype = (SELECT oid FROM pg_type WHERE typname =
'language_handler')AND pronargs = 0;" 
  if [ "$showsql" = yes ]; then
      echo "$sqlcmd"
  fi

Re: Bug #956: plperl vs. plperlu

От
"A.Bhuvaneswaran"
Дата:
> > FYI, in 7.3.2, we are unable to create two languages viz, plperl and
> > plperlu
>
> Wups.  There is code in there to handle that case, but it got broken by
> a last-minute 7.3 change.  Here's the patch.
>

After applying the patch, i am able to create two languages viz, plperl
and plperlu.

Thank you.

regards,
bhuvaneswaran