On Mon, Nov 11, 2013 at 09:27:15PM -0500, Tom Lane wrote:
> Bruce Momjian <[email protected]> writes:
> > On Mon, Nov 11, 2013 at 08:59:35PM -0500, Tom Lane wrote:
> >> 'Statement' might work.
>
> > OK, updated patch attached. Is "statement" too vague here? SQL
> > statement? query?
>
> "SQL statement" might be a good idea in the first sentence, but
> I don't think you need to repeat it in the second.
>
> What's bothering me about this wording is that you're talking about
> statements and then suddenly reference transactions (as being "those
> other things messing with your data"). This seems weirdly asymmetric,
> since after all you could equally well be the one messing with their
> data.
Yes, that bugged me too, but then I realized that you only see the
changes from a transaction when it completes, not from each statement,
e.g. you can never see changes between statements of a multi-statement
transaction.
I used "SQL statement" in the updated, attached patch.
--
Bruce Momjian <[email protected]> http://momjian.us
EnterpriseDB http://enterprisedb.com
+ Everyone has their own god. +
diff --git a/doc/src/sgml/mvcc.sgml b/doc/src/sgml/mvcc.sgml
new file mode 100644
index cefd323..f56eb55
*** a/doc/src/sgml/mvcc.sgml
--- b/doc/src/sgml/mvcc.sgml
***************
*** 41,52 ****
for developers to manage concurrent access to data. Internally,
data consistency is maintained by using a multiversion
model (Multiversion Concurrency Control, <acronym>MVCC</acronym>).
! This means that while querying a database each transaction sees
a snapshot of data (a <firstterm>database version</firstterm>)
as it was some
time ago, regardless of the current state of the underlying data.
! This protects the transaction from viewing inconsistent data that
! could be caused by (other) concurrent transaction updates on the same
data rows, providing <firstterm>transaction isolation</firstterm>
for each database session. <acronym>MVCC</acronym>, by eschewing
the locking methodologies of traditional database systems,
--- 41,52 ----
for developers to manage concurrent access to data. Internally,
data consistency is maintained by using a multiversion
model (Multiversion Concurrency Control, <acronym>MVCC</acronym>).
! This means that each SQL statement sees
a snapshot of data (a <firstterm>database version</firstterm>)
as it was some
time ago, regardless of the current state of the underlying data.
! This prevents statements from viewing inconsistent data produced
! by concurrent transactions performing updates on the same
data rows, providing <firstterm>transaction isolation</firstterm>
for each database session. <acronym>MVCC</acronym>, by eschewing
the locking methodologies of traditional database systems,
--
Sent via pgsql-docs mailing list ([email protected])
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-docs