OSDN Git Service

Fix nasty TRUNCATE bug reported by Darrin Ladd. RelationTruncateIndexes
authorTom Lane <tgl@sss.pgh.pa.us>
Sat, 30 Sep 2000 18:28:53 +0000 (18:28 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Sat, 30 Sep 2000 18:28:53 +0000 (18:28 +0000)
commit36786a815005b3f1e686540976489d6ea8b6757d
treef1429a762e83af45a7b5a2e4df18b37660b840a2
parent0ba77c14aafcc43ba1c77900a0452564bf9bff18
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.
src/backend/catalog/heap.c