Heikki Linnakangas wrote:
> Bruce Momjian wrote:
> > Heikki, I found something odd in your patch.  You had an extra
> > parentheses at the end of the line in the orginal and new version of the
> > patch (attached).  I removed it before applying, but I just wanted to
> > confirm this was OK.
> Looking at the CVS history, it looks like Tom changed that piece of code 
> recently in this commit:
> > revision 1.110
> > date: 2007-01-30 22:05:12 +0000;  author: tgl;  state: Exp;  lines: +88 -21;
> > Repair oversights in the mechanism used to store compiled plpgsql functions.
> > The original coding failed (tried to access deallocated memory) if there 
> > were
> > two active call sites (fn_extra pointers) for the same function and the
> > function definition was updated.  Also, if an update of a recursive function
> > was detected upon nested entry to the function, the existing compiled 
> > version
> > was summarily deallocated, resulting in crash upon return to the outer
> > instance.  Problem observed while studying a bug report from Sergiy
> > Vyshnevetskiy.
> > 
> > Bug does not exist before 8.1 since older versions just leaked the memory of
> > obsoleted compiled functions, rather than trying to reclaim it.
> Note that the condition in the if-clause is now the other way round, and 
> the delete_function call is now in the else-branch. Did you get that 
> right in your commit?

No, I did not see that, but I see it now.  I haven't committed anything
yet.  I will research that and get it right.

  Bruce Momjian  <[EMAIL PROTECTED]>          http://momjian.us
  EnterpriseDB                               http://www.enterprisedb.com

  + If your life is a hard drive, Christ can be your backup. +

---------------------------(end of broadcast)---------------------------
TIP 4: Have you searched our list archives?


Reply via email to