X-Original-To: pgsql-sql-postgresql.org@localhost.postgresql.org Received: from localhost (unknown [200.46.204.144]) by svr1.postgresql.org (Postfix) with ESMTP id E78E95282B for ; Sun, 12 Jun 2005 23:16:49 -0300 (ADT) Received: from svr1.postgresql.org ([200.46.204.71]) by localhost (av.hub.org [200.46.204.144]) (amavisd-new, port 10024) with ESMTP id 65487-02 for ; Mon, 13 Jun 2005 02:16:41 +0000 (GMT) Received: from wproxy.gmail.com (wproxy.gmail.com [64.233.184.202]) by svr1.postgresql.org (Postfix) with ESMTP id 0DA3852856 for ; Sun, 12 Jun 2005 23:16:40 -0300 (ADT) Received: by wproxy.gmail.com with SMTP id 68so1009414wri for ; Sun, 12 Jun 2005 19:16:45 -0700 (PDT) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:reply-to:to:subject:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=obh5T7FrwVBdHEU0OFGrptyBywWa3aaQYAspW7lGtjv4/5A1fSk7RHu96qWHbAMN9CRf464M1O7dZYmjznm6HKbZdln0+QzpSJ6FLf2CBxC2pmU5dFIGe7cCh3wmcG1NLbDcToRemLjJkP6M2RGgWgc/apyoAPsf/SOWgKA5WU8= Received: by 10.54.33.44 with SMTP id g44mr2247389wrg; Sun, 12 Jun 2005 19:16:45 -0700 (PDT) Received: by 10.54.5.69 with HTTP; Sun, 12 Jun 2005 19:16:44 -0700 (PDT) Message-ID: <71038fca0506121916764f5b33@mail.gmail.com> Date: Mon, 13 Jun 2005 10:16:44 +0800 From: Daniel Roth Reply-To: Daniel Roth To: pgsql-sql@postgresql.org Subject: Re: predicate locking In-Reply-To: <23768.1118588642@sss.pgh.pa.us> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline References: <71038fca05061203395e5a2613@mail.gmail.com> <23768.1118588642@sss.pgh.pa.us> X-Virus-Scanned: by amavisd-new at hub.org X-Spam-Status: No, hits=0.024 tagged_above=0 required=5 tests=RCVD_BY_IP X-Spam-Level: X-Archive-Number: 200506/156 X-Sequence-Number: 21757 Hi Tom Apologies for my previous double post. In "12.2.2.1. Serializable Isolation versus True Serializability" It sates: "To guarantee true mathematical serializability, it is necessary for a database system to enforce predicate locking, which means that a transaction cannot insert or modify a row that would have matched the WHERE condition of a query in another concurrent transaction" Now that is exactly whats happens when you use SERIALIZABLE is MSSQL. So, by the postgres help documentation's definition of predicate locking, MSSQL does predicate locking. All I am trying to do is correct the help documentation - 12.2.2.1 "so far as we are aware no other production DBMS does either." Regards, Daniel Roth On 6/12/05, Tom Lane wrote: > Daniel Roth writes: > > But MSSQL (SQL Server) does predicate locking. >=20 > > Places a range lock on the data set, preventing other users from > > updating or inserting rows into the data set until the transaction is > > complete. This is the most restrictive of the four isolation levels. >=20 > Range locks are a far cry from general predicate locks. >=20 > regards, tom lane >=20 > PS: kindly don't email me privately while posting the same message to > the lists. You think I have time to answer things twice? >