diff options
Diffstat (limited to 'src/backend/commands')
-rw-r--r-- | src/backend/commands/vacuum.c | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/src/backend/commands/vacuum.c b/src/backend/commands/vacuum.c index 078c9b53475..694d0e8bbc1 100644 --- a/src/backend/commands/vacuum.c +++ b/src/backend/commands/vacuum.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/commands/vacuum.c,v 1.188 2001/03/22 03:59:24 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/commands/vacuum.c,v 1.189 2001/03/25 23:23:58 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -303,10 +303,9 @@ getrels(NameData *VacRelP) found = true; d = heap_getattr(tuple, Anum_pg_class_relname, tupdesc, &n); - rname = (char *) d; + rname = (char *) DatumGetPointer(d); d = heap_getattr(tuple, Anum_pg_class_relkind, tupdesc, &n); - rkind = DatumGetChar(d); if (rkind != RELKIND_RELATION) @@ -997,8 +996,8 @@ repair_frag(VRelStats *vacrelstats, Relation onerel, blkno; Page page, ToPage = NULL; - OffsetNumber offnum = 0, - maxoff = 0, + OffsetNumber offnum, + maxoff, newoff, max_offset; ItemId itemid, @@ -1913,14 +1912,15 @@ failed to add item with len = %lu to page %u (free space %lu, nusd %u, noff %u)" if (vacpage->blkno == (BlockNumber) (blkno - 1) && vacpage->offsets_free > 0) { - char unbuf[BLCKSZ]; - OffsetNumber *unused = (OffsetNumber *) unbuf; + OffsetNumber unbuf[BLCKSZ/sizeof(OffsetNumber)]; + OffsetNumber *unused = unbuf; int uncnt; buf = ReadBuffer(onerel, vacpage->blkno); LockBuffer(buf, BUFFER_LOCK_EXCLUSIVE); page = BufferGetPage(buf); num_tuples = 0; + maxoff = PageGetMaxOffsetNumber(page); for (offnum = FirstOffsetNumber; offnum <= maxoff; offnum = OffsetNumberNext(offnum)) @@ -2061,8 +2061,8 @@ vacuum_heap(VRelStats *vacrelstats, Relation onerel, VacPageList vacuum_pages) static void vacuum_page(Relation onerel, Buffer buffer, VacPage vacpage) { - char unbuf[BLCKSZ]; - OffsetNumber *unused = (OffsetNumber *) unbuf; + OffsetNumber unbuf[BLCKSZ/sizeof(OffsetNumber)]; + OffsetNumber *unused = unbuf; int uncnt; Page page = BufferGetPage(buffer); ItemId itemid; |