Re: ResetSystemCaches(was Re: relation ### modified while in use) - Mailing list pgsql-hackers

From Hiroshi Inoue
Subject Re: ResetSystemCaches(was Re: relation ### modified while in use)
Date
Msg-id 3A07402D.DFB23EB6@tpf.co.jp
Whole thread Raw
In response to RE: relation ### modified while in use  ("Hiroshi Inoue" <Inoue@tpf.co.jp>)
List pgsql-hackers
Tom Lane wrote:

> Hiroshi Inoue <Inoue@tpf.co.jp> writes:
> > RelationCacheInvalidate() is called from ResetSystemCaches()
> > and calles RelationFlushRelation() for all relation descriptors
> > except some nailed system relations.
> > I'm wondering why nailed relations could be exceptions.
> > Conversely why must RelationCacheInvalidate() call
> > RelationFlushRelation() for other system relations ?
> > Isn't it sufficient to call smgrclose() and replace rd_rel
> > member of system relations by the latest ones instead
> > of calling RelationFlushRelation() ?
>
> Possibly you could do fixrdesc() instead of just ignoring the report
> entirely for nailed-in relations.  Not sure it's worth worrying about
> though --- in practice, what is this going to make possible?  You can't
> change the structure of a nailed-in system catalog, nor will adding
> triggers or rules to it work very well, so I'm not quite seeing the
> point.
>

Hmm,my point is on not nailed system relations(indexes)
not on already nailed relations.
Coundn't we skip system relations(indexes)  in Relation
CacheInvalidate() ?

Regards.
Hiroshi Inoue



pgsql-hackers by date:

Previous
From: "Mikheev, Vadim"
Date:
Subject: RE: Transaction ID wraparound: problem and proposed sol ution
Next
From: "Timothy H. Keitt"
Date:
Subject: Location of client header files