Re: PageGetMaxOffsetNumber

Поиск
Список
Период
Сортировка
От Manfred Koizar
Тема Re: PageGetMaxOffsetNumber
Дата
Msg-id uu4rvugttt7s2knnpa87crh69cm3atfjtr@4ax.com
обсуждение исходный текст
Ответ на PageGetMaxOffsetNumber  (Alvaro Herrera <alvherre@dcc.uchile.cl>)
Список pgsql-hackers
On Sun, 15 Dec 2002 23:49:57 -0300, Alvaro Herrera
<alvherre@dcc.uchile.cl> wrote:
>PageGetMaxOffsetNumber (the upper bound) returns a consistent value
>that's far too high (4294967291, 0xFFFFFFFB)

Alvaro, maybe this comment from bufpage.h can shed some light on it?

/** PageGetMaxOffsetNumber*  Returns the maximum offset number used by the given page.*  Since offset numbers are
1-based,this is also the number*  of items on the page.**  NOTE: to ensure sane behavior if the page is not
initialized* (pd_lower == 0), cast the unsigned values to int before dividing.*  That way we get -1 or so, not a huge
positivenumber...*/
 

#define PageGetMaxOffsetNumber(page) \ (((int) (((PageHeader) (page))->pd_lower - SizeOfPageHeaderData)) \  / ((int)
sizeof(ItemIdData)))

0xFFFFFFFB is -5.
With SizeOfPageHeaderData == 20 and sizeof(ItemIdData) == 4 you get
this result for pd_lower == 0.

ServusManfred


В списке pgsql-hackers по дате отправления:

Предыдущее
От: Kevin Brown
Дата:
Сообщение: Re: [GENERAL] PostgreSQL Global Development Group
Следующее
От: Steve King
Дата:
Сообщение: Re: FW: Duplicate oids!