Tuple header
As already mentioned, several versions of each row can be simultaneously available in the database. And we need to somehow distinguish one version from another one. To this end, each version is labeled with its effective «time» (
xmin
) and expiration «time» (xmax
). Quotation marks denote that a special incrementing counter is used rather than the time itself. And this counter is the transaction identifier.(As usual, in reality this is more complicated: the transaction ID cannot always increment due to a limited bit depth of the counter. But we will explore more details of this when our discussion reaches freezing.)