Re: Question about syscache
| От | Tom Lane |
|---|---|
| Тема | Re: Question about syscache |
| Дата | |
| Msg-id | 12240.1026254189@sss.pgh.pa.us обсуждение исходный текст |
| Ответ на | Question about syscache (Peter Eisentraut <peter_e@gmx.net>) |
| Список | 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 по дате отправления: