| 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 |
| 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 |