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,
149149if (offsetNumber < limit )
150150{
151151itemId = PageGetItemId (phdr ,offsetNumber );
152- if ((itemId -> lp_flags & LP_USED )||
153- (itemId -> lp_len != 0 ))
152+ if (ItemIdIsUsed (itemId )|| ItemIdGetLength (itemId )!= 0 )
154153{
155154elog (WARNING ,"will not overwrite a used ItemId" );
156155return InvalidOffsetNumber ;
@@ -170,8 +169,7 @@ PageAddItem(Page page,
170169for (offsetNumber = 1 ;offsetNumber < limit ;offsetNumber ++ )
171170{
172171itemId = PageGetItemId (phdr ,offsetNumber );
173- if (((itemId -> lp_flags & LP_USED )== 0 )&&
174- (itemId -> lp_len == 0 ))
172+ if (!ItemIdIsUsed (itemId )&& ItemIdGetLength (itemId )== 0 )
175173break ;
176174}
177175/* if no free slot, we'll put it at limit (1st open slot) */
@@ -341,9 +339,9 @@ PageRepairFragmentation(Page page, OffsetNumber *unused)
341339for (i = 0 ;i < nline ;i ++ )
342340{
343341lp = PageGetItemId (page ,i + 1 );
344- if (lp -> lp_flags & LP_DELETE )/* marked for deletion */
342+ if (ItemIdDeleted ( lp ) )/* marked for deletion */
345343lp -> lp_flags &= ~(LP_USED |LP_DELETE );
346- if (lp -> lp_flags & LP_USED )
344+ if (ItemIdIsUsed ( lp ) )
347345nused ++ ;
348346else if (unused )
349347unused [i - nused ]= (OffsetNumber )i ;
@@ -368,17 +366,17 @@ PageRepairFragmentation(Page page, OffsetNumber *unused)
368366for (i = 0 ;i < nline ;i ++ )
369367{
370368lp = PageGetItemId (page ,i + 1 );
371- if (lp -> lp_flags & LP_USED )
369+ if (ItemIdIsUsed ( lp ) )
372370{
373371itemidptr -> offsetindex = i ;
374- itemidptr -> itemoff = lp -> lp_off ;
372+ itemidptr -> itemoff = ItemIdGetOffset ( lp ) ;
375373if (itemidptr -> itemoff < (int )pd_upper ||
376374itemidptr -> itemoff >= (int )pd_special )
377375ereport (ERROR ,
378376(errcode (ERRCODE_DATA_CORRUPTED ),
379377errmsg ("corrupted item pointer: %u" ,
380378itemidptr -> itemoff )));
381- itemidptr -> alignedlen = MAXALIGN (lp -> lp_len );
379+ itemidptr -> alignedlen = MAXALIGN (ItemIdGetLength ( lp ) );
382380totallen += itemidptr -> alignedlen ;
383381itemidptr ++ ;
384382}
@@ -540,7 +538,7 @@ PageIndexTupleDelete(Page page, OffsetNumber offnum)
540538{
541539ItemId ii = PageGetItemId (phdr ,i );
542540
543- if (ii -> lp_off <=offset )
541+ if (ItemIdGetOffset ( ii ) <=offset )
544542ii -> lp_off += size ;
545543}
546544}