Re: queryId constant squashing does not support prepared statements
Michael Paquier <michael@paquier.xyz>
From: Michael Paquier <michael@paquier.xyz>
To: Sami Imseih <samimseih@gmail.com>
Cc: Dmitry Dolgov <9erthalion6@gmail.com>, Junwang Zhao <zhjwpku@gmail.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2025-05-19T21:30:25Z
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 →
-
Fix typo in comment
- a3994ec6acb2 18.0 landed
-
Make query jumbling also squash PARAM_EXTERN params
- c2da1a5d6325 18.0 landed
-
Fix squashing algorithm for query texts
- 0f65f3eec478 18.0 landed
-
pg_stat_statements: Fix parameter number gaps in normalized queries
- 3c03b8cd7979 13.22 landed
- 8a1459f62ad1 14.19 landed
- 130300a15407 15.14 landed
- 7e8b44f4e0e6 16.10 landed
- 290e8ab32ac5 17.6 landed
- 35a428f30b15 18.0 landed
On Mon, May 12, 2025 at 06:40:43PM -0400, Sami Imseih wrote: > Also, LocationExpr is not really an expression node, but a wrapper to > an expression node, so I think it's wrong to define it as a Node and be > required to add the necessary handling for it in nodeFuncs.c. I think we > can just define it as a struct in gram.y so it can carry the locations of the > expression and then set the List of the location boundaries in > A_Expr and A_ArrayExpr. right? Right. LocationExpr is not a full Node, so if we can do these improvements without it we have less maintenance to worry about across the board with less code paths. At the end, I think that we should try to keep the amount of work done by PGSS as minimal as possible. I was a bit worried about not using a Node but Sami has reminded me last week that we already have in gram.y the concept of using some private structures to track intermediate results done by the parsing that we sometimes do not want to push down to the code calling the parser. If we can do the same, the result could be nicer. By the way, the new test cases for ARRAY lists are sent in the last patch of the series posted on this thread: https://www.postgresql.org/message-id/7zbzwk4btnxoo4o3xbtzefoqvht54cszjj4bol22fmej5nmgkf@dbcn4wtakw4y These should be first in the list, IMO, so as it is possible to track what the behavior was before the new logic as of HEAD, and what the behavior would become after the new logic. -- Michael