digraph status {
STATE_IDLE -> STATE_IDLE [ label="OK/ERR/length encoded int == 0" ]
STATE_IDLE -> RESULT_INIT_STATUS [ label="length encoded int > 0" ]
STATE_IDLE -> LOAD_DATA [ label="0xfb" ]
LOAD_DATA -> STATE_IDLE [ label="OK/ERR" ]
STATE_IDLE -> TRANSACTION [label="OK & (status & SERVER_STATUS_IN_TRANS)"]
TRANSACTION -> TRANSACTION
TRANSACTION -> STATE_IDLE [label="(OK or EOF) & !(status & SERVER_STATUS_IN_TRANS)"]
RESULT_INIT_STATUS -> RESULT_HEADER_STATUS [ label="column_def" ]
RESULT_HEADER_STATUS -> RESULT_HEADER_STATUS [ label="column_def" ]
RESULT_HEADER_STATUS -> RESULT_HEADER_EOF [ label="CLIENT_DEPRECATE_EOF not set & EOF"]
RESULT_HEADER_STATUS -> RESULT_MORE [ label="CLIENT_DEPRECATE_EOF set & EOF & (status & SERVER_MORE_RESULTS_EXISTS)"]
RESULT_HEADER_STATUS -> STATE_IDLE [ label="CLIENT_DEPRECATE_EOF set & EOF & !(status & SERVER_MORE_RESULTS_EXISTS)"]
RESULT_HEADER_EOF -> RESULT_FETCH_STATUS [ label="text_resultset_row" ]
RESULT_HEADER_EOF -> STATE_IDLE [ label="(EOF & !(status & SERVER_MORE_RESULTS_EXISTS))"]
RESULT_HEADER_EOF -> RESULT_MORE [ label="EOF & (status & SERVER_MORE_RESULTS_EXISTS)" ]
RESULT_FETCH_STATUS -> RESULT_FETCH_STATUS [ label="text_resultset_row"]
RESULT_FETCH_STATUS -> STATE_IDLE [ label="ERR | (EOF & !(status & SERVER_MORE_RESULTS_EXISTS))"]
RESULT_FETCH_STATUS -> RESULT_MORE [ label="EOF & (status & SERVER_MORE_RESULTS_EXISTS)" ]
RESULT_MORE -> RESULT_INIT_STATUS [ label="length encoded int > 0" ]
RESULT_MORE -> STATE_IDLE [ label="OK" ]
}