A simplified overview of the autocommit code:
When a transaction, marked as TRA_autocommit performs any of following actions, it is marked also as TRA_perform_autocommit
- insert
- update
- delete
- select with lock
- post event
- the engine receives input message
- the engine sends an output message
- the engine starts to execute a request
- the engine finishes executing a DDL request