The present invention expounds upon the ANSI "read committed" isolation
level by allowing readers to read committed data without waiting for a
concurrent writer to the data to finish. The method returns a last
committed version of the data as it existed prior to changes made by the
concurrent writer. Only two versions of any data record are required to
be stored in the record data store, the last committed version and the
current version. The last committed version may be generated from an undo
log record. Locating the appropriate undo log record may be accomplished
by storing a log sequence number in a lock data structure associated with
the requested data record. A transaction flag may also stored in the lock
data structure to facilitate generating the last committed version. The
method may also utilize one or more locks to detect a concurrent writer
to the requested data.