diff options
| author | Tom Lane <tgl@sss.pgh.pa.us> | 2005-09-02 19:02:20 +0000 |
|---|---|---|
| committer | Tom Lane <tgl@sss.pgh.pa.us> | 2005-09-02 19:02:20 +0000 |
| commit | 35e9b1cc1ee296959d52383455052cb3743af478 (patch) | |
| tree | 760d8047d591cd1e96316b3a9c12764a12dc6ae3 /src/backend/commands/vacuum.c | |
| parent | 962a4bb69f1dd70f1212e27ba2de7634cf91a80d (diff) | |
| download | postgresql-35e9b1cc1ee296959d52383455052cb3743af478.tar.gz | |
Clean up a couple of ad-hoc computations of the maximum number of tuples
on a page, as suggested by ITAGAKI Takahiro. Also, change a few places
that were using some other estimates of max-items-per-page to consistently
use MaxOffsetNumber. This is conservatively large --- we could have used
the new MaxHeapTuplesPerPage macro, or a similar one for index tuples ---
but those places are simply declaring a fixed-size buffer and assuming it
will work, rather than actively testing for overrun. It seems safer to
size these buffers in a way that can't overflow even if the page is
corrupt.
Diffstat (limited to 'src/backend/commands/vacuum.c')
| -rw-r--r-- | src/backend/commands/vacuum.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/backend/commands/vacuum.c b/src/backend/commands/vacuum.c index ef199c5f07..1e3a420c36 100644 --- a/src/backend/commands/vacuum.c +++ b/src/backend/commands/vacuum.c @@ -13,7 +13,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/commands/vacuum.c,v 1.313 2005/08/20 00:39:54 tgl Exp $ + * $PostgreSQL: pgsql/src/backend/commands/vacuum.c,v 1.314 2005/09/02 19:02:19 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -2407,7 +2407,7 @@ repair_frag(VRelStats *vacrelstats, Relation onerel, { Buffer buf; Page page; - OffsetNumber unused[BLCKSZ / sizeof(OffsetNumber)]; + OffsetNumber unused[MaxOffsetNumber]; OffsetNumber offnum, maxoff; int uncnt; @@ -2896,7 +2896,7 @@ vacuum_heap(VRelStats *vacrelstats, Relation onerel, VacPageList vacuum_pages) static void vacuum_page(Relation onerel, Buffer buffer, VacPage vacpage) { - OffsetNumber unused[BLCKSZ / sizeof(OffsetNumber)]; + OffsetNumber unused[MaxOffsetNumber]; int uncnt; Page page = BufferGetPage(buffer); ItemId itemid; |
