]> granicus.if.org Git - postgresql/commitdiff
This patch cleans up the access to members of ItemIdData.
authorBruce Momjian <bruce@momjian.us>
Thu, 22 Sep 2005 16:46:00 +0000 (16:46 +0000)
committerBruce Momjian <bruce@momjian.us>
Thu, 22 Sep 2005 16:46:00 +0000 (16:46 +0000)
It uses existing macros instead of touching directly.

ITAGAKI Takahiro

src/backend/storage/page/bufpage.c
src/include/storage/bufpage.h
src/include/storage/itemid.h

index 5b3f7bee95f108149e068e1e6a087eaf7226005a..25ab0d090224d72c925d18d66cf5d2b4f1e35dc2 100644 (file)
@@ -8,7 +8,7 @@
  *
  *
  * IDENTIFICATION
- *       $PostgreSQL: pgsql/src/backend/storage/page/bufpage.c,v 1.65 2005/06/06 20:22:58 tgl Exp $
+ *       $PostgreSQL: pgsql/src/backend/storage/page/bufpage.c,v 1.66 2005/09/22 16:45:59 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -149,8 +149,7 @@ PageAddItem(Page page,
                        if (offsetNumber < limit)
                        {
                                itemId = PageGetItemId(phdr, offsetNumber);
-                               if ((itemId->lp_flags & LP_USED) ||
-                                       (itemId->lp_len != 0))
+                               if (ItemIdIsUsed(itemId) || ItemIdGetLength(itemId) != 0)
                                {
                                        elog(WARNING, "will not overwrite a used ItemId");
                                        return InvalidOffsetNumber;
@@ -170,8 +169,7 @@ PageAddItem(Page page,
                for (offsetNumber = 1; offsetNumber < limit; offsetNumber++)
                {
                        itemId = PageGetItemId(phdr, offsetNumber);
-                       if (((itemId->lp_flags & LP_USED) == 0) &&
-                               (itemId->lp_len == 0))
+                       if (!ItemIdIsUsed(itemId) && ItemIdGetLength(itemId) == 0)
                                break;
                }
                /* if no free slot, we'll put it at limit (1st open slot) */
@@ -341,9 +339,9 @@ PageRepairFragmentation(Page page, OffsetNumber *unused)
        for (i = 0; i < nline; i++)
        {
                lp = PageGetItemId(page, i + 1);
-               if (lp->lp_flags & LP_DELETE)   /* marked for deletion */
+               if (ItemIdDeleted(lp))  /* marked for deletion */
                        lp->lp_flags &= ~(LP_USED | LP_DELETE);
-               if (lp->lp_flags & LP_USED)
+               if (ItemIdIsUsed(lp))
                        nused++;
                else if (unused)
                        unused[i - nused] = (OffsetNumber) i;
@@ -368,17 +366,17 @@ PageRepairFragmentation(Page page, OffsetNumber *unused)
                for (i = 0; i < nline; i++)
                {
                        lp = PageGetItemId(page, i + 1);
-                       if (lp->lp_flags & LP_USED)
+                       if (ItemIdIsUsed(lp))
                        {
                                itemidptr->offsetindex = i;
-                               itemidptr->itemoff = lp->lp_off;
+                               itemidptr->itemoff = ItemIdGetOffset(lp);
                                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);
+                               itemidptr->alignedlen = MAXALIGN(ItemIdGetLength(lp));
                                totallen += itemidptr->alignedlen;
                                itemidptr++;
                        }
@@ -540,7 +538,7 @@ PageIndexTupleDelete(Page page, OffsetNumber offnum)
                {
                        ItemId          ii = PageGetItemId(phdr, i);
 
-                       if (ii->lp_off <= offset)
+                       if (ItemIdGetOffset(ii) <= offset)
                                ii->lp_off += size;
                }
        }
index c02bb4dc8758f839ceeafc280ba00421487324ce..9057c6dcd97dabf9cbff548a8ce017f8b419f021 100644 (file)
@@ -7,7 +7,7 @@
  * Portions Copyright (c) 1996-2005, PostgreSQL Global Development Group
  * Portions Copyright (c) 1994, Regents of the University of California
  *
- * $PostgreSQL: pgsql/src/include/storage/bufpage.h,v 1.65 2005/04/28 21:47:18 tgl Exp $
+ * $PostgreSQL: pgsql/src/include/storage/bufpage.h,v 1.66 2005/09/22 16:46:00 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -258,8 +258,8 @@ typedef PageHeaderData *PageHeader;
 #define PageGetItem(page, itemId) \
 ( \
        AssertMacro(PageIsValid(page)), \
-       AssertMacro((itemId)->lp_flags & LP_USED), \
-       (Item)(((char *)(page)) + (itemId)->lp_off) \
+       AssertMacro(ItemIdIsUsed(itemId)), \
+       (Item)(((char *)(page)) + ItemIdGetOffset(itemId)) \
 )
 
 /*
index edff2db194a14e7c50c09a8799a4b658c4fccad6..ec0dcaa90cd5a2521a36fff45dcecf7a46e1ba76 100644 (file)
@@ -7,7 +7,7 @@
  * Portions Copyright (c) 1996-2005, PostgreSQL Global Development Group
  * Portions Copyright (c) 1994, Regents of the University of California
  *
- * $PostgreSQL: pgsql/src/include/storage/itemid.h,v 1.24 2004/12/31 22:03:42 pgsql Exp $
+ * $PostgreSQL: pgsql/src/include/storage/itemid.h,v 1.25 2005/09/22 16:46:00 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -38,7 +38,7 @@ typedef ItemIdData *ItemId;
 
 /*
  * This bit may be passed to PageAddItem together with
- * LP_USED & LP_DELETED bits to specify overwrite mode
+ * LP_USED & LP_DELETE bits to specify overwrite mode
  */
 #define OverwritePageMode      0x10