Re: BUG #5066: plperl issues with perl_destruct() and END blocks - Mailing list pgsql-bugs

From Alvaro Herrera
Subject Re: BUG #5066: plperl issues with perl_destruct() and END blocks
Date
Msg-id 20090921170617.GL29793@alvh.no-ip.org
Whole thread Raw
In response to Re: BUG #5066: plperl issues with perl_destruct() and END blocks  (David Fetter <david@fetter.org>)
Responses Re: BUG #5066: plperl issues with perl_destruct() and END blocks  (David Fetter <david@fetter.org>)
List pgsql-bugs
David Fetter escribió:
> On Mon, Sep 21, 2009 at 12:06:30PM -0400, Alvaro Herrera wrote:
> > David Fetter escribió:
> >
> > > Taken literally, that would mean, "the last action before the
> > > backend exits," but at least to me, that sounds troubling for the
> > > same reasons that "end of transaction" triggers do.  What happens
> > > when there are two different END blocks in a session?
> >
> > The manual is clear that both are executed.
>
> So it is, but does order matter, and if so, how would PostgreSQL know?

The fine manual saith

    You may have multiple "END" blocks within a file--they will execute in
    reverse order of definition; that is: last in, first out (LIFO).

But then, why would we care?  We just call the destructor and Perl
ensures that the blocks are called in the right order.

--
Alvaro Herrera                                http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.

pgsql-bugs by date:

Previous
From: Christine Penner
Date:
Subject: Problem installing Postgres 8.4.1
Next
From: Robert Haas
Date:
Subject: Re: BUG #5066: plperl issues with perl_destruct() and END blocks