From: | Dmitry Dolgov <9erthalion6(at)gmail(dot)com> |
---|---|
To: | Sergei Kornilov <sk(at)zsrv(dot)org> |
Cc: | Michael Paquier <michael(at)paquier(dot)xyz>, Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>, Marcos Pegoraro <marcos(at)f10(dot)com(dot)br>, vignesh C <vignesh21(at)gmail(dot)com>, Robert Haas <robertmhaas(at)gmail(dot)com>, Zhihong Yu <zyu(at)yugabyte(dot)com>, David Steele <david(at)pgmasters(dot)net>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>, Greg Stark <stark(at)mit(dot)edu>, Pavel Trukhanov <pavel(dot)trukhanov(at)gmail(dot)com>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Subject: | Re: pg_stat_statements and "IN" conditions |
Date: | 2023-02-09 15:02:38 |
Message-ID: | 20230209150238.rdtwruh5i34hdag5@ddolgov.remote.csb |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
> On Tue, Feb 07, 2023 at 11:14:52PM +0300, Sergei Kornilov wrote:
> Hello!
Thanks for reviewing.
> Unfortunately, rebase is needed again due to recent changes in queryjumblefuncs ( 9ba37b2cb6a174b37fc51d0649ef73e56eae27fc )
Yep, my favourite game, rebaseball. Will post a new version soon, after
figuring out all the recent questions.
> It seems a little strange to me that with const_merge_threshold = 1, such a test case gives the same result as with const_merge_threshold = 2
>
> select pg_stat_statements_reset();
> set const_merge_threshold to 1;
> select * from test where i in (1,2,3);
> select * from test where i in (1,2);
> select * from test where i in (1);
> select query, calls from pg_stat_statements order by query;
>
> query | calls
> -------------------------------------+-------
> select * from test where i in (...) | 2
> select * from test where i in ($1) | 1
>
> Probably const_merge_threshold = 1 should produce only "i in (...)"?
Well, it's not intentional, probably I need to be more careful with
off-by-one. Although I agree to a certain extent with Peter questioning
the value of having numerical option here, let me think about this.
> const_merge_threshold is "the minimal length of an array" (more or equal) or "array .. length is larger than" (not equals)? I think the documentation is ambiguous in this regard.
>
> I also noticed a typo in guc_tables.c: "Sets the minimal numer of constants in an array" -> number
Yep, I'll rephrase the documentation.
From | Date | Subject | |
---|---|---|---|
Next Message | Dmitry Dolgov | 2023-02-09 15:12:26 | Re: pg_stat_statements and "IN" conditions |
Previous Message | Tom Lane | 2023-02-09 14:57:42 | Re: MacOS: xsltproc fails with "warning: failed to load external entity" |