I am reading chapter 6 of your book, Principles of Transaction Processing and the concept of update lock explained in there is not very clear to me. Basically, what I am not clear about is that won't locking conversion deadlock occur when you try to upgrade a update lock to the write lock. Say we say the deadlock does not occur during conversion of update lock to write lock. Can you then not have the following scenario
u1[x]r2[x]w1[x]w1[z]w2[z].
u1[x] means transaction 1 has a update lock on x.
So in the above history transaction 2 is before 1 on x but after 1 on z. Doesnt that violate serializability?
I would really appreciate if you can clear this for me.