pgsql: Avoid crashing if relcache flush occurs while trying to load data - Mailing list pgsql-committers

From tgl@postgresql.org (Tom Lane)
Subject pgsql: Avoid crashing if relcache flush occurs while trying to load data
Date
Msg-id 20060119202858.4DB9C9DC9A2@postgresql.org
Whole thread Raw
List pgsql-committers
Log Message:
-----------
Avoid crashing if relcache flush occurs while trying to load data into an
index's support-function cache (in index_getprocinfo).  Since none of that
data can change for an index that's in active use, it seems sufficient to
treat all open indexes the same way we were treating "nailed" system indexes
--- that is, just re-read the pg_class row and leave the rest of the relcache
entry strictly alone.  The pg_class re-read might not be strictly necessary
either, but since the reltablespace and relfilenode can change in normal
operation it seems safest to do it.  (We don't support changing any of the
other info about an index at all, at the moment.)

Back-patch as far as 8.0.  It might be possible to adapt the patch to 7.4,
but it would take more work than I care to expend for such a low-probability
problem.  7.3 is out of luck for sure.

Tags:
----
REL8_0_STABLE

Modified Files:
--------------
    pgsql/src/backend/utils/cache:
        relcache.c (r1.215 -> r1.215.4.1)

(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/cache/relcache.c.diff?r1=1.215&r2=1.215.4.1)

pgsql-committers by date:

Previous
From: tgl@postgresql.org (Tom Lane)
Date:
Subject: pgsql: Avoid crashing if relcache flush occurs while trying to load data
Next
From: momjian@postgresql.org (Bruce Momjian)
Date:
Subject: pgsql: Remove $(DESTDIR) from the pgxs BE_DLLLIBS= -L path.