Database locking and deadlocks