Heikki Linnakangas <hlinnaka@iki.fi> writes:
> In commit af0e7deb4a, I removed the call to RelationCloseSmgr() from
> RelationCacheInvalidate(). I thought it was no longer needed, because we
> no longer free the underlying SmgrRelation.
> However, it meant that if the relfilenode of the relation was changed,
> the relation keeps pointing to the SMgrRelation of the old relfilenode.
> So we still need the RelationCloseSmgr() call, in case the relfilenode
> has changed.
Ouch. How come we did not see this immediately in testing? I'd have
thought surely such a bug would be exposed by any command that
rewrites a heap.
regards, tom lane