Re: A few beginner's questions concerning concurrency control - Mailing list pgsql-general

From Karsten Hilbert
Subject Re: A few beginner's questions concerning concurrency control
Date
Msg-id 20040629115141.G559@hermes.hilbert.loc
Whole thread Raw
In response to A few beginner's questions concerning concurrency control  (Yoram Biberman <yoramb@hadassah-col.ac.il>)
List pgsql-general
> Question #3
> =========
> In some places it is said that a transaction that only reads does not lock
> any table or row, and is never blocked. But if a transaction T1 modifies a
> row r, and at the same time transaction T2 selects r, then T2 need to wait
> until T1 finishes (as T1 might have deleted the row, or modified it in a way
> that would cause T1 not to need it, as the row does not satisfy T2?s WHERE
> clause).
The answer lies in the application of MVCC. You already said above
that each transaction sees tuples as if it ran all by itself
(which is only true for some of the transaction isolation levels).
Aborts (if attempts to write to changed data occur) are involved.

Karsten
--
GPG key ID E4071346 @ wwwkeys.pgp.net
E167 67FD A291 2BEA 73BD  4537 78B9 A9F9 E407 1346

pgsql-general by date:

Previous
From: CSN
Date:
Subject: dup(0) failed after 3195 successes: Bad file descriptor
Next
From: "W.B.Hill"
Date:
Subject: Re: Inconsistant DOW...