Re: Fix for consume_xids advancing XIDs incorrectly

Поиск
Список
Период
Сортировка
От Yushi Ogiwara
Тема Re: Fix for consume_xids advancing XIDs incorrectly
Дата
Msg-id 710b46d68d053eac91c9c8ec9feea09d@oss.nttdata.com
обсуждение исходный текст
Ответ на Re: Fix for consume_xids advancing XIDs incorrectly  (Masahiko Sawada <sawada.mshk@gmail.com>)
Ответы Re: Fix for consume_xids advancing XIDs incorrectly
Список pgsql-hackers
>> 
>> 
>>         consumed = XidSkip(nextXid);
>>         if (consumed > 0)
>>                 TransamVariables->nextXid.value += (uint64) consumed;
>> 
>> BTW, the code snippet above in consume_xids_shortcut() could 
>> potentially set
>> the next XID to a value below FirstNormalTransactionId? If yes, we 
>> should account for
>> FirstNormalFullTransactionId when increasing the next XID, similar to
>> how FullTransactionIdAdvance() handles it.
> 
> Good catch. I agree with you. We need to do something similar to what
> FullTransactionIdAdvance() does so that it does not appear as a
> special 32-bit XID.
> 
> Regards,

I think this is not the case since XidSkip returns min(UINT32_MAX - 5 - 
low, *), which prevents the wrap-around of nextXid.

Regards,
Yushi Ogiwara



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