Re: TCL trigger doesn't work after deleting a column

Поиск
Список
Период
Сортировка
От Ian Harding
Тема Re: TCL trigger doesn't work after deleting a column
Дата
Msg-id 3F55F026.9000804@tpchd.org
обсуждение исходный текст
Ответ на TCL trigger doesn't work after deleting a column  (Josué Maldonado <josue@lamundial.hn>)
Список pgsql-general
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
>



В списке pgsql-general по дате отправления:

Предыдущее
От: Carlos G Mendioroz
Дата:
Сообщение: Re: Index not being used ?
Следующее
От: "Bupp Phillips"
Дата:
Сообщение: Re: Optimizer picks an ineffient plan