Re: queryId constant squashing does not support prepared statements
Sami Imseih <samimseih@gmail.com>
From: Sami Imseih <samimseih@gmail.com>
To: Dmitry Dolgov <9erthalion6@gmail.com>
Cc: Michael Paquier <michael@paquier.xyz>, Junwang Zhao <zhjwpku@gmail.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2025-05-22T01:22:19Z
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
Attachments
- v4-0002-Support-external-parameters-for-query-squashing.patch (application/x-patch) patch v4-0002
- v4-0003-Extend-ARRAY-squashing-tests.patch (application/x-patch) patch v4-0003
- v4-0001-Add-tracking-for-expression-boundaries.patch (application/x-patch) patch v4-0001
> > > At the same time AFAICT there isn't much more code paths > > > to worry about in case of a LocationExpr as a node > > > > I can imagine there are others like value expressions, > > row expressions, json array expressions, etc. that we may > > want to also normalize. > Exactly. When using a node, one can explicitly wrap whatever is needed > into it, while otherwise one would need to find a new way to piggy back > on A_Expr in a new context. Looking at the VALUES expression case, we will need to carry the info with SelectStmt and ultimately to RangeTblEntry which is where the values_list is, so either approach we take RangeTblEntry will need the LocationExpr pointer or the additional ParseLoc info I am suggesting. A_Expr is not used in the values list case. > I'll take a look at the proposed change, but a bit later. Here is a v4 to compare with v3. 0001- is the infrastructure to track the boundaries 0002- the changes to jumbling 0003 - the additional tests introduced in v3 -- Sami