]> granicus.if.org Git - postgresql/commit
In PrepareToInvalidateCacheTuple, don't force initialization of catalog
authorTom Lane <tgl@sss.pgh.pa.us>
Wed, 5 Mar 2008 17:01:41 +0000 (17:01 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Wed, 5 Mar 2008 17:01:41 +0000 (17:01 +0000)
commit06d9ce670be25a2d5918b6e22a79b757329f08cb
tree09d45b92a80cbfb7fc89f41e248c9c1db05db743
parentcbcc5b11a819593c3b45ebccaeecea0f631e00f1
In PrepareToInvalidateCacheTuple, don't force initialization of catalog
caches that we don't actually need to touch.  This saves some trivial
number of cycles and avoids certain cases of deadlock when doing concurrent
VACUUM FULL on system catalogs.  Per report from Gavin Roy.

Backpatch to 8.2.  In earlier versions, CatalogCacheInitializeCache didn't
lock the relation so there's no deadlock risk (though that certainly had
plenty of risks of its own).
src/backend/utils/cache/catcache.c