Re: [PATCH] Query Jumbling for CALL and SET utility statements

Drouvot, Bertrand <bdrouvot@amazon.com>

From: "Drouvot, Bertrand" <bdrouvot@amazon.com>
To: 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-08T16:07:05Z
Lists: pgsql-hackers
Hi,

On 9/8/22 1:29 PM, Julien Rouhaud wrote:
> Hi,
>
> On Thu, Sep 08, 2022 at 11:06:51AM +0200, Drouvot, Bertrand wrote:
>> Hi,
>>
>> On 9/8/22 8:50 AM, Julien Rouhaud wrote:
>>
>> Thanks for looking at it!
>>
>>> On Thu, Sep 08, 2022 at 02:23:19PM +0900, Michael Paquier wrote:
>>>> On Wed, Sep 07, 2022 at 06:19:42PM -0700, Jeremy Schneider wrote:
>>>>> I didn't fully debug yet, but here's the backtrace on my 14.4 build with
>>>>> the patch
>>>> What happens on HEAD?  That would be the target branch for a new
>>>> feature.
>>> It would be the same AFAICS.  From v3:
>>>
>>> +               case T_VariableSetStmt:
>>> +                       {
>>> +                               VariableSetStmt *stmt = (VariableSetStmt *) node;
>>> +
>>> +                               APP_JUMB_STRING(stmt->name);
>>> +                               JumbleExpr(jstate, (Node *) stmt->args);
>>> +                       }
>>>
>>> For a RESET ALL command stmt->name is NULL.
>> Right, please find attached v4 addressing the issue and also Sami's comments
>> [1].
> (Sorry I've not been following this thread until now)
>
> IME if your application relies on 2PC it's very likely that you will hit the
> exact same problems described in your original email.

Agree

>   What do you think about
> normalizing those too while working on the subject?

That sounds reasonable, I'll have a look at those too while at it.

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.