Thread: pgsql/src/backend/catalog (heap.c)

pgsql/src/backend/catalog (heap.c)

From
Tom Lane
Date:
  Date: Saturday, September 30, 2000 @ 14:28:54
Author: tgl

Update of /home/projects/pgsql/cvsroot/pgsql/src/backend/catalog
     from hub.org:/home/projects/pgsql/tmp/cvs-serv99923

Modified Files:
    heap.c

-----------------------------  Log Message  -----------------------------

Fix nasty TRUNCATE bug reported by Darrin Ladd.  RelationTruncateIndexes
would close and then re-open rel being truncated.  Depending on the
luck of the draw, the re-opened relcache entry might or might not be
at the same physical location as before.  Unfortunately, if it wasn't
then heap_truncate would crash and burn, because it still had a pointer
at the old location.  Fix is to open and then close rel in
RelationTruncateIndexes, so that rel's refcount never goes to zero
until heap_truncate is done.