Skip site navigation (1) Skip section navigation (2)

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

From: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
To: Tatsuo Ishii <t-ishii(at)sra(dot)co(dot)jp>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: vacuum analyze fails: ERROR: Unable to locate type oid 2230924 in catalog
Date: 2001-02-27 04:03:18
Message-ID: 200102270403.XAA10755@candle.pha.pa.us (view raw or flat)
Thread:
Lists: 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(at)candle(dot)pha(dot)pa(dot)us               |  (610) 853-3000
  +  If your life is a hard drive,     |  830 Blythe Avenue
  +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026

In response to

pgsql-hackers by date

Next:From: Bruce MomjianDate: 2001-02-27 04:04:42
Subject: Re: Re[2]: Re: [PATCHES] A patch for xlog.c
Previous:From: Tom LaneDate: 2001-02-27 03:59:33
Subject: Re: vacuum analyze fails: ERROR: Unable to locate type oid 2230924 in catalog

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group