From: Álvaro Herrera <alvherre@alvh.no-ip.org>
To: Michael Paquier <michael@paquier.xyz>
Cc: Anastasia Lubennikova <a.lubennikova@postgrespro.ru>
Cc: pgsql-hackers@lists.postgresql.org
Subject: Re: some pointless HeapTupleHeaderIndicatesMovedPartitions calls
Date: Mon, 22 Feb 2021 17:15:57 -0300
Message-ID: <20210222201557.GA32655@alvherre.pgsql> (raw)
In-Reply-To: <YDGYzjlHgUSPn/uR@paquier.xyz>
On 2021-Feb-21, Michael Paquier wrote:
> On Sat, Feb 20, 2021 at 12:25:58PM -0300, Álvaro Herrera wrote:
> > Hmm. Alternatively, maybe it'd make sense to change
> > HeapTupleHeaderSetMovedPartition to use ItemPointerSetMovedPartitions
> > instead of doing ItemPointerSet directly. But that looks mostly
> > pointless, since the extensibility aspect of this interface has been
> > superseded by table AM work. I agree we should just remove the macro
> > and update the comment as you suggest.
>
> Thanks. So you will do this change in the same commit, right?
I changed my mind on this after noticing that
ItemPointerIndicatesMovedPartitions has a few callers; leaving the
interface incomplete/asymmetric would be worse. So I propose to do
this.
diff --git a/src/include/access/htup_details.h b/src/include/access/htup_details.hindex 7c62852e7f..86b3622b5e 100644--- a/src/include/access/htup_details.h+++ b/src/include/access/htup_details.h@@ -443,11 +443,10 @@ do { \
)
#define HeapTupleHeaderIndicatesMovedPartitions(tup) \
- (ItemPointerGetOffsetNumber(&(tup)->t_ctid) == MovedPartitionsOffsetNumber && \- ItemPointerGetBlockNumberNoCheck(&(tup)->t_ctid) == MovedPartitionsBlockNumber)+ ItemPointerIndicatesMovedPartitions(&(tup)->t_ctid)
#define HeapTupleHeaderSetMovedPartitions(tup) \
- ItemPointerSet(&(tup)->t_ctid, MovedPartitionsBlockNumber, MovedPartitionsOffsetNumber)+ ItemPointerSetMovedPartitions(&(tup)->t_ctid)
#define HeapTupleHeaderGetDatumLength(tup) \
VARSIZE(tup)
--
Álvaro Herrera Valdivia, Chile
"¿Cómo puedes confiar en algo que pagas y que no ves,
y no confiar en algo que te dan y te lo muestran?" (Germán Poo)
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-hackers@postgresql.org
Cc: alvherre@alvh.no-ip.org, michael@paquier.xyz, a.lubennikova@postgrespro.ru, pgsql-hackers@lists.postgresql.org
Subject: Re: some pointless HeapTupleHeaderIndicatesMovedPartitions calls
In-Reply-To: <20210222201557.GA32655@alvherre.pgsql>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox