| From: | Michael Paquier <michael(at)paquier(dot)xyz> |
|---|---|
| To: | Imran Zaheer <imran(dot)zhir(at)gmail(dot)com> |
| Cc: | Heikki Linnakangas <hlinnaka(at)iki(dot)fi>, Srinath Reddy Sadipiralla <srinath2133(at)gmail(dot)com>, Matthias van de Meent <boekewurm+postgres(at)gmail(dot)com>, Alexander Lakhin <exclusion(at)gmail(dot)com>, PostgreSQL mailing lists <pgsql-bugs(at)lists(dot)postgresql(dot)org>, Konstantin Knizhnik <knizhnik(at)garret(dot)ru> |
| Subject: | Re: BUG #19519: REPACK can fail due to missing chunk for toast value |
| Date: | 2026-07-08 22:49:55 |
| Message-ID: | ak7UE1KPZnAGfhW1@paquier.xyz |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-bugs |
On Wed, Jul 08, 2026 at 08:00:28PM +0500, Imran Zaheer wrote:
> The tuplesort_getheaptuple() will contain both live and recently
> deleted tuples. However, the proposed fix passes missing_ok=true for
> all tuples coming out of the sort, which means a toast fetch failure
> for a LIVE tuple would be acceptable and will be silently skipped. Or
> am I missing something?
Argh, thanks. Using missing_ok=true for the sort path is broken. The
flag should be false, instead. When dealing with the sort of the
tuples, we would already have made sure that the tuples with missing
toast chunks have been discarded, so a plain error with a missing
chunk would point to an invalid case.
I'm taking some time today to rework the patch set. Will add this
adjustment in it.
--
Michael
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Jacob Champion | 2026-07-08 22:54:06 | Re: REVOKE's CASCADE protection doesn't work with INHERITed table owners |
| Previous Message | Dean Rasheed | 2026-07-08 20:29:35 | Re: BUG #19536: UPDATE RETURNING OLD value is stale after concurrent update when table has a BEFORE UPDATE trigger |