Skip to content

Instantly share code, notes, and snippets.

@ajdavis
Last active May 1, 2018 17:12
Show Gist options
  • Save ajdavis/f843e9979ba6bb01d14b46cf9277971f to your computer and use it in GitHub Desktop.
Save ajdavis/f843e9979ba6bb01d14b46cf9277971f to your computer and use it in GitHub Desktop.
digraph gc {
rankdir = LR
label = "ClientSession state transitions. 'insert' stands for any operation.
'error' isn't a permanent state, it just represents throwing an error."
labelloc = t
subgraph cluster_autostart {
label = autoStartTransaction
as_initial [label = "initial"]
as_no [label = "no txn"]
as_in [label = "in txn"]
as_done [label = "done txn"]
as_error [label = "error"]
as_initial -> as_no
as_no -> as_in [label = "startTransaction"]
as_no -> as_no [label = "commit/abort"]
as_no -> as_in [label = "insert"]
as_in -> as_done [label = "commit"]
as_in -> as_no [label = "abort"]
as_in -> as_in [label = "insert"]
as_in -> as_error [label = "startTransaction"]
as_done -> as_in [label = "startTransaction"]
as_done -> as_done [label = "commit"]
as_done -> as_no [label = "abort"]
as_done -> as_in [label = "insert"]
}
subgraph cluster_no_autostart {
label = "no autoStartTransaction"
initial
no [label = "no txn"]
in [label = "in txn"]
error
done [label = "done txn"]
initial -> no
no -> in [label = "startTransaction"]
no -> error [label = "commit/abort"]
no -> no [label = "insert"]
in -> error [label = "startTransaction"]
in -> done [label = "commit"]
in -> no [label = "abort"]
in -> in [label = "insert"]
done -> in [label = "startTransaction"]
done -> done [label = "commit"]
done -> no [label = "insert"]
done -> error [label = "abort"]
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment