Re: Multiple Query IDs for a rewritten parse tree - Mailing list pgsql-hackers

From Julien Rouhaud
Subject Re: Multiple Query IDs for a rewritten parse tree
Date
Msg-id YdwM/SIuhP92omGi@jrouhaud
Whole thread Raw
In response to Re: Multiple Query IDs for a rewritten parse tree  (Andrey Lepikhov <a.lepikhov@postgrespro.ru>)
Responses Re: Multiple Query IDs for a rewritten parse tree
List pgsql-hackers
On Mon, Jan 10, 2022 at 03:24:46PM +0500, Andrey Lepikhov wrote:
> On 10/1/2022 13:56, Julien Rouhaud wrote:
> > 
> > I don't know the details of that extension, but I think that it should work as
> > long as you have the constants information in the jumble state, whatever the
> > resulting normalized query string is right?
> Yes. the same input query string doesn't prove that frozen query plan can be
> used, because rewrite rules could be changed. So we use only a query tree.

Yes, I'm fully aware of that.  I wasn't asking about using the input query
string but the need for generating a dedicated normalized output query string
that would be potentially different from the one generated by
pg_stat_statements (or similar).

> > But then, if generating 2 queryid is a better for performance, does the
> > extension really need an additional jumble state and/or normalized query
> > string?
> Additional Jumble state isn't necessary, but it would be better for
> performance to collect pointers to all constant nodes during a process of
> hash generation.

I agree, but it's even better for performance if this is collected only once.
I still don't know if this extension (or any extension) would require something
different from a common jumble state that would serve for all purpose or if we
can work with a single jumble state and only handle multiple queryid.



pgsql-hackers by date:

Previous
From: Andrey Lepikhov
Date:
Subject: Re: Multiple Query IDs for a rewritten parse tree
Next
From: Thomas Munro
Date:
Subject: Re: Worth using personality(ADDR_NO_RANDOMIZE) for EXEC_BACKEND on linux?