On Thu, Jun 22, 2023 at 06:38:37PM +0000, PG Doc comments form wrote:
> The following documentation comment has been logged on the website:
> 
> Page: https://www.postgresql.org/docs/15/transaction-iso.html
> Description:
> 
> https://www.postgresql.org/docs/current/transaction-iso.html#XACT-READ-COMMITTED
> 
> Quote:
> "<...>When a transaction uses this isolation level, a SELECT query (without
> a FOR UPDATE/SHARE clause) sees only data committed before the query began;
> it never sees either uncommitted data or changes committed during query
> execution by concurrent transactions. <...>"
> 
> "... changes committed during ..."
> 
> Don't you think this is bad choice of the word, especially while speaking
> about "commiting transactions" in very same sentence?
> 
> Wouldn't it be better to say something like
> <...> it never sees either uncommitted data or changes produced during query
> execution by concurrent transactions. <...> 

No, the issue is only for committed transactions, not aborted ones.

> I mean, with read committed isolation level SELECT clearly can see changes
> from concurrent transactions, if these transactions COMMITED.

No, it does not see any changes from concurrent transaction commits that
happen after the query starts, which is the point of the sentence.

> In fact, you can read about that in few lines later:
> "<...>Also note that two successive SELECT commands can see different data,
> even though they are within a single transaction, if other transactions
> commit changes after the first SELECT starts and before the second SELECT
> starts. <...>"
> 
> The sentences seem to contradict each other because of " it never sees ...
> changes committed during ..."

-- 
  Bruce Momjian  <br...@momjian.us>        https://momjian.us
  EDB                                      https://enterprisedb.com

  Only you can decide what is important to you.


Reply via email to