Raise OperationalError instead of DatabaseError for transaction errors
This is probably the more suitable error and allows more specific catching of this exception. The change is backwards compatible because OperationalError is a subclass of DatabaseError.