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

plperlu reload external modules

From: sanya-spb(at)mail(dot)ru <sanya-spb(at)mail(dot)ru>
To: pgsql-ru-general <pgsql-ru-general(at)postgresql(dot)org>
Subject: plperlu reload external modules
Date: 2005-12-22 11:59:05
Message-ID: E1EpP69-000Iqd-00.sanya-spb-mail-ru@f44.mail.ru (view raw or flat)
Thread:
Lists: pgsql-ru-general
Доброго время суток 
 
Столкнулся со след. недопониманием: 
имеется вот такая, к примеру, процедурка: 
CREATE OR REPLACE FUNCTION foto.utest(text) 
  RETURNS text AS 
$BODY$ 
use strict; 
use warnings; 
use lib '/usr/.../libs'; 
use lib_foto2; 
return lib_foto2::ptest2(shift); 
END; 
$BODY$ 
  LANGUAGE 'plperlu' VOLATILE 
========================================== 
также, соответственно, в нужном месте модуль: 
package lib_foto2; 
require Exporter; 
use strict; 
use warnings; 
our @ISA = qw(Exporter); 
our @EXPORT = qw(ptest2); 
sub ptest2 { 
	my $result = shift; 
	return '112'.$result; 
} 
1; 
========================================== 
все работает: 
sanya=# select * from foto.utest('nechto1'); 
   utest 
------------ 
 112nechto1 
(1 запись) 
========================================== 
теперь если в модуле сделать изменения, например заменить строку 
	return '112'.$result; 
на 
	return '221'.$result; 
то будет таже картинка: 
sanya=# select * from foto.utest('nechto1'); 
   utest 
------------ 
 112nechto1 
(1 запись) 
до тех пор, пока (видимо) заново не подключиться к базе, только в новом подключении получим: 
sanya=# select * from foto.utest('nechto1'); 
   utest 
------------ 
 221nechto1 
(1 запись) 
========================================== 
========================================== 
отсюда вопросы... 
где толково написано что и как происходит при таком раскладе? и что там вообще происходит? и на каком этапе 
компилируется внешний мой модуль (при запросе или при подключении)? как заставить перекомпилироваться все это хозяйство 
не закрывая подключения к базе?? 
 
Заранее спасибо за любую информацию, с уважением  
 

pgsql-ru-general by date

Next:From: Serik AkhmetovDate: 2006-01-14 11:25:36
Subject: определение размера массива
Previous:From: Alexander M. PravkingDate: 2005-12-16 12:21:54
Subject: Re: некорр

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