mirror of
https://github.com/postgres/postgres.git
synced 2025-10-21 02:52:47 +03:00
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.
This commit is contained in:
@@ -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;
|
||||
|
Reference in New Issue
Block a user