A method of assigning transaction timestamps for use with a database that
includes temporal data and may include non-temporal data. In the method,
a lock is placed on a resource accessed by a first transaction to prevent
conflicts with concurrently executing transactions. An access record of
the lock mode and a timestamp of the first transaction is created for the
resource accessed by the first transaction. The access record is accessed
to determine whether a resource that a subsequent transaction accesses
conflicts with the resource accessed by the first transaction. A
timestamp lower bound or floor is identified for the subsequent
transaction when the subsequent transaction accesses a resource that
conflicts with the resource access of the first transaction. A timestamp
is assigned to the subsequent transaction that is greater than the lower
bound. The access record of a lock mode and a transaction timestamp may
be created each time a resource is accessed, may be created for resources
accessed after a request for CURRENT TIME is made, and/or may be made for
resources accessed after an end time of a time interval defined by a
request for CURRENT TIME.