It seems to work for me...
create table foobar (
col1 varchar,
col2 varchar)
;
create function testfunc() returns trigger language pltcl as '
foreach id [array names NEW] {
elog NOTICE $NEW($id)
}
';
create trigger testtrig after insert or update on foobar for each row
execute procedure testfunc();
crap=# insert into foobar values ('asdf', 'asdf');
NOTICE: asdf
NOTICE: asdf
INSERT 191088282 1
crap=# alter table foobar drop column col1;
ALTER TABLE
crap=# insert into foobar values ('asdf');
NOTICE: asdf
INSERT 191088394 1
Is the column you deleted one that you referred explicitly by name in
your function?
What version are you using?
Josué Maldonado wrote:
> Hello list,
>
> The TCL trigger that uses NEW and OLD arrays failed after after I
> removed a unused column, now I got this error:
>
> pltcl: Cache lookup for attribute '........pg.dropped.24........' type
> 0 failed
>
> I already did a vacuum, but the error remain. Any idea how to
> fix/avoid that?
>
> Thanks in advance
>