[pgpool-hackers: 3706] Re: Query mis cached
Tatsuo Ishii
ishii at sraoss.co.jp
Thu Jul 9 21:46:00 JST 2020
> Hi pgpool hackers,
>
>
>
> I found the following SQL will be cached, when enabled memory query cache,
>
>
>
> "with cte as (insert into test2 values(1) returning *) select * from test2;"
>
>
>
> I think the SQL has Data-Modifying Statements in with clause should not be cached.
>
> Because Once cached, the Data-Modifying Statements will not be executed again which is not expected.
You are right.
> It seems to be better to analyze the with clause like the following:
>
>
>
> --------For UPDATE/INSERT/DELETE type SQL:
>
> extract oids from its with clause which will be invalidated.
>
>
>
> --------For SELECT type SQL:
>
> If Data-Modifying Statements in its with clause, the select will not be cached,
>
> and the oids from with clause will be invalidated too.
>
>
>
> What do you think?
>
>
>
> I try to solve the problem and made a patch for the code.
Thank you for the patch! I will look into this.
Best regards,
--
Tatsuo Ishii
SRA OSS, Inc. Japan
English: http://www.sraoss.co.jp/index_en.php
Japanese:http://www.sraoss.co.jp
More information about the pgpool-hackers
mailing list