Re: queryId constant squashing does not support prepared statements

Sami Imseih <samimseih@gmail.com>

From: Sami Imseih <samimseih@gmail.com>
To: Álvaro Herrera <alvherre@kurilemu.de>
Cc: Michael Paquier <michael@paquier.xyz>, Dmitry Dolgov <9erthalion6@gmail.com>, Junwang Zhao <zhjwpku@gmail.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2025-06-09T15:09:00Z
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

> I've spent a bunch of time looking at this series and here's my take on
> the second one.

Thanks!

> I realized that the whole in_expr production in gram.y is pointless, and
> the whole private struct that was added was unnecessary.  A much simpler
> solution is to remove in_expr, expand its use in a_expr to the two
> possibilities, and with that we can remove the need for a new struct.

Nice simplification.

> I also added a recursive call in IsSquashableExpression to itself.  The

I agree with this. I was thinking about a follow-up patch for this based on
the discussion above, but why not just add it now.

> Barring objections, I'll push this soon, then look at rebasing 0003 on
> top, which I expect to be an easy job.

LGTM.

--
Sami