Re: Serializable Isolation without blocking
От | Kevin Grittner |
---|---|
Тема | Re: Serializable Isolation without blocking |
Дата | |
Msg-id | 4B46F69D020000250002E04D@gw.wicourts.gov обсуждение исходный текст |
Ответ на | Re: Serializable Isolation without blocking (Markus Wanner <markus@bluegap.ch>) |
Ответы |
Re: Serializable Isolation without blocking
|
Список | pgsql-hackers |
Markus Wanner <markus@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
В списке pgsql-hackers по дате отправления: