Ah, you're right. The function appears to only cause an error on inserts and not updates. Thanks for pointing that out (I'm really green at Python). CSN --- Michael Fuhr <mike@xxxxxxxx> wrote: > 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/ > __________________________________ Do you Yahoo!? Yahoo! Small Business - Try our new Resources site http://smallbusiness.yahoo.com/resources/ ---------------------------(end of broadcast)--------------------------- TIP 4: Don't 'kill -9' the postmaster