Thread: Re: postgres_fdw: Provide better emulation of READ COMMITTED behavior

Etsuro Fujita <etsuro.fujita@gmail.com> writes:

> On Fri, Dec 6, 2024 at 7:50 PM Andy Fan <zhihuifan1213@163.com> wrote:
>> Apart from the above issue, what do you think about that we are using a
>> 'SELECT pg_catalog.pg_refresh_snapshot()' to let the remote do the
>> refresh_snapshot VS 'a new message type for this'?  There are lots of
>> things happen in the 'SELECT' way like 'a extra network communication',
>> 'a complete parser-planner-executor workflow.' With a new message type
>> for this, we can send the message character with the next query
>> together. if so, can the two overheads removed?
>
> I think it might be a good idea to extend simple/extend query
> protocols that way, but even if so, I would like to leave that for
> future work, because even without that, I think this is still an
> improvement, and I do not want to set the goal for the first cut too
> high.

That's reasonable.

> Having said that, if the next query uses simple query protocol, we can
> avoid the extra communication by sending the two queries in a single
> function call.  I will do that in the next version.

Good to know that.

After reading the patch, the changes looks good to me except the name of
ThereAre[No]OldLivePortals(), multiple negations can be somewhat confusing
at times. Opinions may vary, However. I point this out just in case this
is done by mistake when you were refactoring the code. If you think the
current one is better, I'm totoally OK with it.

--
Best Regards
Andy Fan