| From: | Álvaro Herrera <alvherre(at)kurilemu(dot)de> |
|---|---|
| To: | Chao Li <li(dot)evan(dot)chao(at)gmail(dot)com> |
| Cc: | Kirill Reshke <reshkekirill(at)gmail(dot)com>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org> |
| Subject: | Re: Fix REPACK with WITHOUT OVERLAPS replica identity indexes |
| Date: | 2026-05-09 22:38:08 |
| Message-ID: | af-TWUDogg7KP1ij@alvherre.pgsql |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
On 2026-May-09, Chao Li wrote:
> > On May 9, 2026, at 01:47, Kirill Reshke <reshkekirill(at)gmail(dot)com> wrote:
> >
> > On Fri, 8 May 2026 at 09:22, Chao Li <li(dot)evan(dot)chao(at)gmail(dot)com> 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/
| From | Date | Subject | |
|---|---|---|---|
| Previous Message | SATYANARAYANA NARLAPURAM | 2026-05-09 21:00:20 | Re: [Patch] Omit virtual generated columns from test_decoding output |