Re: [HACKERS] pg_stat_statements query normalization, and the 'in' operator - Mailing list pgsql-hackers

From Tom Lane
Subject Re: [HACKERS] pg_stat_statements query normalization, and the 'in' operator
Date
Msg-id 17373.1502551895@sss.pgh.pa.us
Whole thread Raw
In response to [HACKERS] pg_stat_statements query normalization, and the 'in' operator  (unixway.drive@gmail.com)
List pgsql-hackers
unixway.drive@gmail.com writes:
> Given the following list of queries:

>    create table foo (id serial, bar integer);
>    select * from foo where id in (1);
>    select * from foo where id in (2,3);
>    select * from foo where id in (1,3,5);
>    select * from foo where id in (select id from foo);

> would it be possible to have first three select queries to be normalized 
> into a single one so that 'select query from pg_stat_statements' returns 
> something like:

>    select * from foo where id in (...);
>    select * from foo where id in (select id from foo);

Wouldn't recommend holding your breath for that.  But you could do the
same conversion on the client side that the parser would do anyway:

select * from foo where id = any ('{1,3,5}'::integer[]);
        regards, tom lane



pgsql-hackers by date:

Previous
From: Amit Kapila
Date:
Subject: Re: [HACKERS] why not parallel seq scan for slow functions
Next
From: Tom Lane
Date:
Subject: Re: [HACKERS] Timing-sensitive case in src/test/recovery TAP tests