<color><param>7F00,0000,0000</param>> Does anybody know what this error mean?

> 

> update empresa set clave_provincia=8 where clave_empresa=8046;

> ERROR:  fmgr_info: function 18375: cache lookup failed

> 


</color>Ok, nobody answered but i found my problem. It's related to a weird pgsql bug.

Assume i got a trigger called empresaclave_empresa1. Usually, you cannot create two triggers with 
the same name:


projas_db=> CREATE TRIGGER empresaclave_empresa1 AFTER DELETE ON empresa

projas_db->         FOR EACH ROW EXECUTE PROCEDURE

projas_db->         check_foreign_key ('1', 'cascade', 'clave_empresa', 'sectorempresa', 'clave_empresa');

ERROR:  CreateTrigger: trigger empresaclave_empresa1 already defined on relation empresa


But if you exceed the max 32 chars for the trigger name:


projas_db=> CREATE TRIGGER nn0123456789012345678901234567890123456789 AFTER DELETE 
ON empresa FOR EACH ROW EXECUTE PROCEDURE

check_foreign_key ('1', 'cascade', 'clave_empresa', 'sectorempresa', 'clave_empresa');

CREATE

projas_db=> CREATE TRIGGER nn0123456789012345678901234567890123456789 AFTER DELETE 
ON empresa FOR EACH ROW EXECUTE PROCEDURE                                                        

check_foreign_key ('1', 'cascade', 'clave_empresa', 'sectorempresa', 'clave_empresa');

CREATE

projas_db=> CREATE TRIGGER nn0123456789012345678901234567890123456789 AFTER DELETE 
ON empresa FOR EACH ROW EXECUTE PROCEDURE 

check_foreign_key ('1', 'cascade', 'clave_empresa', 'sectorempresa', 'clave_empresa');

CREATE


And if you try to delete your trigger you'll think you're getting crazy:


projas_db=> DROP TRIGGER nn0123456789012345678901234567890123456789  ON empresa; <bold>

</bold>ERROR:  DropTrigger: there is no trigger nn0123456789012345678901234567890123456789 on 
relation empresa


projas_db=> select tgname from pg_trigger;

tgname                         

-------------------------------

empresaclave_empresa1          

comunidadclave_comunidad       

existen_empresas_en_este_sector

la_comunidad_no_existe         

la_empresa_no_existe           

el_sector_no_existe            

imposible_modificar_clave      

nn01234567890123456789012345678

nn01234567890123456789012345678

nn01234567890123456789012345678


You have THREE triggers with the same truncated name.


projas_db=> drop trigger nn01234567890123456789012345678 on empresa;

NOTICE:  DropTrigger: found (and deleted) 3 trigger nn01234567890123456789012345678 on relation 
empresa

DROP


My problem was caused by an old lost truncated trigger trying to call a nonexistent function.



<nofill>
Antonio Garcia Mari
Mallorca (Spain)


