Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.80) (envelope-from ) id 1Ylgup-0008Qs-Q2 for pgsql-docs@arkaria.postgresql.org; Fri, 24 Apr 2015 16:57:23 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.80) (envelope-from ) id 1Ylgun-0004hG-QA for pgsql-docs@arkaria.postgresql.org; Fri, 24 Apr 2015 16:57:21 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.2:DHE_RSA_AES_256_CBC_SHA256:256) (Exim 4.80) (envelope-from ) id 1Ylgum-0004h9-Sy for pgsql-docs@postgresql.org; Fri, 24 Apr 2015 16:57:20 +0000 Received: from mout.gmx.net ([212.227.17.20]) by magus.postgresql.org with esmtps (TLS1.2:DHE_RSA_AES_256_CBC_SHA256:256) (Exim 4.80) (envelope-from ) id 1Ylgue-0000o2-Tg for pgsql-docs@postgresql.org; Fri, 24 Apr 2015 16:57:19 +0000 Received: from auth1-smtp.messagingengine.com ([66.111.4.227]) by mail.gmx.com (mrgmx103) with ESMTPSA (Nemesis) id 0Mb8HX-1Z0kvN23cR-00KdFv for ; Fri, 24 Apr 2015 18:57:10 +0200 Received: from compute5.internal (compute5.nyi.internal [10.202.2.45]) by mailauth.nyi.internal (Postfix) with ESMTP id 24FF920EF4 for ; Fri, 24 Apr 2015 12:57:08 -0400 (EDT) Received: from frontend1 ([10.202.2.160]) by compute5.internal (MEProxy); Fri, 24 Apr 2015 12:57:08 -0400 X-Sasl-enc: krHat9dIeuhBB7cfz5ZJGT9KZRHIbsFMdudSIehikyZ5 1429894627 Received: from [192.168.1.117] (unknown [204.145.120.11]) by mail.messagingengine.com (Postfix) with ESMTPA id D76A7C00017; Fri, 24 Apr 2015 12:57:07 -0400 (EDT) Message-ID: <553A75E3.4080807@gmx.net> Date: Fri, 24 Apr 2015 12:57:07 -0400 From: Peter Eisentraut User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:31.0) Gecko/20100101 Thunderbird/31.6.0 MIME-Version: 1.0 To: "David G. Johnston" , Bruce Momjian CC: "pgsql-docs@postgresql.org" Subject: Re: Add a new table for Transaction Isolation? References: <20150416012128.GB1672@momjian.us> In-Reply-To: Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K0:CcSDnYi1YEQFxqO4lHDXsW0c6IESNhgFkMdDbVziHwujei7AxFV MWQ5JZGb7s/nOHYCjWWMdDFk3K1Bq7+juMVvBAVMActC1dhi8yzbQGAzYA3rRavvjjJIF9r 1Tv6iPFnTTBiNPXf3jcVUelf642PX+QQxeD3hi6Qr3sYqirzqS4khX7lDAlyTNL0LxidE7I ZG1aSw2+R8IDgU7zXh8ig== X-UI-Out-Filterresults: notjunk:1; X-Pg-Spam-Score: -2.1 (--) List-Archive: List-Help: List-ID: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: X-Mailing-List: pgsql-docs Precedence: bulk Sender: pgsql-docs-owner@postgresql.org On 4/17/15 7:36 PM, David G. Johnston wrote: > diff --git a/doc/src/sgml/mvcc.sgml b/doc/src/sgml/mvcc.sgml > index f88b16e..5002138 100644 > --- a/doc/src/sgml/mvcc.sgml > +++ b/doc/src/sgml/mvcc.sgml > @@ -100,6 +100,14 @@ > phenomena caused by interactions?) > > > + > + The concepts covered in this section are > + presented without examples of the behaviors described. The internet, > + including and espcially the PostgreSQL Wiki, is > + an excellent resource to learn more about circumstances under which these > + data phenomena occur, and what the results look like when they do. > + > + I don't think our documentation should go out of its way to say, "our documentation is bad, look elsewhere". If we think examples are necessary, then we should add some. Otherwise, it's implied that improvement is always possible. > > The phenomena which are prohibited at various levels are: > > @@ -150,12 +158,12 @@ > > transaction isolation level > > - The four transaction isolation levels and the corresponding > - behaviors are described in . > + The four SQL transaction isolation levels, and their corresponding > + behaviors, are described in . > I don't think this change is good. > > > - Standard <acronym>SQL</acronym> Transaction Isolation Levels > + <acronym>SQL</acronym> Standard Transaction Isolation Levels > > > Why this change? > @@ -256,6 +264,89 @@ > > > > + The three PostgreSQL transaction isolation levels, and their corresponding > + behaviors, are described in . > + This isn't really correct. The PostgreSQL isolation levels were described in the paragraph above. The table is really just a summary of the previous explanation. > + > + As the table makes clear there is no difference in the potential phenomena > + at the REPEATABLE READ and SERIALIZABLE transaction isolation levels; but > + the phenomena listed only pertain to the data seen by the transaction. Please adapt the existing spelling and capitalization. > + The difference is that REPEATABLE READ will only serial-fail This term "serial-fail" would need further explanation. > + if two transactions attempt to modify the same record while SERIALIZABLE will > + also serial-fail if one transaction modifies a record that another transaction > + has only read. > + I don't think this new table adds clarity. Users should generally have their applications use the appropriate standard isolation level. Adding another table that says, some of these are not actually different, following by text that says they are different in other ways, just repeats the point that was made earlier and will be explained in more detail in the following subsections. The real difference, in my mind, is that the SQL standard defines four levels in terms of three criteria, but PostgreSQL really has four criteria and only three different levels implemented. It might be worth visualizing that somehow. Note that when that section was initially written, the fourth criterion (serializability) wasn't implemented. -- Sent via pgsql-docs mailing list (pgsql-docs@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-docs