Time values generated for ROW CHANGE TIMESTAMPs

There are some boundary conditions on the exact values generated for the row change timestamp columns due to the enforcement of unique values per partition.

Whenever the system clock is adjusted into the past for clock correction or for a daylight saving time policy on the Db2® server, it is possible that timestamps will appear to be in the future relative to the current value of the system clock, or the value of the CURRENT TIMESTAMP special register. This occurs when a timestamp was generated before the system clock adjustment, that is, later than the adjusted time, as the timestamps are always generated in an ascending fashion to maintain uniqueness.

When timestamps are generated for columns which were added to the table by a REORG TABLE operation or as part of a LOAD operation, the timestamps are sequentially generated at some point in the processing of the utility starting from an initial timestamp value. If the utility is able to process rows faster than the timestamp granularity (that is, more than 1 million rows per second), then the values generated for some of the rows can also appear to be in the future relative to the system clock or the CURRENT TIMESTAMP special register.

In each case, when the system clock catches up to the row change timestamp values, there is a close approximation of the time that the row was inserted. Until such time, timestamps are generated in ascending sequence by the finest granularity allowed by the timestamp(6) data type.