Hi,

When I am reading the code, I first thought I can do something in
HeapTupleheaderSetXminCommitted, then I realized we have SetHintBits.
After some research, I find HeapTupleHeaderSetXminCommitted is never
used and it looks not safe to use after comparing with SetHintBits. So
to avoid future confusion or misuse, I'd suggest to remove it. I think
HeapTupleHeaderSetXminInvalid should be the same. So here is the patch.

commit ed905d64c6b81a78627f895918d4ac723d46865c (HEAD -> heap_set_bits)
Author: Andy Fan <zhihuifan1...@163.com>
Date:   Wed Jun 25 07:35:32 2025 +0000

    Remove HeapTupleheaderSetXminCommitted/Invalid functions
    
    They are neither be used nor be safe to be used, User should use
    SetHintBits instead.

What do you think?

-- 
Best Regards
Andy Fan

>From 343c867aff8838af4906c7a3084b33efb850f351 Mon Sep 17 00:00:00 2001
From: Andy Fan <zhihuifan1...@163.com>
Date: Wed, 25 Jun 2025 07:35:32 +0000
Subject: [PATCH v1 1/1] Remove HeapTupleheaderSetXminCommitted/Invalid
 functions

They are neither be used nor be safe to be used, User should use
SetHintBits instead.
---
 src/include/access/htup_details.h | 14 --------------
 1 file changed, 14 deletions(-)

diff --git a/src/include/access/htup_details.h b/src/include/access/htup_details.h
index aa957cf3b01..bc6094b001f 100644
--- a/src/include/access/htup_details.h
+++ b/src/include/access/htup_details.h
@@ -357,20 +357,6 @@ HeapTupleHeaderXminFrozen(const HeapTupleHeaderData *tup)
 	return (tup->t_infomask & HEAP_XMIN_FROZEN) == HEAP_XMIN_FROZEN;
 }
 
-static inline void
-HeapTupleHeaderSetXminCommitted(HeapTupleHeaderData *tup)
-{
-	Assert(!HeapTupleHeaderXminInvalid(tup));
-	tup->t_infomask |= HEAP_XMIN_COMMITTED;
-}
-
-static inline void
-HeapTupleHeaderSetXminInvalid(HeapTupleHeaderData *tup)
-{
-	Assert(!HeapTupleHeaderXminCommitted(tup));
-	tup->t_infomask |= HEAP_XMIN_INVALID;
-}
-
 static inline void
 HeapTupleHeaderSetXminFrozen(HeapTupleHeaderData *tup)
 {
-- 
2.45.1

Reply via email to