Обсуждение: Please help cache lookup failed

Поиск
Список
Период
Сортировка

Please help cache lookup failed

От
Michael Fraley
Дата:
Hello,

I just upgraded from 6.5.2 to 7.0.2 on SuSE 6.4 Linux, and now I get this
message when trying to insert records:

ERROR:  fmgr_info: function 19104: cache lookup failed

This only happens on tables that use refint.so (under contrib/spi in the source
distribution). There is a trigger that calls a function, to check primary or
foreign key. Has anyone else encountered this?

Here's the schema:

create subscriptions table
-------------------
CREATE SEQUENCE "subscriptions_script_id_seq" start 1 increment 1 maxvalue
                2147483647 minvalue 1  cache 1 ;
CREATE TABLE "subscriptions" (
    "script_id" int4 DEFAULT nextval('subscriptions_script_id_seq') NOT NULL,
    "mag_id" int4 NOT NULL,
    "paid_amount" money NOT NULL,
    "start_date" date NOT NULL,
    "end_date" date NOT NULL,
    "notes" text);
CREATE UNIQUE INDEX "subscriptions_script_id_key" on "subscriptions" using btree
               ( "script_id" "int4_ops" );
CREATE TRIGGER "sub_mag_trigger" BEFORE INSERT OR UPDATE ON "subscriptions"
              FOR EACH ROW EXECUTE PROCEDURE
              check_primary_key ('mag_id', 'magazines', 'mag_id');

create function
------------
CREATE FUNCTION "check_primary_key" ( ) RETURNS opaque AS
              '/usr/local/pgsql/lib/modules/refint.so' LANGUAGE 'C';


 --

  Michael Fraley
  fraley@usfca.edu
  http://www.usfca.edu/~fraley

Re: Please help cache lookup failed

От
Peter Vazsonyi
Дата:

This works, but you may create the function first...
And then the trigger...

On Tue, 27 Jun 2000, Michael Fraley wrote:

> ERROR:  fmgr_info: function 19104: cache lookup failed

> create subscriptions table
> -------------------
> CREATE SEQUENCE "subscriptions_script_id_seq" start 1 increment 1 maxvalue 
>                 2147483647 minvalue 1  cache 1 ;
> CREATE TABLE "subscriptions" (
>     "script_id" int4 DEFAULT nextval('subscriptions_script_id_seq') NOT NULL,
>     "mag_id" int4 NOT NULL,
>     "paid_amount" money NOT NULL,
>     "start_date" date NOT NULL,
>     "end_date" date NOT NULL,
>     "notes" text);
> CREATE UNIQUE INDEX "subscriptions_script_id_key" on "subscriptions" using btree 
>                ( "script_id" "int4_ops" );
> CREATE TRIGGER "sub_mag_trigger" BEFORE INSERT OR UPDATE ON "subscriptions" 
>               FOR EACH ROW EXECUTE PROCEDURE 
>               check_primary_key ('mag_id', 'magazines', 'mag_id');
> 
> create function
> ------------
> CREATE FUNCTION "check_primary_key" ( ) RETURNS opaque AS
>               '/usr/local/pgsql/lib/modules/refint.so' LANGUAGE 'C';
> 
> 
>  -- 
> 
>   Michael Fraley
>   fraley@usfca.edu
>   http://www.usfca.edu/~fraley
> 





Re: Please help cache lookup failed

От
Tom Lane
Дата:
Michael Fraley <fraley@usfca.edu> writes:
> I just upgraded from 6.5.2 to 7.0.2 on SuSE 6.3 Linux kernel 2.2.13, and
> now I get this message when trying to insert records:

> ERROR:  fmgr_info: function 19104: cache lookup failed

Did you perhaps delete and recreate check_primary_key() without
also recreating the triggers that refer to it?
        regards, tom lane