cache lookup failed: hack pg_* tables?
От | Kovacs Zoltan |
---|---|
Тема | cache lookup failed: hack pg_* tables? |
Дата | |
Msg-id | Pine.LNX.4.21.0205281549460.16520-100000@pc10.radnoti-szeged.sulinet.hu обсуждение исходный текст |
Ответы |
Re: cache lookup failed: hack pg_* tables?
|
Список | pgsql-hackers |
I'm trying to implement some code to recreate tables as we discussed formerly. But it's not so easy... :-) My first blind alley is that dropping a function which is occured in a CHECK constraint or a DEFAULT constraint, I get "fmgr_info: function 12345678: cache lookup failed" or "Function OID 12345678 does not exist" (this one only in 7.1.3; I tested this also in 7.2.1). For me the appropriate hack seems to update some table about pg_*, is this the proper way? Or shall I forget to hack the pg_* tables, just drop the table and recreate it...? Here comes my test: create function tmp_f (integer) returns bool as 'select $1 > 0;' language 'sql'; create table tmp_t (x integer check (tmp_f(x))); insert into tmp_t values (5); drop function tmp_f(integer); create function tmp_f (integer) returns bool as 'select $1 > 0;' language 'sql'; insert into tmp_t values (5); drop function tmp_f(integer); drop table tmp_t; create function tmp_f (integer) returns bool as 'select $1 > 0;' language 'sql'; create table tmp_t (x integer, y bool default tmp_f(5)); insert into tmp_t values (5); drop function tmp_f(integer); create function tmp_f (integer) returns bool as 'select $1 > 0;' language 'sql'; insert into tmp_t values (5); drop function tmp_f(integer); drop table tmp_t; TIA, Zoltan -- Kov\'acs, Zolt\'an kovacsz@pc10.radnoti-szeged.sulinet.hu http://www.math.u-szeged.hu/~kovzol ftp://pc10.radnoti-szeged.sulinet.hu/home/kovacsz
В списке pgsql-hackers по дате отправления: