Status of this subsection: complete but not reviewed 2009-10-21
There are several types of statements that require attention because of their special behavior in transactions:
Non-transactional updates that take place inside a transaction present problems for logging because (1) they are visible to other clients before the transaction is committed, and (2) they are not rolled back even if the transaction is rolled back. It is not always possible to log correctly in statement format when both transactional and nontransactional tables are used in the same transaction.
Statements that do an implicit commit (that is, most but not all DDL, and some utility commands) are logged specially due to unspecified requirements by NDB.
Statements that update temporary tables need special treatment since they are not logged in row format.