Re: REPACK enhancements

From: shihao zhong <zhong950419(at)gmail(dot)com>
To: Antonin Houska <ah(at)cybertec(dot)at>
Cc: alvherre(at)kurilemu(dot)de, pgsql-hackers(at)lists(dot)postgresql(dot)org
Subject: Re: REPACK enhancements
Date: 2026-09-21 23:27:01
Message-ID: CAGRkXqRX2baaDYHjHLK511vL3kuT8qmZRXbx+bgHCPcgyKsEjw@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi Antonin,

Thanks for the diff. I am still on 0004, so the two fixes attached are
against v03-0004 alone. They apply on top of it in this order.

1. replay_all_blocks_the_scan_passed
gap.spec still loses 40 rows with your diff. The replay must use cur, not
the old range end, because the scan skips blocks that have no tuples.

2. syncscan_wraparound
finalize_block_range() only updates range_end, so after the wrap
"blkno < range_start" stays true for every tuple. The check now follows
is_block_in_range(), and the last range is capped at range_start. 100
blocks, scan starts at 48, about 1700 boundaries before, 6 after.

With both, extend.spec and gap.spec lose no rows, and all tests pass.

Thanks,
Shihao

Attachment Content-Type Size
nocfbot.replay_all_blocks_the_scan_passed.diff application/octet-stream 996 bytes
nocfbot.syncscan_wraparound.diff application/octet-stream 1.4 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message shihao zhong 2026-09-21 23:54:04 Re: Add a permission check to pg_stat_get_backend_subxact()
Previous Message Sami Imseih 2026-09-21 23:22:35 Re: [Proposal] Expose internal MultiXact member count function for efficient monitoring