Re: some pointless HeapTupleHeaderIndicatesMovedPartitions calls

Pavan Deolasee <pavan.deolasee@gmail.com>

From: Pavan Deolasee <pavan.deolasee@gmail.com>
To: Alvaro Herrera <alvherre@2ndquadrant.com>
Cc: Pg Hackers <pgsql-hackers@lists.postgresql.org>, Pavan Deolasee <pavan.deolasee@2ndquadrant.com>, Andres Freund <andres@anarazel.de>
Date: 2021-01-18T04:57:11Z
Lists: pgsql-hackers
Hi Alvaro,

On Tue, Sep 29, 2020 at 10:14 PM Alvaro Herrera <alvherre@2ndquadrant.com>
wrote:

> Hello
>
> Pavan Deolasee recently noted that a few of the
> HeapTupleHeaderIndicatesMovedPartitions calls added by commit
> 5db6df0c0117 are useless, since they are done after comparing t_self
> with t_ctid.  That's because t_self can never be set to the magical
> values that indicate that the tuple moved partition.  If the first
> test fails (so we know t_self equals t_ctid), necessarily the second
> test will also fail.
>
> So these checks can be removed and no harm is done.
>
>
The patch looks good to me. The existing coding pattern was a bit confusing
and that's how I noticed it. So +1 for fixing it.

Thanks,
Pavan

-- 
Pavan Deolasee
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

Commits

  1. Rework HeapTupleHeader macros to reuse itemptr.h

  2. Remove pointless HeapTupleHeaderIndicatesMovedPartitions calls

  3. tableam: Add tuple_{insert, delete, update, lock} and use.