Re: pg_stat_statements and "IN" conditions
Dmitry Dolgov <9erthalion6@gmail.com>
From: Dmitry Dolgov <9erthalion6@gmail.com>
To: David Steele <david@pgmasters.net>
Cc: Zhihong Yu <zyu@yugabyte.com>, PostgreSQL-development <pgsql-hackers@postgresql.org>, Tom Lane <tgl@sss.pgh.pa.us>, Greg Stark <stark@mit.edu>, Pavel Trukhanov <pavel.trukhanov@gmail.com>
Date: 2021-06-16T14:02:12Z
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 →
-
Introduce squashing of constant lists in query jumbling
- 62d712ecfd94 18.0 landed
-
Make documentation builds reproducible
- b0f0a9432d0b 17.0 cited
-
Include values of A_Const nodes in query jumbling
- 9ba37b2cb6a1 16.0 cited
-
Teach planner about more monotonic window functions
- 456fa635a909 16.0 cited
-
Split up guc.c for better build speed and ease of maintenance.
- 0a20ff54f5e6 16.0 cited
Attachments
> On Tue, Jun 15, 2021 at 05:18:50PM +0200, Dmitry Dolgov wrote: > > On Thu, Mar 18, 2021 at 04:50:02PM +0100, Dmitry Dolgov wrote: > > > On Thu, Mar 18, 2021 at 09:38:09AM -0400, David Steele wrote: > > > On 1/5/21 10:51 AM, Zhihong Yu wrote: > > > > > > > > + int lastExprLenght = 0; > > > > > > > > Did you mean to name the variable lastExprLenghth ? > > > > > > > > w.r.t. extracting to helper method, the second and third > > > > if (currentExprIdx == pgss_merge_threshold - 1) blocks are similar. > > > > It is up to you whether to create the helper method. > > > > I am fine with the current formation. > > > > > > Dmitry, thoughts on this review? > > > > Oh, right. lastExprLenghth is obviously a typo, and as we agreed that > > the helper is not strictly necessary I wanted to wait a bit hoping for > > more feedback and eventually to post an accumulated patch. Doesn't make > > sense to post another version only to fix one typo :) > > Hi, > > I've prepared a new rebased version to deal with the new way of > computing query id, but as always there is one tricky part. From what I > understand, now an external module can provide custom implementation for > query id computation algorithm. It seems natural to think this machinery > could be used instead of patch in the thread, i.e. one could create a > custom logic that will enable constants collapsing as needed, so that > same queries with different number of constants in an array will be > hashed into the same record. > > But there is a limitation in how such queries will be normalized > afterwards — to reduce level of surprise it's necessary to display the > fact that a certain query in fact had more constants that are showed in > pgss record. Ideally LocationLen needs to carry some bits of information > on what exactly could be skipped, and generate_normalized_query needs to > understand that, both are not reachable for an external module with > custom query id logic (without replicating significant part of the > existing code). Hence, a new version of the patch. Forgot to mention a couple of people who already reviewed the patch.