From: | Andy Fan <zhihuifan1213(at)163(dot)com> |
---|---|
To: | Álvaro Herrera <alvherre(at)kurilemu(dot)de> |
Cc: | PostgreSQL Hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: Remove HeapTupleheaderSetXmin{Committed,Invalid} functions |
Date: | 2025-06-27 00:02:17 |
Message-ID: | 87frfmgigm.fsf@163.com |
Views: | Whole Thread | Raw Message | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Álvaro Herrera <alvherre(at)kurilemu(dot)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.
--
Best Regards
Andy Fan
From | Date | Subject | |
---|---|---|---|
Next Message | Michael Paquier | 2025-06-27 00:26:31 | Re: Removing unneeded self joins |
Previous Message | Jacob Champion | 2025-06-26 23:33:35 | [PATCH] OAuth: fix performance bug with stuck multiplexer events |