Re: ResetSystemCaches(was Re: relation ### modified while in use)
От | Tom Lane |
---|---|
Тема | Re: ResetSystemCaches(was Re: relation ### modified while in use) |
Дата | |
Msg-id | 6602.973530488@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | ResetSystemCaches(was Re: relation ### modified while in use) (Hiroshi Inoue <Inoue@tpf.co.jp>) |
Список | pgsql-hackers |
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. BTW, don't forget that there are nailed-in indexes as well as tables. Not sure if that matters to this code, but it might. regards, tom lane
В списке pgsql-hackers по дате отправления: