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
+ If your life is a hard drive, Christ can be your backup. +
---------------------------(end of broadcast)---------------------------
TIP 4: Have you searched our list archives?