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