GNU/Linux ◆ xterm ◆ bash 5252 views

This demo shows how time travel works with immutable transactions in Project:M36-flavored TutorialD.

In this example session, we load Chris Date’s suppliers and parts example relation variables with :importexample date.

Next, we view the s relation variable and :commit the change.

We update the s relation variable to change the name to “Brown” wherever the status attribute is 10 (which happens to be only in one location). We display s again to confirm that “Brown” does appear and :commit the change to s.

The :showgraph directive displays our transaction graph as a relation. The current attribute indicates which transaction we have checked out. By the following the parent relationship, we identify the middle transaction which does not contain the “Brown” update. The first transaction has no parent transactions and thus not of interest here.

We jump to the transaction identifier of the middle transaction and display s again to confirm that indeed “Brown” is not visible in the relation variable’s contents.

Finally, we jump back to the head transaction of the master branch and display s one final time to confirm that “Brown” has been indeed updated in the head transaction of the master branch.