From: | Konstantin Knizhnik <k(dot)knizhnik(at)postgrespro(dot)ru> |
---|---|
To: | pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: Cached plans and statement generalization |
Date: | 2017-04-26 07:00:17 |
Message-ID: | f5d50b64-0c83-369e-3a5b-789a93ed0cbe@postgrespro.ru |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On 26.04.2017 00:47, Andres Freund wrote:
> On 2017-04-25 21:11:08 +0000, Doug Doole wrote:
>> When I did this in DB2, I didn't use the parser - it was too expensive. I
>> just tokenized the statement and used some simple rules to bypass the
>> invalid cases. For example, if I saw the tokens "ORDER" and "BY" then I'd
>> disallow replacement replacement until I hit the end of the current
>> subquery or statement.
> How did you manage plan invalidation and such?
The same mechanism as for prepared statements.
Cached plans are linked in the list by SaveCachedPlan function and are
invalidated by PlanCacheRelCallback.
> - Andres
>
>
--
Konstantin Knizhnik
Postgres Professional: http://www.postgrespro.com
The Russian Postgres Company
From | Date | Subject | |
---|---|---|---|
Next Message | Kyotaro HORIGUCHI | 2017-04-26 07:03:40 | Re: subscription worker doesn't start immediately on eabled |
Previous Message | Kyotaro HORIGUCHI | 2017-04-26 06:47:47 | Re: some review comments on logical rep code |