Re: [HACKERS] plpython trigger code is wrong (Re: Potential bug -- script that drops postgres server)
От | Bradley McLean |
---|---|
Тема | Re: [HACKERS] plpython trigger code is wrong (Re: Potential bug -- script that drops postgres server) |
Дата | |
Msg-id | 20030215024539.GA1541@nia.bradm.net обсуждение исходный текст |
Ответ на | plpython trigger code is wrong (Re: Potential bug -- script that drops postgres server) (Tom Lane <tgl@sss.pgh.pa.us>) |
Список | pgsql-general |
* Tom Lane (tgl@sss.pgh.pa.us) [030214 19:35]: > Lance Thomas <LThomas@DevIS.com> writes: > > Below is something that may be of interest -- a short, 7-statement script > > that seems to drop my postgres server. > > It appears that the plpython trigger implementation assumes that any > given procedure will be used as a trigger for only one relation. The > reason it crashes is it's trying to use the rowtype info of the relation > it was first compiled for with the other relation. > > Probably the easiest fix is to include the relation OID as part of the > Python name of a trigger procedure, so that a separate copy is compiled > for each relation the procedure is used with. Interesting idea. I had been taking the approach of applying the cache to just the python compilation, and not the rowtype info. This has a substantial performance penalty, which I'd been addressing by eliminating some unneeded parameter processing that doesn't apply in the trigger case, and considering a separate cache for each rowtype. > Any plpython users want to step forward and fix this? I have other > things on my plate ... I'm looking at the bug right now. Patch in a day or so. -Brad
В списке pgsql-general по дате отправления: