>I first started looking at pessimistic row buffering a few years back for a very non-theoretical reason. It was a doctor's office: The receptionist, nurse, and doctor all had a patients record up on one screen. Some of the data elements were common to all three's job function and, therefore, could be changed by any of the three at any time. A patient would walk in, the receptionist would pull up the record, the nurse would see the patient and pull up the record, as would the doctor. Since all three had valid reasons for editing common data elements, very very frequently data collision routines were called. It was the client who insisted that only one edit at one time and pessimistic buffering was the way to do it.
John,
Or optimistic buffering and securing your own locks either physical or semaphore before allowing an edit to begin. At least with opti buffering you can choose exactly how and when you want to secure a lock on a resource, with Pess buffering you are totally at the mercy of VFP.