Info
One assumption for the RAII database lock types was that destruction order is always the reverse of construction order. However, with increasing usage of unique_ptr and boost::optional for more dynamic locking, we need additional checking that locking semantics are not violated.