Markus Wanner <mar...@bluegap.ch> wrote: > Greg Stark wrote: > That's about predicate locks. I've been talking about SIREAD, > which is a different thing (and which I don't consider to be a > lock). The SIREAD thingie certainly doesn't help implement > predicate locks. And predicate locking isn't necessarily > sufficient to implement truly serializable isolation. SIREAD locks need to be acquired according to the exact same rules as "normal" read locks in predicate locking schemes. We're just using a lock level where the set of locks which conflict with it is empty. ;-) Predicate locking is clearly necessary and clearly not sufficient to implement serializable isolation. Was some part of the Cahill paper unclear on that? >> That's the hard part. How do you represent such a lock in a way >> that I can efficiently find it and check for the conflict when it >> comes time for me to do my insert. > > As it's not really a lock, but rather a mark or a tag, SIREAD may > or may not be implemented atop existing or non-existent locking > structures, IMO. Well, the development plan calls for it to start there. Whether a better way is found during optimization is anybody's guess at this point. > I've made my points about implementing SIREAD atop table level or > row level locking structures. With (non-existent) predicate > locking, I'm still unsure. It might help to implement SIREAD atop > such a predicate as well. Predicate tagging? It seems both respectful and less confusing to adopt the terminology of those who developed SSI techniques. I could invent new terms for "vulnerable edges", "dangerous structures", "pivots" and such which are used in the relevant literature. But I won't. It would just serve to confuse those who have spent the time to read and understand the literature. I'm not quite sure I followed what you were getting at with the "(non-existent) predicate locking" phrase -- was that just an acknowledgment that it is exactly what is under development and, as such, doesn't yet exist; or were you getting at something else? -Kevin
-- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers