Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.80) (envelope-from ) id 1Ym6zU-00072x-3X for pgsql-docs@arkaria.postgresql.org; Sat, 25 Apr 2015 20:47:56 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.80) (envelope-from ) id 1Ym6zT-0003aV-Jj for pgsql-docs@arkaria.postgresql.org; Sat, 25 Apr 2015 20:47:55 +0000 Received: from makus.postgresql.org ([2001:4800:1501:1::229]) by malur.postgresql.org with esmtps (TLS1.2:RSA_AES_256_CBC_SHA256:256) (Exim 4.80) (envelope-from ) id 1Ym6zS-0003aP-V5 for pgsql-docs@postgresql.org; Sat, 25 Apr 2015 20:47:55 +0000 Received: from nm26-vm5.bullet.mail.ne1.yahoo.com ([98.138.91.248]) by makus.postgresql.org with esmtps (TLS1.0:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.84) (envelope-from ) id 1Ym6zQ-0006kB-9G for pgsql-docs@postgresql.org; Sat, 25 Apr 2015 20:47:53 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ymail.com; s=s2048; t=1429994869; bh=S3wQ/LofhrCRvnEisKX9r0QB4peMMtRUSpYQk4vleAs=; h=Date:From:Reply-To:To:Cc:In-Reply-To:References:Subject:From:Subject; b=Yh3yQID3UCLvOt7G6PD3g2/6/c3LNaLywT4u/ma9tBnDObhyDecRtgFI/i2HJkzJpgsPl+KE/sATZwvi1ZqSUOlAFxTTR3TITCIbXg4OjG/x8DI9+0X36xWSslNSk7T0tRI2pu+tKiWu1Jt4/mjcyGrDkuhyW7EoOFP0PDWxGReCOWUrBeH9tD6LA/1wBT73UkqyxoYZlRtDhFs/7E2wTrOLjOwbeTx8D5aG1TGYpefprPaxSDml5rZSb61Uki9EKRM7+8L7272XMT6D4+ojCJeuMRzEuBZuIZonwCB7R0uScM7tqnvBVzamrXSEk1V96hlNby57t3fNashgOq4t0g== Received: from [98.138.100.115] by nm26.bullet.mail.ne1.yahoo.com with NNFMP; 25 Apr 2015 20:47:49 -0000 Received: from [98.138.89.199] by tm106.bullet.mail.ne1.yahoo.com with NNFMP; 25 Apr 2015 20:47:49 -0000 Received: from [127.0.0.1] by omp1057.mail.ne1.yahoo.com with NNFMP; 25 Apr 2015 20:47:49 -0000 X-Yahoo-Newman-Property: ymail-3 X-Yahoo-Newman-Id: 950390.33300.bm@omp1057.mail.ne1.yahoo.com X-YMail-OSG: B0Tc914VM1neB8z_ydsZXxPKqbWK0RH1Cv4D0GiR7EZYB39kC.2SSWOtvIM0iJb xX4b9gx1ZrYvyPqhsTc1yrkiao8Sce58mAgsJDY3BTjCsKoWp0v.vXNs4I55TbyYm.BkNzvh7olo A2JvAAkQOFUqZS45AosNNiNHaWZjXVhq5CtEpjT2P8okWJ.12cAPCpJJd0jnFCYqp0Nvfadc8nlq phQYaigL92prqgaxB0XPG09O3d_fcRrQm6vYeLUDUMzQkPSlsUT5XaYgpk_YyrZHV5QitE34jZgP E6KdQgDfYXK4_W3z8yE_81rmrOtFiqTPY5incsYs7SLdLjp0Nyjp3r6k1CsOT6Rgdbe36Y1U1U0n u0M5vGBptn7P7CEuVImKvxHKkjXZLDEWLGizfUmJdoCVukwJjBDez6VU8QL2haFMkx1fOgV_SM8T 7Ulb4paxve8g8HOp_tf0YcSfQXCn_Zi6A7hiImb5gpNGGwo6B5nZOojMlTOahkXILIbDt7zI9YvK 7UOAoTJzvXus1LD1lCyzL8VnQ4yTZOdpA3kZ0eeVqjPJSSX8XYLWnaA4CnA-- Received: by 98.138.105.200; Sat, 25 Apr 2015 20:47:49 +0000 Date: Sat, 25 Apr 2015 20:47:47 +0000 (UTC) From: Kevin Grittner Reply-To: Kevin Grittner To: Bruce Momjian Cc: "David G. Johnston" , Peter Eisentraut , "pgsql-docs@postgresql.org" Message-ID: <279680020.4245099.1429994867712.JavaMail.yahoo@mail.yahoo.com> In-Reply-To: <20150425200255.GD17791@momjian.us> References: <20150425200255.GD17791@momjian.us> Subject: Re: Add a new table for Transaction Isolation? MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Content-Length: 2606 X-Pg-Spam-Score: -2.2 (--) 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 Bruce Momjian wrote: > On Sat, Apr 25, 2015 at 07:45:35PM +0000, Kevin Grittner wrote: >> We could perhaps have the column header say "Non-Serializable >> Behavior" or some such; but I think we need to define whatever >> term we use for the new column header. > > I don't think we can define the column as a negative, e.g. > "Non-". Yeah, that would tend to add to confusion. The basic issue is whether there are any one-at-a-time orders of execution that could yield the same results, or whether there is a cycle in an attempt to graph such an order. "Cycles in Apparent Order of Execution" would be accurate, but it's kinda long, and possibly too arcane. >>>> =E2=80=8BPondering whether something like: "Possible (not in PG)" and >>>> avoiding the additional rows would make reading the table >>>> easier. >>> >>> Uh, that's an idea. I thought visually having two separate >>> lines was cleaner. >> >> I think one row per transaction isolation level, with three >> possible values per cell, would be the cleanest. I have been >> trying to think of alternatives for the three values, but have >> not come up with anything better than David's suggestion. > > Well, then "Possible" would refer to the SQL standard behavior, > which seems kind of an odd thing to emphasize there. The field > really needs to be "SQL-standard possible, PostgreSQL not > possible", but that is too long. This is why I split it into > separate lines. We could try "Possible (SQL standard), Not > possible (PostgreSQL)". Yeah, I was searching for some wording that conveyed that the standard *allowed* an implementation to present such phenomena at the isolation level versus whether the PostgreSQL implementation could *actually* present such phenomena. In struggling to come up with an analogy, the best I can do is that it's like each person fishing for rainbow trout in Wisconsin is *allowed* to keep it if it is at least 26 inches long; some people will do so, and some catch and release. Regulations say that it is possible to keep it=20 (and not be in violation of the rules), but you are not required to=20 keep it. For REPEATABLE READ, the SQL standard says that any product would be *allowed* to have phantom reads, but is not *required* to; we, as a community, choose not to. Maybe something like "Prohibited", "Allowed but not Possible", and "Possible"? That would take a little explaining above, since our documentation's table would be deviating from the standard's table in its word choice. -- Kevin Grittner EDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company --=20 Sent via pgsql-docs mailing list (pgsql-docs@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-docs