How did you implement those methods? It seems to me that you need to lock the entire database to do a create or delete to ensure that another
thread is not modifiying the record your deleting or trying to create a record at the same time as this thread.
My take on that is that the DBAccess interface provides a lockRecord method...which implies that it should only lock a single record. There is no lockDatabase method on the interface. I therefore made the assumption that locking the entire database is not a requirement of the contractors problem. Which then implies that creating or deleting records is not yet supported by the requirements...that is the physical requirements of the DBAccess interface.
Did you implement a way to lock the entire database? If so, how? Or am I off base here?