Re: [pgsql-patches] Phantom Command IDs, updated patch
От | Bruce Momjian |
---|---|
Тема | Re: [pgsql-patches] Phantom Command IDs, updated patch |
Дата | |
Msg-id | 200702081651.l18GpBq16764@momjian.us обсуждение исходный текст |
Ответ на | Re: [pgsql-patches] Phantom Command IDs, updated patch (Heikki Linnakangas <heikki@enterprisedb.com>) |
Список | pgsql-patches |
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 <bruce@momjian.us> http://momjian.us EnterpriseDB http://www.enterprisedb.com + If your life is a hard drive, Christ can be your backup. +
В списке pgsql-patches по дате отправления: