Re: plpython error since upgrading from 7.x to 8.x - Mailing list pgsql-general

From Michael Fuhr
Subject Re: plpython error since upgrading from 7.x to 8.x
Date
Msg-id 20050525214802.GB69317@winnie.fuhr.org
Whole thread Raw
In response to Re: plpython error since upgrading from 7.x to 8.x  (CSN <cool_screen_name90001@yahoo.com>)
List pgsql-general
On Wed, May 25, 2005 at 12:02:22PM -0700, CSN wrote:
>
> It happens when I try to insert rows:
>
> insert into table1 (col1, col2, col3) values (val1,
> val2, val3);
>
> I have an insert/update trigger on that table, and the
> plpythonu function just sends a notification email.
> Here's the function:
>
>
> if TD["new"]["active"] != TD["old"]["active"]:

Without a complete, self-contained example that succeeds in one
version of PostgreSQL and fails in another, we still have to guess
at what's going on.  By "complete, self-contained example" I mean
a sequence of SQL statements that anybody could load into an empty
database and get the same results that you get.  When putting
together such an example, it's a good idea to reduce it as much as
possible, i.e., keep removing things until you can't possibly make
the example smaller and still get the behavior in question.  Aside
from making it easier for others to focus on the problem, sometimes
the act of reducing the problem can help you find the problem on
your own.

My first guess would be that you're getting an error because when
the event is INSERT, TD["old"] is None and thus unsubscriptable.
But if that's the case then I'm not sure why the version of PostgreSQL
would matter, and without seeing a complete example I'm not convinced
that it does.  Do you still get the error if you check if TD["event"]
is "UPDATE" before trying to use TD["old"]?

--
Michael Fuhr
http://www.fuhr.org/~mfuhr/

pgsql-general by date:

Previous
From: Robert Treat
Date:
Subject: Re: PostgreSQL release schedule
Next
From: Tom Lane
Date:
Subject: Re: Compiling Postgresql 8.0.3 on Solaris 10