Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit4f915cd

Browse files
committed
This patch cleans up the access to members of ItemIdData.
It uses existing macros instead of touching directly.ITAGAKI Takahiro
1 parent62da04f commit4f915cd

File tree

3 files changed

+14
-16
lines changed

3 files changed

+14
-16
lines changed

‎src/backend/storage/page/bufpage.c

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
*
99
*
1010
* IDENTIFICATION
11-
* $PostgreSQL: pgsql/src/backend/storage/page/bufpage.c,v 1.65 2005/06/06 20:22:58 tgl Exp $
11+
* $PostgreSQL: pgsql/src/backend/storage/page/bufpage.c,v 1.66 2005/09/22 16:45:59 momjian Exp $
1212
*
1313
*-------------------------------------------------------------------------
1414
*/
@@ -149,8 +149,7 @@ PageAddItem(Page page,
149149
if (offsetNumber<limit)
150150
{
151151
itemId=PageGetItemId(phdr,offsetNumber);
152-
if ((itemId->lp_flags&LP_USED)||
153-
(itemId->lp_len!=0))
152+
if (ItemIdIsUsed(itemId)||ItemIdGetLength(itemId)!=0)
154153
{
155154
elog(WARNING,"will not overwrite a used ItemId");
156155
returnInvalidOffsetNumber;
@@ -170,8 +169,7 @@ PageAddItem(Page page,
170169
for (offsetNumber=1;offsetNumber<limit;offsetNumber++)
171170
{
172171
itemId=PageGetItemId(phdr,offsetNumber);
173-
if (((itemId->lp_flags&LP_USED)==0)&&
174-
(itemId->lp_len==0))
172+
if (!ItemIdIsUsed(itemId)&&ItemIdGetLength(itemId)==0)
175173
break;
176174
}
177175
/* if no free slot, we'll put it at limit (1st open slot) */
@@ -341,9 +339,9 @@ PageRepairFragmentation(Page page, OffsetNumber *unused)
341339
for (i=0;i<nline;i++)
342340
{
343341
lp=PageGetItemId(page,i+1);
344-
if (lp->lp_flags&LP_DELETE)/* marked for deletion */
342+
if (ItemIdDeleted(lp))/* marked for deletion */
345343
lp->lp_flags &= ~(LP_USED |LP_DELETE);
346-
if (lp->lp_flags&LP_USED)
344+
if (ItemIdIsUsed(lp))
347345
nused++;
348346
elseif (unused)
349347
unused[i-nused]= (OffsetNumber)i;
@@ -368,17 +366,17 @@ PageRepairFragmentation(Page page, OffsetNumber *unused)
368366
for (i=0;i<nline;i++)
369367
{
370368
lp=PageGetItemId(page,i+1);
371-
if (lp->lp_flags&LP_USED)
369+
if (ItemIdIsUsed(lp))
372370
{
373371
itemidptr->offsetindex=i;
374-
itemidptr->itemoff=lp->lp_off;
372+
itemidptr->itemoff=ItemIdGetOffset(lp);
375373
if (itemidptr->itemoff< (int)pd_upper||
376374
itemidptr->itemoff >= (int)pd_special)
377375
ereport(ERROR,
378376
(errcode(ERRCODE_DATA_CORRUPTED),
379377
errmsg("corrupted item pointer: %u",
380378
itemidptr->itemoff)));
381-
itemidptr->alignedlen=MAXALIGN(lp->lp_len);
379+
itemidptr->alignedlen=MAXALIGN(ItemIdGetLength(lp));
382380
totallen+=itemidptr->alignedlen;
383381
itemidptr++;
384382
}
@@ -540,7 +538,7 @@ PageIndexTupleDelete(Page page, OffsetNumber offnum)
540538
{
541539
ItemIdii=PageGetItemId(phdr,i);
542540

543-
if (ii->lp_off <=offset)
541+
if (ItemIdGetOffset(ii) <=offset)
544542
ii->lp_off+=size;
545543
}
546544
}

‎src/include/storage/bufpage.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
* Portions Copyright (c) 1996-2005, PostgreSQL Global Development Group
88
* Portions Copyright (c) 1994, Regents of the University of California
99
*
10-
* $PostgreSQL: pgsql/src/include/storage/bufpage.h,v 1.65 2005/04/28 21:47:18 tgl Exp $
10+
* $PostgreSQL: pgsql/src/include/storage/bufpage.h,v 1.66 2005/09/22 16:46:00 momjian Exp $
1111
*
1212
*-------------------------------------------------------------------------
1313
*/
@@ -258,8 +258,8 @@ typedef PageHeaderData *PageHeader;
258258
#definePageGetItem(page,itemId) \
259259
( \
260260
AssertMacro(PageIsValid(page)), \
261-
AssertMacro((itemId)->lp_flags & LP_USED), \
262-
(Item)(((char *)(page)) + (itemId)->lp_off) \
261+
AssertMacro(ItemIdIsUsed(itemId)), \
262+
(Item)(((char *)(page)) +ItemIdGetOffset(itemId)) \
263263
)
264264

265265
/*

‎src/include/storage/itemid.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
* Portions Copyright (c) 1996-2005, PostgreSQL Global Development Group
88
* Portions Copyright (c) 1994, Regents of the University of California
99
*
10-
* $PostgreSQL: pgsql/src/include/storage/itemid.h,v 1.24 2004/12/31 22:03:42 pgsql Exp $
10+
* $PostgreSQL: pgsql/src/include/storage/itemid.h,v 1.25 2005/09/22 16:46:00 momjian Exp $
1111
*
1212
*-------------------------------------------------------------------------
1313
*/
@@ -38,7 +38,7 @@ typedef ItemIdData *ItemId;
3838

3939
/*
4040
* This bit may be passed to PageAddItem together with
41-
* LP_USED &LP_DELETED bits to specify overwrite mode
41+
* LP_USED &LP_DELETE bits to specify overwrite mode
4242
*/
4343
#defineOverwritePageMode0x10
4444

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp