Databases Reference
In-Depth Information
that the data in row 1 describes the policy throughout the period
[Jan 2010 - 12/31/9999]. We now know, starting in May 2010,
that the data in row 1 is no longer an accurate description of
the object as it exists starting in May 2010.
Updates in place, however, overwrite the data they update. So
haven't we now lost the information that row 1 originally had an
assertion end date of 12/31/9999? No, we have not lost that
information. The reason is that no row can be physically added
to an asserted version table with any assertion end date other
than 12/31/9999; and if the assertion end date is ever changed,
it can be changed only once. The AVF, which translates temporal
into physical transactions, guarantees this.
Therefore, the assertion end date in row 1, as it exists in
Figure 7.7 , tells us two things. It tells us that from January 2010
(the assertion begin date), up to May 2010, this row had an asser-
tion end date of 12/31/9999. It also tells us that, starting in May
2010, it will no longer be asserted. Any asserted version with a
non-12/31/9999 assertion end date is one that was (or will be)
moved into past assertion time on that assertion end date.
The Second Physical Transaction
We have now withdrawn row 1, “clearing the decks” for
replacing part of it and superceding the rest of it. The temporal
update will result, when the final physical transaction is applied,
in a new current version of P861 with an effective begin date of
May 2010.
But what about the effective time prior to then, the effective
time period of [Jan 2010 - May 2010]? The temporal update says
nothing about what the policy was like prior to May 2010. Yet by
withdrawing row 1, i.e. by moving it into past assertion time, we
have placed the database in a state (albeit an atomic transaction
isolated state) in which nothing at all is asserted about P861 as it
was prior to May 2010. And yet the purpose of the temporal
update was certainly not to alter anything about P861 prior to
May 2010. So we need to replace the withdrawn assertion with
one which is identical to it except that, instead of an unknown
effective end date, it has an end date of May 2010. The result is
shown in Figure 7.8 .
The superscript, in the assertion time snapshot of row 2, tells
us that this row has the same business data as row 1. At this
moment, row 2 is the only row which exists in current assertion
time; it is the only row which we currently assert to be true. How-
ever, we are still in the midst of an atomic unit of work, one which
isolates all affected rows until the unit of work is completed. So at
this point, no one can see that row 1 is withdrawn, and no one can
Search WWH ::




Custom Search