public inbox for [email protected]  
help / color / mirror / Atom feed
From: Álvaro Herrera <[email protected]>
To: Chao Li <[email protected]>
Cc: Kirill Reshke <[email protected]>
Cc: PostgreSQL-development <[email protected]>
Subject: Re: Fix REPACK with WITHOUT OVERLAPS replica identity indexes
Date: Sun, 10 May 2026 00:38:08 +0200
Message-ID: <[email protected]> (raw)
In-Reply-To: <[email protected]>

On 2026-May-09, Chao Li wrote:

> > On May 9, 2026, at 01:47, Kirill Reshke <[email protected]> wrote:
> > 
> > On Fri, 8 May 2026 at 09:22, Chao Li <[email protected]> wrote:

> >> While testing UPDATE FOR PORTION OF, I started wondering whether
> >> REPACK supports temporal tables. In theory, it should, because
> >> temporal WITHOUT OVERLAPS indexes can be used as replica identity
> >> indexes. So I created a test script, repack_temporal.spec, which is
> >> included in the attached patch, and it failed.

Nice find, thanks for testing.

> >> I found that REPACK hard-codes BTEqualStrategyNumber when calling
> >> get_opfamily_member(). That seems wrong, because
> >> build_replindex_scan_key() uses IndexAmTranslateCompareType() to
> >> get the equality strategy for COMPARE_EQ.

Makes sense.

I think it would be a good idea to make identity_key_equal() not deform
all attributes, but instead only up to the last one it needs for the key
comparisons.

-- 
Álvaro Herrera         PostgreSQL Developer  —  https://www.EnterpriseDB.com/





view thread (10+ messages)  latest in thread

reply

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: [email protected]
  Cc: [email protected], [email protected], [email protected]
  Subject: Re: Fix REPACK with WITHOUT OVERLAPS replica identity indexes
  In-Reply-To: <[email protected]>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox