diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2002-09-20 19:56:01 +0000 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2002-09-20 19:56:01 +0000 |
commit | b2735fcd523cbb10851c7752cd9ce2709e8763eb (patch) | |
tree | a12d9659ed6867e95dd788ddc62f37ba1de72536 /src/backend/storage/smgr/smgr.c | |
parent | de96cd5e3a9ca487fc8d8ebb9fcd13f499f87043 (diff) |
Performance improvement for MultiRecordFreeSpace on large relations ---
avoid O(N^2) behavior. Problem noted and fixed by Stephen Marshall <smarshall@wsicorp.com>,
with some help from Tom Lane.
Diffstat (limited to 'src/backend/storage/smgr/smgr.c')
-rw-r--r-- | src/backend/storage/smgr/smgr.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/src/backend/storage/smgr/smgr.c b/src/backend/storage/smgr/smgr.c index 8b05fdf11b8..b20873ba48c 100644 --- a/src/backend/storage/smgr/smgr.c +++ b/src/backend/storage/smgr/smgr.c @@ -11,7 +11,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/storage/smgr/smgr.c,v 1.60 2002/09/04 20:31:26 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/storage/smgr/smgr.c,v 1.61 2002/09/20 19:56:01 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -410,9 +410,7 @@ smgrtruncate(int16 which, Relation reln, BlockNumber nblocks) * for the about-to-be-deleted blocks. We want to be sure it * won't return bogus block numbers later on. */ - MultiRecordFreeSpace(&reln->rd_node, - nblocks, MaxBlockNumber, - 0, NULL, NULL); + MultiRecordFreeSpace(&reln->rd_node, nblocks, 0, NULL); newblks = (*(smgrsw[which].smgr_truncate)) (reln, nblocks); if (newblks == InvalidBlockNumber) |