Cache lookup failed with FUNCTION + TRIGGER
Cache lookup failed with FUNCTION + TRIGGER
От:
"Stéphane FILLON" <fillons@offratel.nc>
Дата:
I have one table client : create table client( nocli int4,.... ); create function client() returns opaque as ' begin if new.nocli ISNULL then raise exception "nocli null"; end if; end; ' language 'plpgsql'; create trigger client before insert on client for each row execute procedure client(); When I try to insert a tuple in client I have the following error: "ERROR: fmgr_info: function 149857: cache lookup failed" Where does this come from ? That's not the first time that I have this kind of message!! Please H E L P !!!! RedHat 5.2 PostgreSQL 6.5.1 Regards, Stephane FILLON
Re: [SQL] Cache lookup failed with FUNCTION + TRIGGER
От:
Tom Lane <tgl@sss.pgh.pa.us>
Дата:
"Stéphane FILLON" writes: > create function client() returns opaque as ' > begin > if new.nocli ISNULL then > raise exception "nocli null"; > end if; > end; > ' language 'plpgsql'; > create trigger client before insert on client > for each row execute procedure client(); > When I try to insert a tuple in client I have the following error: > "ERROR: fmgr_info: function 149857: cache lookup failed" I'm guessing you dropped and recreated the function without dropping and recreating the trigger. It looks like triggers link to functions on the basis of OID, not name, so after you recreate the function (with a new OID), the old trigger no longer has a procedure to execute... regards, tom lane