From: Daniel Roth <dan.c.roth@gmail.com>
To: pgsql-sql@postgresql.org
Subject: Re: predicate locking
Date: Mon, 13 Jun 2005 10:16:44 +0800
Message-ID: <71038fca0506121916764f5b33@mail.gmail.com> (raw)
In-Reply-To: <23768.1118588642@sss.pgh.pa.us>
References: <71038fca05061203395e5a2613@mail.gmail.com>
<23768.1118588642@sss.pgh.pa.us>
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 <tgl@sss.pgh.pa.us> wrote:
> Daniel Roth <dan.c.roth@gmail.com> writes:
> > But MSSQL (SQL Server) does predicate locking.
>
> > 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.
>
> Range locks are a far cry from general predicate locks.
>
> regards, tom lane
>
> PS: kindly don't email me privately while posting the same message to
> the lists. You think I have time to answer things twice?
>
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-sql@postgresql.org
Cc: dan.c.roth@gmail.com
Subject: Re: predicate locking
In-Reply-To: <71038fca0506121916764f5b33@mail.gmail.com>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox