Re: queryId constant squashing does not support prepared statements

Dmitry Dolgov <9erthalion6@gmail.com>

From: Dmitry Dolgov <9erthalion6@gmail.com>
To: Michael Paquier <michael@paquier.xyz>
Cc: Junwang Zhao <zhjwpku@gmail.com>, Sami Imseih <samimseih@gmail.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2025-05-09T08:10:46Z
Lists: pgsql-hackers

Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Fix typo in comment

  2. Make query jumbling also squash PARAM_EXTERN params

  3. Fix squashing algorithm for query texts

  4. pg_stat_statements: Fix parameter number gaps in normalized queries

> On Fri, May 09, 2025 at 02:35:33PM GMT, Michael Paquier wrote:
> On Fri, May 09, 2025 at 11:05:43AM +0800, Junwang Zhao wrote:
> > Why not a location and a length, it should be more natural, it
> > seems we use this convention in some existing nodes, like
> > RawStmt, InsertStmt etc.
>
> These are new concepts as of Postgres 18 (aka only on HEAD), chosen
> mainly to match with the internals of pg_stat_statements as far as I
> recall.  Doing the same here would not hurt, but it may be better
> depending on the cases to rely on a start/end.  I suspect that
> switching from one to the other should not change much the internal
> squashing logic.

Right, switching from start/length to start/end wouldn't change much for
squashing. I didn't have any strong reason to go with start/end from my
side, so if start/length is more aligned with other nodes, let's change
that.