Re: Re: [COMMITTERS] pgsql: Adjust OLDSERXID_MAX_PAGE based on BLCKSZ.
От | Heikki Linnakangas |
---|---|
Тема | Re: Re: [COMMITTERS] pgsql: Adjust OLDSERXID_MAX_PAGE based on BLCKSZ. |
Дата | |
Msg-id | 4E171570.6020401@enterprisedb.com обсуждение исходный текст |
Ответ на | Re: Re: [COMMITTERS] pgsql: Adjust OLDSERXID_MAX_PAGE based on BLCKSZ. ("Kevin Grittner" <Kevin.Grittner@wicourts.gov>) |
Список | pgsql-hackers |
On 08.07.2011 16:45, Kevin Grittner wrote: > Heikki Linnakangas<heikki.linnakangas@enterprisedb.com> wrote: >> On 08.07.2011 15:22, Kevin Grittner wrote: > >>> MaxTransactionId / OLDSERXID_ENTRIESPERPAGE >> >> Hmm, that seems more correct to me anyway. We are trying to >> calculate which page xid MaxTransactionId would be stored on, if >> the SLRU didn't have a size limit. You calculate that with simply >> MaxTransactionId / OLDSERXID_ENTRIESPERPAGE. > > Good point. The old calculation was finding the page before the > page which would contain the first out-of-bound entry. As long as > these numbers are all powers of 2 that's the same, but (besides the > overflow issue) it's not as clear. > > On the off chance that this saves someone any work, trivial patch > attached. There was still one warning left after that: .\src\backend\storage\lmgr\predicate.c(770): warning C4146: unary minus operator applied to unsigned type, result still unsigned It's coming from this line: > else if (diff < -((OLDSERXID_MAX_PAGE + 1) / 2)) I fixed that by adding a cast to int there, and committed. -- Heikki Linnakangas EnterpriseDB http://www.enterprisedb.com
В списке pgsql-hackers по дате отправления: