]> granicus.if.org Git - postgresql/commit
Fix LOAD_CRIT_INDEX() macro to take out AccessShareLock on the system index
authorTom Lane <tgl@sss.pgh.pa.us>
Wed, 16 Apr 2008 18:23:04 +0000 (18:23 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Wed, 16 Apr 2008 18:23:04 +0000 (18:23 +0000)
commit0f45d1eb08d0916f8569644223fe0c11390aae0a
treef0c199a7b8e4b013d8b14d6cd62c1a4157062c08
parenta9b3e4fa6f8e97c6ddaa8c4e46db94d5e0615263
Fix LOAD_CRIT_INDEX() macro to take out AccessShareLock on the system index
it is trying to build a relcache entry for.  This is an oversight in my 8.2
patch that tried to ensure we always took a lock on a relation before trying
to build its relcache entry.  The implication is that if someone committed a
reindex of a critical system index at about the same time that some other
backend were starting up without a valid pg_internal.init file, the second one
might PANIC due to not seeing any valid version of the index's pg_class row.
Improbable case, but definitely not impossible.
src/backend/utils/cache/relcache.c