Re: queryId constant squashing does not support prepared statements
Álvaro Herrera <alvherre@kurilemu.de>
From: Álvaro Herrera <alvherre@kurilemu.de>
To: Sami Imseih <samimseih@gmail.com>
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-09T10:44:59Z
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
- v9-0001-Enhanced-query-jumbling-squashing-tests.patch (text/x-diff)
Hello, I've spent a bunch of time looking at this series and here's my take on the second one. (The testing patch is unchanged from Sami's). The third patch (for PARAM_EXTERNs) should be a mostly trivial rebase on top of these two. 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. I also added a recursive call in IsSquashableExpression to itself. The check for stack depth can be done without throwing an error. I tested this by adding stack bloat in that function. I also renamed it to IsSquashableConstant. This changes one of the tests, because a cast sequence like 42::int::bigint::int is considered squashable. Other than that, the changes are cosmetic. Barring objections, I'll push this soon, then look at rebasing 0003 on top, which I expect to be an easy job. -- Álvaro Herrera PostgreSQL Developer — https://www.EnterpriseDB.com/