Re: ri_LockPKTuple misleading message
amit <amitlangote09@gmail.com>
From: Amit Langote <amitlangote09@gmail.com>
To: jian he <jian.universality@gmail.com>
Cc: PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2026-04-25T11:31:07Z
Lists: pgsql-hackers
On Sat, Apr 25, 2026 at 19:53 jian he <jian.universality@gmail.com> wrote:
> Hi.
>
>
> https://git.postgresql.org/cgit/postgresql.git/commit/?id=2da86c1ef9b5446e0e22c0b6a5846293e58d98e3
> + case TM_Deleted:
> + if (IsolationUsesXactSnapshot())
> + ereport(ERROR,
> + (errcode(ERRCODE_T_R_SERIALIZATION_FAILURE),
> + errmsg("could not serialize access due to concurrent update")));
>
> errmsg should be
> errmsg("could not serialize access due to concurrent delete")));
> ?
>
> ExecLockRows also has the same situation.
I guess the existing wording may have been using "concurrent update" in the
broader sense of "concurrent modification" of the tuple, so I'm not sure
that it's just an oversight.
That said, "concurrent delete" is more precise for the TM_Deleted case, so
I'll change it in the code I committed. As for ExecLockRows(), I'll
leave that alone unless others think we should change that too.
- Amit
>
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Use "concurrent delete" in serialization error for TM_Deleted cases
- 410013d2a591 19 (unreleased) landed
-
Add fast path for foreign key constraint checks
- 2da86c1ef9b5 19 (unreleased) cited