Re: vacuum analyze fails: ERROR: Unable to locate type oid 2230924 in catalog

Поиск
Список
Период
Сортировка
От Bruce Momjian
Тема Re: vacuum analyze fails: ERROR: Unable to locate type oid 2230924 in catalog
Дата
Msg-id 200102270403.XAA10755@candle.pha.pa.us
обсуждение исходный текст
Ответ на vacuum analyze fails: ERROR: Unable to locate type oid 2230924 in catalog  (Tatsuo Ishii <t-ishii@sra.co.jp>)
Список pgsql-hackers
This looks very safe and I believe should be applied.

> vacuum analyze on pg_type fails if bogus entries remain in pg_operator.
> Here is a sample script to reproduce the problem.
> 
> drop table t1;
> create table t1(i int);
> drop function foo(t1,t1);
> create function foo(t1,t1) returns bool as 'select true' language 'sql';
> create operator = (
>     leftarg = t1,
>     rightarg = t1,
>     commutator = =,
>     procedure = foo
>     );
> drop table t1;
> vacuum analyze;
> 
> To fix the problem I propose following patches. Comments?
> --
> Tatsuo Ishii
> 
> *** parse_coerce.c.orig    Sat Feb  3 20:07:53 2001
> --- parse_coerce.c    Tue Feb 27 11:33:01 2001
> ***************
> *** 190,195 ****
> --- 190,201 ----
>           Oid            inputTypeId = input_typeids[i];
>           Oid            targetTypeId = func_typeids[i];
>   
> +         if (typeidIsValid(inputTypeId) == false)
> +             return(false);
> + 
> +         if (typeidIsValid(targetTypeId) == false)
> +             return(false);
> + 
>           /* no problem if same type */
>           if (inputTypeId == targetTypeId)
>               continue;
> 


--  Bruce Momjian                        |  http://candle.pha.pa.us pgman@candle.pha.pa.us               |  (610)
853-3000+  If your life is a hard drive,     |  830 Blythe Avenue +  Christ can be your backup.        |  Drexel Hill,
Pennsylvania19026
 


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

Предыдущее
От: Bruce Momjian
Дата:
Сообщение: Re: Re[2]: Re: [PATCHES] A patch for xlog.c
Следующее
От: Bruce Momjian
Дата:
Сообщение: Re: Re[2]: Re: [PATCHES] A patch for xlog.c