Re: Why does exec_simple_query requires 2 snapshots - Mailing list pgsql-hackers

From Andy Fan
Subject Re: Why does exec_simple_query requires 2 snapshots
Date
Msg-id 87frkab9oi.fsf@163.com
Whole thread Raw
In response to Re: Why does exec_simple_query requires 2 snapshots  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
Tom Lane <tgl@sss.pgh.pa.us> writes:

> Andy Fan <zhihuifan1213@163.com> writes:
>> Tom Lane <tgl@sss.pgh.pa.us> writes:
>>> Many years ago, we committed a patch to do exactly that.  We had
>>> to back it out again because it broke too many real-world scenarios.
>>> I'm too lazy to search the archives for you, but you might be able
>>> to find the commit and revert by searching the git history.
>
>> Commit id is 532994299e2, thank you Tom!
>
> links in commit messages till some years after that.

Links in commit messages is a really great change.

I have found more details at [1], the issue can be summaried as IIUC:

The current strategy is below:
t1: snapshot1
parser&planner
t2: snapshot2
executor.

which makes the committed tuple between (t1, t2] are visible to user, but if
we share the same snapshot, the committed tuple would not be visible to
user, Chaning it would be a behavior change. 

[1] https://www.postgresql.org/message-id/5075D8DF.6050500%40fuzzy.cz

-- 
Best Regards
Andy Fan




pgsql-hackers by date:

Previous
From: Fujii Masao
Date:
Subject: Re: Extend postgres_fdw_get_connections to return remote backend pid
Next
From: Bertrand Drouvot
Date:
Subject: Re: Remove wal_[sync|write][_time] from pg_stat_wal and track_wal_io_timing