Re: Reject WAIT FOR earlier in transaction-snapshot mode

From: Xuneng Zhou <xunengzhou(at)gmail(dot)com>
To: Sami Imseih <samimseih(dot)pg(at)gmail(dot)com>
Cc: Álvaro Herrera <alvherre(at)kurilemu(dot)de>, Postgres hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: Reject WAIT FOR earlier in transaction-snapshot mode
Date: 2026-09-11 02:24:30
Message-ID: CABPTF7XzMTyyFZe4JSHm8omv74eMOFA=8pDKYNfTKVyQPAz0Wg@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Fri, Sep 11, 2026 at 1:40 AM Sami Imseih <samimseih(dot)pg(at)gmail(dot)com> wrote:
>
> > > Not critically important but note that the PopActiveSnapshot and
> > > InvalidateCatalogSnapshot call and the comment about "giving up if there
> > > is still an active or registered snapshot" have a close relationship; I
> > > think it would make sense to keep them together. I would add your new
> > > test-and-ereport just before the PopActiveSnapshot() call, to avoid
> > > breaking that.
> >
> > Good catch. +1 for doing that.
>
> Sure, that works. See the attached.

Thanks.

> I think as this is an error reporting bug, maybe we should backpatch to 19?

+1 for backpatch. The patch suffices for that purpose, since there's
no divergence between v19 and HEAD for this feature currently. For
cautiousness, I also asked for an AI review for this patch. Here's
what it suggested:

1) Could we use 0/0 instead of $lsn3 for these rejection tests? Since
$lsn3 is deliberately unreachable, the first test can hang if the
isolation check is missing.
2) Also, the isolation-error pattern matches the old DETAIL, so
matching the ERROR: prefix would verify that it is now the primary
error. The cursor case better additionally check that the misleading
isolation-level detail is absent.

--
Regards,
Xuneng Zhou
HighGo Software Co., Ltd.

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2026-09-11 02:31:39 Re: Add PRODUCT() aggregate function
Previous Message Jeevan Chalke 2026-09-11 02:22:04 Re: Add PRODUCT() aggregate function