Re: Question about syscache

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Peter Eisentraut <peter_e(at)gmx(dot)net>
Cc: PostgreSQL Development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Question about syscache
Date: 2002-07-09 22:36:29
Message-ID: 12240.1026254189@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Peter Eisentraut <peter_e(at)gmx(dot)net> writes:
> In syscache.c, the structure cachedesc contains a field reloidattr that is
> supposed to contain the number of an attribute that is an OID reference to
> another table. But what if there are two such attributes?

Specifically, it is a reference to pg_class.

> The concrete case is an index on pg_cast (castsource, casttarget), which
> both reference pg_type.

That is not a reference to pg_class, so you should not make reloidattr
reference it.

The point of reloidattr is that during a relation cache clear event,
it allows catcache to find all catcache rows that are related to that
relation cache entry (eg, pg_attribute, pg_trigger, etc). So far
there's not been need for more than one such attribute per tuple.

regards, tom lane

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Michael J. Ditto 2002-07-09 23:03:55 Re: pg_access
Previous Message Peter Eisentraut 2002-07-09 22:21:23 Re: Proposal: CREATE CONVERSION