In the Database System Concepts Sixth Edition by Korth et al, in section 15.4 regarding timestamp-ordering protocols it is given that:
The timestamps of the transactions determine the serializability order.
———-After describing the Timestamp-Ordering protocol———-
If a transaction Ti is rolled back by the concurrency-control scheme as a result of an instance of either read or write operation, the system assigns it a new timestamp and restarts it.
After the transaction is restarted, what is the desired outcome of the set of executed transactions?
Which timestamps are we talking about in the statement “The timestamps of the transactions determine the serializability order.”, initial timestamps or the timestamps of the successfully committed transactions?
For example, suppose that there are 2 transactions to be considered in the schedule, {T1, T2}, with TS(T1) < TS(T2). So, the desired serial order of the execution (the logical order chosen “in advance”) is T1 -> T2. But now suppose that the transaction T1 had to be rolled back as part of the timestamp-ordering protocol and subsequently restarted with a new timestamp TS'(T1) > TS(T2). Moreover, suppose that after restarting, the transaction completes successfully. So the actual serial order of execution is T2 -> T1 which was not intended initially and the statement “The (initial) timestamps of the transactions determine the serializability order.” is contradicted.