From: | "Klimt,Bryan" <bryan(dot)klimt(at)dhs(dot)state(dot)tx(dot)us> |
---|---|
To: | pgsql-interfaces(at)postgresql(dot)org |
Subject: | PL/Python problem |
Date: | 2003-02-10 20:09:23 |
Message-ID: | C98621D17B337E4284E03A4BAA76F6A505F82FB9@ausmis09.dhs.state.tx.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-interfaces |
I am using the latest cygwin build of postgresql and python
I used this code to create a trigger:
---------------------------------------------------------------
CREATE FUNCTION negaterow() RETURNS trigger AS
'if TD["new"]["a3a"]!=None and TD["new"]["assmt_in_id"]!=None:
TD["new"]["nega3a"] = 0-TD["new"]["a3a"]
TD["new"]["negassmt_in_id"] = 0-TD["new"]["assmt_in_id"]
return "MODIFY"
return None'
LANGUAGE 'plpython';
CREATE TRIGGER negate
BEFORE INSERT ON mdsqiitems1
FOR EACH ROW
EXECUTE PROCEDURE negaterow();
---------------------------------------------------------------
Whenever I insert a row:
If no string in the data is longer that length 1, it works fine.
If a string is longer, it says
"ERROR: value too long for type character varying(1)".
But:
a) The fields in question are _not_ varchar(1).
b) It works fine without the trigger.
What's going on?
-Bryan Klimt
From | Date | Subject | |
---|---|---|---|
Next Message | Frankie Lam | 2003-02-11 03:53:39 | Any timeout feature(in libPQ) suitable for my case? |
Previous Message | Jeroen T. Vermeulen | 2003-02-10 20:05:22 | libpqxx presentation |