Attached is a patch for the documentation. We currently state that we
don't know of any production DBMS which uses predicate locking. Current
versions of at least two commercial products (Sybase ASE and Microsoft
SQL Server) do use it. I believe this has been true since 1990 or
earlier.
If people need documentation for this, I can pull something together.
If you want quick confirmation, and you have access to either of the
above products, just try the test case from the documentation page this
patch modifies. Briefly, in these products no page is ever read or
written without first acquiring a lock; in SERIALIZABLE mode all locks
are held until COMMIT or ROLLBACK.
Stating that we're not aware of it doesn't enhance our credibility with
people using these products, who can easily confirm that the "contrived"
example in our documentation does indeed generate a serialization error
in their current product. There is also a chance, however slim, that we
could lead someone into trouble with this statement.
-Kevin