github.com/cockroachdb/cockroach@v20.2.0-alpha.1+incompatible/pkg/sql/txnstatetransitions_diagram.gv (about)

     1  // Code generated by "../util/fsm/gen/reports.sh TxnStateTransitions stateNoTxn"; DO NOT EDIT.
     2  // To generate a .png file, run:
     3  // brew install cairo pango
     4  // brew install graphviz --with-pango
     5  // dot -Tpng txnstatetransitions_diagram.gv -o txnstatetransitions_diagram.png".
     6  
     7  // The Pango/Cairo renderer is needed for rendering our HTML labels.
     8  digraph finite_state_machine {
     9  	rankdir=LR;
    10  
    11  	node [shape = doublecircle]; "NoTxn{}";
    12  	node [shape = point ]; qi
    13  	qi -> "NoTxn{}";
    14  
    15  	node [shape = circle];
    16  	"Aborted{}" -> "Aborted{}" [label = <NonRetriableErr{IsCommit:false}<BR/><I>any other statement</I>>]
    17  	"Aborted{}" -> "Aborted{}" [label = <NonRetriableErr{IsCommit:true}<BR/><I>ConnExecutor closing</I>>]
    18  	"Aborted{}" -> "Aborted{}" [label = <RetriableErr{CanAutoRetry:false, IsCommit:false}<BR/><I>ROLLBACK TO SAVEPOINT (not cockroach_restart) failed because txn needs restart</I>>]
    19  	"Aborted{}" -> "Aborted{}" [label = <RetriableErr{CanAutoRetry:false, IsCommit:true}<BR/><I>ROLLBACK TO SAVEPOINT (not cockroach_restart) failed because txn needs restart</I>>]
    20  	"Aborted{}" -> "Aborted{}" [label = <RetriableErr{CanAutoRetry:true, IsCommit:false}<BR/><I>ROLLBACK TO SAVEPOINT (not cockroach_restart) failed because txn needs restart</I>>]
    21  	"Aborted{}" -> "Aborted{}" [label = <RetriableErr{CanAutoRetry:true, IsCommit:true}<BR/><I>ROLLBACK TO SAVEPOINT (not cockroach_restart) failed because txn needs restart</I>>]
    22  	"Aborted{}" -> "Open{ImplicitTxn:false}" [label = <SavepointRollback{}<BR/><I>ROLLBACK TO SAVEPOINT (not cockroach_restart) success</I>>]
    23  	"Aborted{}" -> "NoTxn{}" [label = <TxnFinish{}<BR/><I>ROLLBACK</I>>]
    24  	"Aborted{}" -> "Open{ImplicitTxn:false}" [label = <TxnRestart{}<BR/><I>ROLLBACK TO SAVEPOINT cockroach_restart</I>>]
    25  	"CommitWait{}" -> "CommitWait{}" [label = <NonRetriableErr{IsCommit:false}<BR/><I>any other statement</I>>]
    26  	"CommitWait{}" -> "CommitWait{}" [label = <NonRetriableErr{IsCommit:true}<BR/><I>any other statement</I>>]
    27  	"CommitWait{}" -> "NoTxn{}" [label = <TxnFinish{}<BR/><I>COMMIT</I>>]
    28  	"NoTxn{}" -> "NoTxn{}" [label = <NonRetriableErr{IsCommit:false}<BR/><I>anything but BEGIN or extended protocol command error</I>>]
    29  	"NoTxn{}" -> "NoTxn{}" [label = <NonRetriableErr{IsCommit:true}<BR/><I>anything but BEGIN or extended protocol command error</I>>]
    30  	"NoTxn{}" -> "Open{ImplicitTxn:false}" [label = <TxnStart{ImplicitTxn:false}<BR/><I>BEGIN, or before a statement running as an implicit txn</I>>]
    31  	"NoTxn{}" -> "Open{ImplicitTxn:true}" [label = <TxnStart{ImplicitTxn:true}<BR/><I>BEGIN, or before a statement running as an implicit txn</I>>]
    32  	"Open{ImplicitTxn:false}" -> "Aborted{}" [label = "NonRetriableErr{IsCommit:false}"]
    33  	"Open{ImplicitTxn:false}" -> "NoTxn{}" [label = "NonRetriableErr{IsCommit:true}"]
    34  	"Open{ImplicitTxn:false}" -> "Aborted{}" [label = "RetriableErr{CanAutoRetry:false, IsCommit:false}"]
    35  	"Open{ImplicitTxn:false}" -> "NoTxn{}" [label = <RetriableErr{CanAutoRetry:false, IsCommit:true}<BR/><I>Retriable err on COMMIT</I>>]
    36  	"Open{ImplicitTxn:false}" -> "Open{ImplicitTxn:false}" [label = <RetriableErr{CanAutoRetry:true, IsCommit:false}<BR/><I>Retriable err; will auto-retry</I>>]
    37  	"Open{ImplicitTxn:false}" -> "Open{ImplicitTxn:false}" [label = <RetriableErr{CanAutoRetry:true, IsCommit:true}<BR/><I>Retriable err; will auto-retry</I>>]
    38  	"Open{ImplicitTxn:false}" -> "NoTxn{}" [label = <TxnFinish{}<BR/><I>COMMIT/ROLLBACK, or after a statement running as an implicit txn</I>>]
    39  	"Open{ImplicitTxn:false}" -> "CommitWait{}" [label = <TxnReleased{}<BR/><I>RELEASE SAVEPOINT cockroach_restart</I>>]
    40  	"Open{ImplicitTxn:false}" -> "Open{ImplicitTxn:false}" [label = <TxnRestart{}<BR/><I>ROLLBACK TO SAVEPOINT cockroach_restart</I>>]
    41  	"Open{ImplicitTxn:true}" -> "NoTxn{}" [label = "NonRetriableErr{IsCommit:false}"]
    42  	"Open{ImplicitTxn:true}" -> "NoTxn{}" [label = "NonRetriableErr{IsCommit:true}"]
    43  	"Open{ImplicitTxn:true}" -> "NoTxn{}" [label = "RetriableErr{CanAutoRetry:false, IsCommit:false}"]
    44  	"Open{ImplicitTxn:true}" -> "NoTxn{}" [label = <RetriableErr{CanAutoRetry:false, IsCommit:true}<BR/><I>Retriable err on COMMIT</I>>]
    45  	"Open{ImplicitTxn:true}" -> "Open{ImplicitTxn:true}" [label = <RetriableErr{CanAutoRetry:true, IsCommit:false}<BR/><I>Retriable err; will auto-retry</I>>]
    46  	"Open{ImplicitTxn:true}" -> "Open{ImplicitTxn:true}" [label = <RetriableErr{CanAutoRetry:true, IsCommit:true}<BR/><I>Retriable err; will auto-retry</I>>]
    47  	"Open{ImplicitTxn:true}" -> "NoTxn{}" [label = <TxnFinish{}<BR/><I>COMMIT/ROLLBACK, or after a statement running as an implicit txn</I>>]
    48  }