On Thu, Jun 20, 2024 at 11:49:50AM -0400, Melanie Plageman wrote:
> On Tue, Jun 18, 2024 at 6:51 PM Melanie Plageman <melanieplageman@gmail.com> wrote:
> > I ended up manually backporting the logic from 1ccc1e05ae as opposed
> > to cherry-picking because it relied on a struct introduced in
> > 4e9fc3a9762065.
> Attached is the backport and repros for 15 and 16.
> When this happends, a tuple with an xmax older than OldestXmin but newer
s/happends/happens/
> @@ -700,7 +707,7 @@ heap_prune_chain(Buffer buffer, OffsetNumber rootoffnum, PruneState *prstate)
> break;
>
> Assert(ItemIdIsNormal(lp));
> - Assert(prstate->htsv[offnum] != -1);
> + Assert(htsv[offnum] != -1);
The master patch removed this assert instead. Is the back branch non-removal
deliberate? If so, the patch is ready. I also confirm your results from your
repro recipe; thanks for including that.