sorry my test
create table f1(a int, b int, c varchar, dropped_column numeric, d varchar); create or replace function f1_trg() returns trigger as $$ declare _f1_var f1; begin raise notice 'run trigger'; _f1_var := new; return _f1_var; end; $$ language plpgsql; create trigger xx before insert on f1 for row execute procedure f1_trg(); insert into f1 values(1,1,'aaa',1.1,'aaa'); alter table f1 drop column dropped_column ; insert into f1 values(1,1,'aaa','aaa'); 2013/5/7 Pavel Stehule <pavel.steh...@gmail.com> > Hello > > One user reported a issues with triggers related to dropped columns. > > When I checked his code, I found a more possible problems. > > He use a trigger in form > > $$ > DECLARE somevar targettable; > BEGIN > somevar := NEW; > // do some with somevar; > RETURN somevar; > END; > $$ > > When I dropped column (I dropped numeric column) I had to finish session, > because I got a error in assign > > LOCATION: exec_stmt_raise, pl_exec.c:2985 > ERROR: 22P02: invalid input syntax for type numeric: "aaa" > CONTEXT: PL/pgSQL function f1_trg() line 4 at assignment > LOCATION: set_var_from_str, numeric.c:3253 > > Regards > > Pavel >