Re: BUG #5066: plperl issues with perl_destruct() and END blocks
| От | David Fetter |
|---|---|
| Тема | Re: BUG #5066: plperl issues with perl_destruct() and END blocks |
| Дата | |
| Msg-id | 20090921181713.GL31599@fetter.org обсуждение исходный текст |
| Ответ на | Re: BUG #5066: plperl issues with perl_destruct() and END blocks (Alvaro Herrera <alvherre@commandprompt.com>) |
| Ответы |
Re: BUG #5066: plperl issues with perl_destruct() and END
blocks
Re: BUG #5066: plperl issues with perl_destruct() and END blocks |
| Список | pgsql-bugs |
On Mon, Sep 21, 2009 at 01:06:17PM -0400, Alvaro Herrera wrote: > 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. This is not quite what I meant. Let's say we have two or more different PL/Perl functions executed over the course of a backend. Which one's END block gets executed last? Do we need to warn people about this? Generate a WARNING, even? Cheers, David. -- David Fetter <david@fetter.org> http://fetter.org/ Phone: +1 415 235 3778 AIM: dfetter666 Yahoo!: dfetter Skype: davidfetter XMPP: david.fetter@gmail.com Remember to vote! Consider donating to Postgres: http://www.postgresql.org/about/donate
В списке pgsql-bugs по дате отправления: