Stylistic changes in bufmgr.c

Started by Manfred Koizarabout 22 years ago2 messagespatches
Jump to latest
#1Manfred Koizar
mkoi-pg@aon.at

Basically replaces (*a).b with a->b as it is everywhere else in
Postgres.

Servus
Manfred

#2Bruce Momjian
bruce@momjian.us
In reply to: Manfred Koizar (#1)
Re: Stylistic changes in bufmgr.c

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