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
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 |