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
  [EMAIL PROTECTED]               |  (610) 853-3000
  +  If your life is a hard drive,     |  830 Blythe Avenue
  +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026

Reply via email to