Re: Stylistic changes in bufmgr.c - Mailing list pgsql-patches
From | Bruce Momjian |
---|---|
Subject | Re: Stylistic changes in bufmgr.c |
Date | |
Msg-id | 200406081400.i58E0gl01348@candle.pha.pa.us Whole thread Raw |
In response to | Stylistic changes in bufmgr.c (Manfred Koizar <mkoi-pg@aon.at>) |
List | pgsql-patches |
Patch applied. Thanks. --------------------------------------------------------------------------- Manfred Koizar wrote: > Basically replaces (*a).b with a->b as it is everywhere else in > Postgres. > > Servus > Manfred > diff -Ncr ../base/src/backend/storage/page/bufpage.c src/backend/storage/page/bufpage.c > *** ../base/src/backend/storage/page/bufpage.c Sat Nov 29 20:51:57 2003 > --- src/backend/storage/page/bufpage.c Wed Jun 2 22:26:12 2004 > *************** > *** 151,158 **** > if (offsetNumber < limit) > { > itemId = PageGetItemId(phdr, offsetNumber); > ! if (((*itemId).lp_flags & LP_USED) || > ! ((*itemId).lp_len != 0)) > { > elog(WARNING, "will not overwrite a used ItemId"); > return InvalidOffsetNumber; > --- 151,158 ---- > if (offsetNumber < limit) > { > itemId = PageGetItemId(phdr, offsetNumber); > ! if ((itemId->lp_flags & LP_USED) || > ! (itemId->lp_len != 0)) > { > elog(WARNING, "will not overwrite a used ItemId"); > return InvalidOffsetNumber; > *************** > *** 172,179 **** > for (offsetNumber = 1; offsetNumber < limit; offsetNumber++) > { > itemId = PageGetItemId(phdr, offsetNumber); > ! if ((((*itemId).lp_flags & LP_USED) == 0) && > ! ((*itemId).lp_len == 0)) > break; > } > /* if no free slot, we'll put it at limit (1st open slot) */ > --- 172,179 ---- > for (offsetNumber = 1; offsetNumber < limit; offsetNumber++) > { > itemId = PageGetItemId(phdr, offsetNumber); > ! if (((itemId->lp_flags & LP_USED) == 0) && > ! (itemId->lp_len == 0)) > break; > } > /* if no free slot, we'll put it at limit (1st open slot) */ > *************** > *** 214,222 **** > (limit - offsetNumber) * sizeof(ItemIdData)); > > /* set the item pointer */ > ! (*itemId).lp_off = upper; > ! (*itemId).lp_len = size; > ! (*itemId).lp_flags = flags; > > /* copy the item's data onto the page */ > memcpy((char *) page + upper, item, size); > --- 214,222 ---- > (limit - offsetNumber) * sizeof(ItemIdData)); > > /* set the item pointer */ > ! itemId->lp_off = upper; > ! itemId->lp_len = size; > ! itemId->lp_flags = flags; > > /* copy the item's data onto the page */ > memcpy((char *) page + upper, item, size); > *************** > *** 278,296 **** > /* > * sorting support for PageRepairFragmentation > */ > ! struct itemIdSortData > { > int offsetindex; /* linp array index */ > int itemoff; /* page offset of item data */ > Size alignedlen; /* MAXALIGN(item data len) */ > ! }; > > static int > itemoffcompare(const void *itemidp1, const void *itemidp2) > { > /* Sort in decreasing itemoff order */ > ! return ((struct itemIdSortData *) itemidp2)->itemoff - > ! ((struct itemIdSortData *) itemidp1)->itemoff; > } > > /* > --- 278,297 ---- > /* > * sorting support for PageRepairFragmentation > */ > ! typedef struct itemIdSortData > { > int offsetindex; /* linp array index */ > int itemoff; /* page offset of item data */ > Size alignedlen; /* MAXALIGN(item data len) */ > ! } itemIdSortData; > ! typedef itemIdSortData *itemIdSort; > > static int > itemoffcompare(const void *itemidp1, const void *itemidp2) > { > /* Sort in decreasing itemoff order */ > ! return ((itemIdSort) itemidp2)->itemoff - > ! ((itemIdSort) itemidp1)->itemoff; > } > > /* > *************** > *** 309,316 **** > Offset pd_lower = ((PageHeader) page)->pd_lower; > Offset pd_upper = ((PageHeader) page)->pd_upper; > Offset pd_special = ((PageHeader) page)->pd_special; > ! struct itemIdSortData *itemidbase, > ! *itemidptr; > ItemId lp; > int nline, > nused; > --- 310,317 ---- > Offset pd_lower = ((PageHeader) page)->pd_lower; > Offset pd_upper = ((PageHeader) page)->pd_upper; > Offset pd_special = ((PageHeader) page)->pd_special; > ! itemIdSort itemidbase, > ! itemidptr; > ItemId lp; > int nline, > nused; > *************** > *** 340,348 **** > for (i = 0; i < nline; i++) > { > lp = PageGetItemId(page, i + 1); > ! if ((*lp).lp_flags & LP_DELETE) /* marked for deletion */ > ! (*lp).lp_flags &= ~(LP_USED | LP_DELETE); > ! if ((*lp).lp_flags & LP_USED) > nused++; > else if (unused) > unused[i - nused] = (OffsetNumber) i; > --- 341,349 ---- > for (i = 0; i < nline; i++) > { > lp = PageGetItemId(page, i + 1); > ! if (lp->lp_flags & LP_DELETE) /* marked for deletion */ > ! lp->lp_flags &= ~(LP_USED | LP_DELETE); > ! if (lp->lp_flags & LP_USED) > nused++; > else if (unused) > unused[i - nused] = (OffsetNumber) i; > *************** > *** 354,390 **** > for (i = 0; i < nline; i++) > { > lp = PageGetItemId(page, i + 1); > ! (*lp).lp_len = 0; /* indicate unused & deallocated */ > } > ((PageHeader) page)->pd_upper = pd_special; > } > else > { /* nused != 0 */ > /* Need to compact the page the hard way */ > ! itemidbase = (struct itemIdSortData *) > ! palloc(sizeof(struct itemIdSortData) * nused); > itemidptr = itemidbase; > totallen = 0; > for (i = 0; i < nline; i++) > { > lp = PageGetItemId(page, i + 1); > ! if ((*lp).lp_flags & LP_USED) > { > itemidptr->offsetindex = i; > ! itemidptr->itemoff = (*lp).lp_off; > if (itemidptr->itemoff < (int) pd_upper || > itemidptr->itemoff >= (int) pd_special) > ereport(ERROR, > (errcode(ERRCODE_DATA_CORRUPTED), > errmsg("corrupted item pointer: %u", > itemidptr->itemoff))); > ! itemidptr->alignedlen = MAXALIGN((*lp).lp_len); > totallen += itemidptr->alignedlen; > itemidptr++; > } > else > { > ! (*lp).lp_len = 0; /* indicate unused & deallocated */ > } > } > > --- 355,390 ---- > for (i = 0; i < nline; i++) > { > lp = PageGetItemId(page, i + 1); > ! lp->lp_len = 0; /* indicate unused & deallocated */ > } > ((PageHeader) page)->pd_upper = pd_special; > } > else > { /* nused != 0 */ > /* Need to compact the page the hard way */ > ! itemidbase = (itemIdSort) palloc(sizeof(itemIdSortData) * nused); > itemidptr = itemidbase; > totallen = 0; > for (i = 0; i < nline; i++) > { > lp = PageGetItemId(page, i + 1); > ! if (lp->lp_flags & LP_USED) > { > itemidptr->offsetindex = i; > ! itemidptr->itemoff = lp->lp_off; > if (itemidptr->itemoff < (int) pd_upper || > itemidptr->itemoff >= (int) pd_special) > ereport(ERROR, > (errcode(ERRCODE_DATA_CORRUPTED), > errmsg("corrupted item pointer: %u", > itemidptr->itemoff))); > ! itemidptr->alignedlen = MAXALIGN(lp->lp_len); > totallen += itemidptr->alignedlen; > itemidptr++; > } > else > { > ! lp->lp_len = 0; /* indicate unused & deallocated */ > } > } > > *************** > *** 395,401 **** > (unsigned int) totallen, pd_special - pd_lower))); > > /* sort itemIdSortData array into decreasing itemoff order */ > ! qsort((char *) itemidbase, nused, sizeof(struct itemIdSortData), > itemoffcompare); > > /* compactify page */ > --- 395,401 ---- > (unsigned int) totallen, pd_special - pd_lower))); > > /* sort itemIdSortData array into decreasing itemoff order */ > ! qsort((char *) itemidbase, nused, sizeof(itemIdSortData), > itemoffcompare); > > /* compactify page */ > *************** > *** 408,414 **** > memmove((char *) page + upper, > (char *) page + itemidptr->itemoff, > itemidptr->alignedlen); > ! (*lp).lp_off = upper; > } > > ((PageHeader) page)->pd_upper = upper; > --- 408,414 ---- > memmove((char *) page + upper, > (char *) page + itemidptr->itemoff, > itemidptr->alignedlen); > ! lp->lp_off = upper; > } > > ((PageHeader) page)->pd_upper = upper; > *************** > *** 538,545 **** > nline--; /* there's one less than when we started */ > for (i = 1; i <= nline; i++) > { > ! if (PageGetItemId(phdr, i)->lp_off <= offset) > ! PageGetItemId(phdr, i)->lp_off += size; > } > } > } > --- 538,546 ---- > nline--; /* there's one less than when we started */ > for (i = 1; i <= nline; i++) > { > ! ItemId ii = PageGetItemId(phdr, i); > ! if (ii->lp_off <= offset) > ! ii->lp_off += size; > } > } > } > > ---------------------------(end of broadcast)--------------------------- > TIP 4: Don't 'kill -9' the postmaster -- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 359-1001 + If your life is a hard drive, | 13 Roberts Road + Christ can be your backup. | Newtown Square, Pennsylvania 19073
pgsql-patches by date: