on master help sign in
fix some documentation typos and add clarity and completeness
commit2a549c28dbd3c80703ea6c39f0a9a1bc64789f9b authorAgentM <agentm@themactionfaction.com> dateWed 7 Sep 2016, 19:04 (10 years ago) parentc3851c6
1 file changed+5−5
docs/transgraphrelationalexpr.markdown+5−5
docs/transgraphrelationalexpr.markdown+5−5
@@ -1,4 +1,4 @@
1−# TransGraphRelational Expressions
1+# Trans-Graph Relational Expressions
22
33## Introduction
44
@@ -8,7 +8,7 @@ In contrast, a trans-graph relational expression can refer to any transaction's
88
99## Motivation
1010
11−Common SQL DBMSs contend all database changes (INSERTs, UPDATEs, DELETEs) on a single state. The DBMS is responsible for simulating serialized access to this every-changing state. Access to previous states are impossible- the only state visible is the one which is available when the client initiated the transaction.
11+Common SQL DBMSs contend all database changes (INSERTs, UPDATEs, DELETEs) on a single state. The DBMS is responsible for simulating serialized access to this ever-changing state. Access to previous states is impossible- the only state visible is the one which is available when the client initiated the transaction.
1212
1313In constrast, Project:M36 allows queries against current *and* past transactions. This is useful for learning how a database has changed over time. One essential use for this feature is for "auditing", whereby the database can be queried to explain how, when, and by whom certain changes were made.
1414
@@ -29,10 +29,10 @@ Note that the only difference is that the second expression explicitly reference
2929Naturally, the trans-graph relational expression is most useful when querying across multiple transactions. This can be accomplished by specifying the transaction id (UUID) or using head name backtracking which is intentionally similar to the git traversal syntax.
3030
3131```
32−:showtransgraphexpr s@master~
32+:showtransgraphexpr s@master~ join sp@master
3333```
3434
35−The transaction marker ```master~``` indicates that we wish to reference the first parent of the transaction at the head of the "master" branch.
35+The transaction marker ```master~``` indicates that we wish to reference the first parent of the transaction at the head of the "master" branch. Then, we wish to join it with the relation variable ```sp``` at the head transaction of the master branch. Thusly, we can join two relations from two different transactions.
3636
3737Since transactions can have multiple parents due to merge commits, the ```^x``` syntax can be used to specify the ```x```-th parent of the referenced transaction.
3838
@@ -58,4 +58,4 @@ Other than the following markers, trans-graph relational expressions share ident
5858|--------|---------|---------|
5959| &lt;uuid&gt; | ```rv@dc385ccc-387e-407d-b65f-e3681cf221a9``` | The relation variable ```rv``` at the state of transaction referred to by explicit unique identifier.|
6060| ^[&lt;n-th parent&gt;] | ```rv@addcustomer^2``` | The relation variable ```rv``` at the state of the second parent transaction of the head transaction of the branch ```addcustomer```. |
61−| ~[&lt;steps&gt;] | ```rv@addcustomer~3``` | The relation variable ```rv``` at the state of the great-grandparent of the head transaction of branch ```addcustomer```.|
61+| ~[&lt;steps&gt;] | ```rv@addcustomer~3``` | The relation variable ```rv``` at the state of the great-grandparent of the head transaction of branch ```addcustomer```. The tilde operator always traverses the "first" parent transaction of any merge transaction.|