Re: Remove HeapTupleheaderSetXmin{Committed,Invalid} functions
От | Andy Fan |
---|---|
Тема | Re: Remove HeapTupleheaderSetXmin{Committed,Invalid} functions |
Дата | |
Msg-id | 87bjq8h357.fsf@163.com обсуждение исходный текст |
Список | pgsql-hackers |
Andy Fan <zhihuifan1213@163.com> writes: > Álvaro Herrera <alvherre@kurilemu.de> writes: > >> Hmm >> >> So these functions were created from macros in commit 34694ec888d6, >> which themselves had been added for the first time in commit >> 37484ad2aace. However, it appears that they were added only because >> they were mirroring HeapTupleHeaderSetXminFrozen(), and while the latter >> was immediately used, the other two weren't and never have been. >> >> (For a short while between June and September 2002 we had a different >> macro also called HeapTupleHeaderSetXminInvalid -- added by commit >> 3c35face4108 and removed by commit c7a165adc64e -- and curiously enough >> it was also entirely unused.) > > Thanks for checking the history, and part of c7a165adc64e (removing > HeapTupleHeaderSetXminInvalid from htup.h) is pretty similar with the > case there. > >> I think Andy is right that these should be removed, not only because >> they are unsafe but because they are dead code. > > Yes, I suggested with the two reasons. When I knew removing a public > API has potential to break some third-party extension even they are not > used in core, then the *unsafe* part encourage to do so. > > Acutally no maintaince cost for the dead code is only true when no one > read/think about them, otherwise the cost is there. The > HeapTupleheaderSetXminCommitted has misleaded me to think I can do > something there, but the fact is (1) they are never used. (2) the right > place is SetHintBits. > >> codesearch.debian.net shows no matches by grep, other than >> htup_internals.h itself. > > Thanks for sharing codesearch.decbian.net which looks a great project. > > I just found even there is such code, core has already provided public > API HeapTupleSetHintBits which can be used as a replacement and it is > safe. The attached is the v2, I just change the commit message to address the concern from Michael and Nathan. I also registed this into https://commitfest.postgresql.org/patch/5870/. Hi Michael and Nathan, has the new discussion addressed your concerns, or do you still think we should keep them as it is? Thanks -- Best Regards Andy Fan
Вложения
В списке pgsql-hackers по дате отправления: