Re: pg_stat_statements and "IN" conditions
От
Dmitry Dolgov
Тема
Re: pg_stat_statements and "IN" conditions
Дата
Msg-id
20210105125230.etgmgixnn6fmpszl@localhost
Ответ на
Re: pg_stat_statements and "IN" conditions (Zhihong Yu)
Список
Дерево обсуждения
pg_stat_statements and "IN" conditions Dmitry Dolgov <9erthalion6@gmail.com>
Re: pg_stat_statements and "IN" conditions Dmitry Dolgov <9erthalion6@gmail.com>
Re: pg_stat_statements and "IN" conditions Chengxi Sun <sunchengxi@highgo.com>
Re: pg_stat_statements and "IN" conditions Dmitry Dolgov <9erthalion6@gmail.com>
Re: pg_stat_statements and "IN" conditions Dmitry Dolgov <9erthalion6@gmail.com>
Re: pg_stat_statements and "IN" conditions Zhihong Yu <zyu@yugabyte.com>
Re: pg_stat_statements and "IN" conditions Dmitry Dolgov <9erthalion6@gmail.com>
Re: pg_stat_statements and "IN" conditions Zhihong Yu <zyu@yugabyte.com>
Re: pg_stat_statements and "IN" conditions David Steele <david@pgmasters.net>
Re: pg_stat_statements and "IN" conditions Dmitry Dolgov <9erthalion6@gmail.com>
Re: pg_stat_statements and "IN" conditions Dmitry Dolgov <9erthalion6@gmail.com>
Re: pg_stat_statements and "IN" conditions Dmitry Dolgov <9erthalion6@gmail.com>
Re: pg_stat_statements and "IN" conditions Dmitry Dolgov <9erthalion6@gmail.com>
Re: pg_stat_statements and "IN" conditions Zhihong Yu <zyu@yugabyte.com>
Re: pg_stat_statements and "IN" conditions Dmitry Dolgov <9erthalion6@gmail.com>
Re: pg_stat_statements and "IN" conditions Tom Lane <tgl@sss.pgh.pa.us>
Re: pg_stat_statements and "IN" conditions Dmitry Dolgov <9erthalion6@gmail.com>
Re: pg_stat_statements and "IN" conditions Dmitry Dolgov <9erthalion6@gmail.com>
Re: pg_stat_statements and "IN" conditions Tom Lane <tgl@sss.pgh.pa.us>
Re: pg_stat_statements and "IN" conditions Dmitry Dolgov <9erthalion6@gmail.com>
Re: pg_stat_statements and "IN" conditions Robert Haas <robertmhaas@gmail.com>
Re: pg_stat_statements and "IN" conditions Dmitry Dolgov <9erthalion6@gmail.com>
Re: pg_stat_statements and "IN" conditions Robert Haas <robertmhaas@gmail.com>
Re: pg_stat_statements and "IN" conditions Tom Lane <tgl@sss.pgh.pa.us>
Re: pg_stat_statements and "IN" conditions Dmitry Dolgov <9erthalion6@gmail.com>
Re: pg_stat_statements and "IN" conditions Tom Lane <tgl@sss.pgh.pa.us>
Re: pg_stat_statements and "IN" conditions Dmitry Dolgov <9erthalion6@gmail.com>
Re: pg_stat_statements and "IN" conditions Dmitry Dolgov <9erthalion6@gmail.com>
Re: pg_stat_statements and "IN" conditions Dmitry Dolgov <9erthalion6@gmail.com>
Re:pg_stat_statements and "IN" conditions Sergei Kornilov <sk@zsrv.org>
Re: pg_stat_statements and "IN" conditions Dmitry Dolgov <9erthalion6@gmail.com>
Re: pg_stat_statements and "IN" conditions Dmitry Dolgov <9erthalion6@gmail.com>
Re: pg_stat_statements and "IN" conditions vignesh C <vignesh21@gmail.com>
Re: pg_stat_statements and "IN" conditions Dmitry Dolgov <9erthalion6@gmail.com>
Re: pg_stat_statements and "IN" conditions Marcos Pegoraro <marcos@f10.com.br>
Re: pg_stat_statements and "IN" conditions Dmitry Dolgov <9erthalion6@gmail.com>
Re: pg_stat_statements and "IN" conditions Alvaro Herrera <alvherre@alvh.no-ip.org>
Re: pg_stat_statements and "IN" conditions Dmitry Dolgov <9erthalion6@gmail.com>
Re: pg_stat_statements and "IN" conditions Dmitry Dolgov <9erthalion6@gmail.com>
Re: pg_stat_statements and "IN" conditions Michael Paquier <michael@paquier.xyz>
Re: pg_stat_statements and "IN" conditions Dmitry Dolgov <9erthalion6@gmail.com>
Re: pg_stat_statements and "IN" conditions Tom Lane <tgl@sss.pgh.pa.us>
Re: pg_stat_statements and "IN" conditions Dmitry Dolgov <9erthalion6@gmail.com>
Re:pg_stat_statements and "IN" conditions Sergei Kornilov <sk@zsrv.org>
Re: pg_stat_statements and "IN" conditions Dmitry Dolgov <9erthalion6@gmail.com>
Re: pg_stat_statements and "IN" conditions David Geier <geidav.pg@gmail.com>
Re: pg_stat_statements and "IN" conditions Dmitry Dolgov <9erthalion6@gmail.com>
Re: pg_stat_statements and "IN" conditions Dmitry Dolgov <9erthalion6@gmail.com>
Re: pg_stat_statements and "IN" conditions David Geier <geidav.pg@gmail.com>
Re: pg_stat_statements and "IN" conditions Dmitry Dolgov <9erthalion6@gmail.com>
Re: pg_stat_statements and "IN" conditions David Geier <geidav.pg@gmail.com>
Re: pg_stat_statements and "IN" conditions Dmitry Dolgov <9erthalion6@gmail.com>
Re: pg_stat_statements and "IN" conditions "Gregory Stark (as CFM)" <stark.cfm@gmail.com>
Re: pg_stat_statements and "IN" conditions Dmitry Dolgov <9erthalion6@gmail.com>
Re: pg_stat_statements and "IN" conditions Dmitry Dolgov <9erthalion6@gmail.com>
Re: pg_stat_statements and "IN" conditions Nathan Bossart <nathandbossart@gmail.com>
Re: pg_stat_statements and "IN" conditions Dmitry Dolgov <9erthalion6@gmail.com>
Re: pg_stat_statements and "IN" conditions Jakub Wartak <jakub.wartak@enterprisedb.com>
Re: pg_stat_statements and "IN" conditions Maciek Sakrejda <m.sakrejda@gmail.com>
Re: pg_stat_statements and "IN" conditions Yasuo Honda <yasuo.honda@gmail.com>
Re: pg_stat_statements and "IN" conditions Nathan Bossart <nathandbossart@gmail.com>
Re: pg_stat_statements and "IN" conditions Michael Paquier <michael@paquier.xyz>
Re: pg_stat_statements and "IN" conditions Dmitry Dolgov <9erthalion6@gmail.com>
Re: pg_stat_statements and "IN" conditions Dmitry Dolgov <9erthalion6@gmail.com>
Re: pg_stat_statements and "IN" conditions Michael Paquier <michael@paquier.xyz>
Re: pg_stat_statements and "IN" conditions Dmitry Dolgov <9erthalion6@gmail.com>
Re: pg_stat_statements and "IN" conditions Dmitry Dolgov <9erthalion6@gmail.com>
Re: pg_stat_statements and "IN" conditions vignesh C <vignesh21@gmail.com>
Re: pg_stat_statements and "IN" conditions Dmitry Dolgov <9erthalion6@gmail.com>
Re: pg_stat_statements and "IN" conditions Dmitry Dolgov <9erthalion6@gmail.com>
Re: pg_stat_statements and "IN" conditions Peter Smith <smithpb2250@gmail.com>
Re: pg_stat_statements and "IN" conditions Dmitry Dolgov <9erthalion6@gmail.com>
Re: pg_stat_statements and "IN" conditions Tom Lane <tgl@sss.pgh.pa.us>
Re: pg_stat_statements and "IN" conditions Dmitry Dolgov <9erthalion6@gmail.com>
Re: pg_stat_statements and "IN" conditions Dmitry Dolgov <9erthalion6@gmail.com>
Re: pg_stat_statements and "IN" conditions Yasuo Honda <yasuo.honda@gmail.com>
Re: pg_stat_statements and "IN" conditions Dmitry Dolgov <9erthalion6@gmail.com>
Re: pg_stat_statements and "IN" conditions Yasuo Honda <yasuo.honda@gmail.com>
Re: pg_stat_statements and "IN" conditions Dmitry Dolgov <9erthalion6@gmail.com>
Re: pg_stat_statements and "IN" conditions Yasuo Honda <yasuo.honda@gmail.com>
Re: pg_stat_statements and "IN" conditions Dmitry Dolgov <9erthalion6@gmail.com>
Re: pg_stat_statements and "IN" conditions Yasuo Honda <yasuo.honda@gmail.com>
Re: pg_stat_statements and "IN" conditions Dmitry Dolgov <9erthalion6@gmail.com>
Re: pg_stat_statements and "IN" conditions Sutou Kouhei <kou@clear-code.com>
Re: pg_stat_statements and "IN" conditions Dmitry Dolgov <9erthalion6@gmail.com>
Re: pg_stat_statements and "IN" conditions Dmitry Dolgov <9erthalion6@gmail.com>
Re: pg_stat_statements and "IN" conditions Sergei Kornilov <sk@zsrv.org>
Re: pg_stat_statements and "IN" conditions Dmitry Dolgov <9erthalion6@gmail.com>
Re: pg_stat_statements and "IN" conditions Dmitry Dolgov <9erthalion6@gmail.com>
Re: pg_stat_statements and "IN" conditions Kirill Reshke <reshkekirill@gmail.com>
Re: pg_stat_statements and "IN" conditions Peter Eisentraut <peter.eisentraut@enterprisedb.com>
Re: pg_stat_statements and "IN" conditions Dmitry Dolgov <9erthalion6@gmail.com>
Re: pg_stat_statements and "IN" conditions Alvaro Herrera <alvherre@alvh.no-ip.org>
Re: pg_stat_statements and "IN" conditions Dmitry Dolgov <9erthalion6@gmail.com>
Re: pg_stat_statements and "IN" conditions Dmitry Dolgov <9erthalion6@gmail.com>
Re: pg_stat_statements and "IN" conditions Dmitry Dolgov <9erthalion6@gmail.com>
Re: pg_stat_statements and "IN" conditions Robert Haas <robertmhaas@gmail.com>
Re: pg_stat_statements and "IN" conditions Dmitry Dolgov <9erthalion6@gmail.com>
Re: pg_stat_statements and "IN" conditions "Andrey V. Lepikhov" <a.lepikhov@postgrespro.ru>
Re: pg_stat_statements and "IN" conditions Tom Lane <tgl@sss.pgh.pa.us>
> On Sat, Dec 26, 2020 at 08:53:28AM -0800, Zhihong Yu wrote:
> Hi,
> A few comments.
>
> + foreach(lc, (List *) expr)
> + {
> + Node * subExpr = (Node *) lfirst(lc);
> +
> + if (!IsA(subExpr, Const))
> + {
> + allConst = false;
> + break;
> + }
> + }
>
> It seems the above foreach loop (within foreach(temp, (List *) node)) can
> be preceded with a check that allConst is true. Otherwise the loop can be
> skipped.
Thanks for noticing. Now that I look at it closer I think it's the other
way around, the loop above checking constants for the first expression
is not really necessary.
> + if (currentExprIdx == pgss_merge_threshold - 1)
> + {
> + JumbleExpr(jstate, expr);
> +
> + /*
> + * A const expr is already found, so JumbleExpr must
> + * record it. Mark it as merged, it will be the
> first
> + * merged but still present in the statement query.
> + */
> + Assert(jstate->clocations_count > 0);
> + jstate->clocations[jstate->clocations_count -
> 1].merged = true;
> + currentExprIdx++;
> + }
>
> The above snippet occurs a few times. Maybe extract into a helper method.
Originally I was hesitant to extract it was because it's quite small
part of the code. But now I've realized that the part relevant to lists
is not really correct, which makes those bits even more different, so I
think it makes sense to leave it like that. What do you think?
В списке pgsql-hackers по дате отправления