aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/backend/commands/vacuum.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/backend/commands/vacuum.c b/src/backend/commands/vacuum.c
index af88b26ea1c..3af40713b30 100644
--- a/src/backend/commands/vacuum.c
+++ b/src/backend/commands/vacuum.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/commands/vacuum.c,v 1.47 1997/09/12 04:07:30 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/commands/vacuum.c,v 1.48 1997/09/22 07:12:33 vadim Exp $
*
*-------------------------------------------------------------------------
*/
@@ -56,6 +56,8 @@
#include <port-protos.h>
+extern int BlowawayRelationBuffers(Relation rdesc, BlockNumber block);
+
bool VacuumRunning = false;
static Portal vc_portal;
@@ -1394,6 +1396,9 @@ Elapsed %u/%u sec.",
/* truncate relation */
if (blkno < nblocks)
{
+ i = BlowawayRelationBuffers(onerel, blkno);
+ if (i < 0)
+ elog (FATAL, "VACUUM (vc_rpfheap): BlowawayRelationBuffers returned %d", i);
blkno = smgrtruncate(onerel->rd_rel->relsmgr, onerel, blkno);
Assert(blkno >= 0);
vacrelstats->npages = blkno; /* set new number of blocks */
@@ -1465,6 +1470,10 @@ vc_vacheap(VRelStats *vacrelstats, Relation onerel, VPageList Vvpl)
* it) before truncation
*/
FlushBufferPool(!TransactionFlushEnabled());
+
+ i = BlowawayRelationBuffers(onerel, nblocks);
+ if (i < 0)
+ elog (FATAL, "VACUUM (vc_vacheap): BlowawayRelationBuffers returned %d", i);
nblocks = smgrtruncate(onerel->rd_rel->relsmgr, onerel, nblocks);
Assert(nblocks >= 0);