Re: Question about syscache - Mailing list pgsql-hackers

From Tom Lane
Subject Re: Question about syscache
Date
Msg-id 12240.1026254189@sss.pgh.pa.us
Whole thread Raw
In response to Question about syscache  (Peter Eisentraut <peter_e@gmx.net>)
List pgsql-hackers
Peter Eisentraut <peter_e@gmx.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


pgsql-hackers by date:

Previous
From: Peter Eisentraut
Date:
Subject: Re: Proposal: CREATE CONVERSION
Next
From: "Michael J. Ditto"
Date:
Subject: Re: pg_access