8
8
*
9
9
*
10
10
* 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 $
12
12
*
13
13
*-------------------------------------------------------------------------
14
14
*/
@@ -149,8 +149,7 @@ PageAddItem(Page page,
149
149
if (offsetNumber < limit )
150
150
{
151
151
itemId = PageGetItemId (phdr ,offsetNumber );
152
- if ((itemId -> lp_flags & LP_USED )||
153
- (itemId -> lp_len != 0 ))
152
+ if (ItemIdIsUsed (itemId )|| ItemIdGetLength (itemId )!= 0 )
154
153
{
155
154
elog (WARNING ,"will not overwrite a used ItemId" );
156
155
return InvalidOffsetNumber ;
@@ -170,8 +169,7 @@ PageAddItem(Page page,
170
169
for (offsetNumber = 1 ;offsetNumber < limit ;offsetNumber ++ )
171
170
{
172
171
itemId = PageGetItemId (phdr ,offsetNumber );
173
- if (((itemId -> lp_flags & LP_USED )== 0 )&&
174
- (itemId -> lp_len == 0 ))
172
+ if (!ItemIdIsUsed (itemId )&& ItemIdGetLength (itemId )== 0 )
175
173
break ;
176
174
}
177
175
/* if no free slot, we'll put it at limit (1st open slot) */
@@ -341,9 +339,9 @@ PageRepairFragmentation(Page page, OffsetNumber *unused)
341
339
for (i = 0 ;i < nline ;i ++ )
342
340
{
343
341
lp = PageGetItemId (page ,i + 1 );
344
- if (lp -> lp_flags & LP_DELETE )/* marked for deletion */
342
+ if (ItemIdDeleted ( lp ) )/* marked for deletion */
345
343
lp -> lp_flags &= ~(LP_USED |LP_DELETE );
346
- if (lp -> lp_flags & LP_USED )
344
+ if (ItemIdIsUsed ( lp ) )
347
345
nused ++ ;
348
346
else if (unused )
349
347
unused [i - nused ]= (OffsetNumber )i ;
@@ -368,17 +366,17 @@ PageRepairFragmentation(Page page, OffsetNumber *unused)
368
366
for (i = 0 ;i < nline ;i ++ )
369
367
{
370
368
lp = PageGetItemId (page ,i + 1 );
371
- if (lp -> lp_flags & LP_USED )
369
+ if (ItemIdIsUsed ( lp ) )
372
370
{
373
371
itemidptr -> offsetindex = i ;
374
- itemidptr -> itemoff = lp -> lp_off ;
372
+ itemidptr -> itemoff = ItemIdGetOffset ( lp ) ;
375
373
if (itemidptr -> itemoff < (int )pd_upper ||
376
374
itemidptr -> itemoff >= (int )pd_special )
377
375
ereport (ERROR ,
378
376
(errcode (ERRCODE_DATA_CORRUPTED ),
379
377
errmsg ("corrupted item pointer: %u" ,
380
378
itemidptr -> itemoff )));
381
- itemidptr -> alignedlen = MAXALIGN (lp -> lp_len );
379
+ itemidptr -> alignedlen = MAXALIGN (ItemIdGetLength ( lp ) );
382
380
totallen += itemidptr -> alignedlen ;
383
381
itemidptr ++ ;
384
382
}
@@ -540,7 +538,7 @@ PageIndexTupleDelete(Page page, OffsetNumber offnum)
540
538
{
541
539
ItemId ii = PageGetItemId (phdr ,i );
542
540
543
- if (ii -> lp_off <=offset )
541
+ if (ItemIdGetOffset ( ii ) <=offset )
544
542
ii -> lp_off += size ;
545
543
}
546
544
}