Re: Query Jumbling for CALL and SET utility statements

Bertrand Drouvot <bertranddrouvot.pg@gmail.com>

From: "Drouvot, Bertrand" <bertranddrouvot.pg@gmail.com>
To: Fujii Masao <masao.fujii@oss.nttdata.com>, Julien Rouhaud <rjuju123@gmail.com>
Cc: Michael Paquier <michael@paquier.xyz>, Jeremy Schneider <schnjere@amazon.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>, Pavel Stehule <pavel.stehule@gmail.com>, Andres Freund <andres@anarazel.de>, "Imseih (AWS), Sami" <simseih@amazon.com>
Date: 2022-09-16T15:47:40Z
Lists: pgsql-hackers
Hi,

On 9/16/22 2:53 PM, Fujii Masao wrote:
> 
>  
>> Attached v5 to normalize 2PC commands too, so that we get things like:
> 
> +        case T_VariableSetStmt:
> +            {
> +                VariableSetStmt *stmt = (VariableSetStmt *) node;
> +
> +                /* stmt->name is NULL for RESET ALL */
> +                if (stmt->name)
> +                {
> +                    APP_JUMB_STRING(stmt->name);
> +                    JumbleExpr(jstate, (Node *) stmt->args);
> 
> With the patch, "SET ... TO DEFAULT" and "RESET ..." are counted as the 
> same query.
> Is this intentional? 

Thanks for looking at the patch!
No, it is not intentional, good catch!

> Which might be ok because their behavior is 
> basically the same.
> But I'm afaid which may cause users to be confused. For example, they 
> may fail to
> find the pgss entry for RESET command they ran and just wonder why the 
> command was
> not recorded. To avoid such confusion, how about appending stmt->kind to 
> the jumble?
> Thought?

I think that's a good idea and will provide a new version taking care of 
it (and also Sami's comments up-thread).

Regards,

-- 
Bertrand Drouvot
PostgreSQL Contributors Team
RDS Open Source Databases
Amazon Web Services: https://aws.amazon.com



Commits

  1. Show values of SET statements as constants in pg_stat_statements

  2. Teach contrib/pg_stat_statements to handle multi-statement commands better.