pl/perl object destruction (or lack thereof) at session end

From: Toby Corkindale <toby(dot)corkindale(at)strategicdata(dot)com(dot)au>
To: pgsql-general(at)postgresql(dot)org
Subject: pl/perl object destruction (or lack thereof) at session end
Date: 2010-12-09 02:00:55
Message-ID: 4D003857.4010203@strategicdata.com.au
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hi,
Looking at this:
http://www.postgresql.org/docs/9.0/interactive/plperl-under-the-hood.html

Specifically, the "known limitations" part, I see it says:
When a session ends normally, not due to a fatal error,
any END blocks that have been defined are executed.
Currently no other actions are performed. Specifically,
file handles are not automatically flushed and objects are
not automatically destroyed."

So I wondered what implications that has for stored procedures that
create objects? Will the following code cause a memory leak if called
many times, due to the $big object never being destroyed?

CREATE FUNCTION foobar() RETURNS trigger AS $$
use Big::Module;
my $big = Big::Module->new;
$$ LANGUAGE plperlu

Thanks,
Toby

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Toby Corkindale 2010-12-09 02:28:59 Re: pl/perl object destruction (or lack thereof) at session end
Previous Message Toby Corkindale 2010-12-09 01:54:46 pl/perl interpreter instance(s) - how long does it persist?