plpython trigger code is wrong (Re: Potential bug -- script that drops postgres server)

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Lance Thomas <LThomas(at)DevIS(dot)com>
Cc: pgsql-general(at)postgreSQL(dot)org, pgsql-hackers(at)postgreSQL(dot)org
Subject: plpython trigger code is wrong (Re: Potential bug -- script that drops postgres server)
Date: 2003-02-15 00:33:33
Message-ID: 12501.1045269213@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general pgsql-hackers

Lance Thomas <LThomas(at)DevIS(dot)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.

Any plpython users want to step forward and fix this? I have other
things on my plate ...

regards, tom lane

PS: I haven't tested, but I wonder whether any of our other PLs have the
same bug.

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Justin Clift 2003-02-15 00:36:04 Re: Dropping column silently kills multi-coumn index (was
Previous Message Bruce Momjian 2003-02-15 00:17:43 Re: Dropping column silently kills multi-coumn index (was

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2003-02-15 00:39:36 Re: client_encoding directive is ignored in
Previous Message Bruce Momjian 2003-02-15 00:24:12 Re: [HACKERS] Linux.conf.au 2003 Report