System: MySQL 8.0, Storage engine - Innodb
In a given scenario, I obtain an explicit transaction in application layer, and run some DDL and DML statements. If tx fails, I roll-back it. But only DML statements roll-back.
- Do I need to explicitly enable support for transactional DDL statements for InnoDB? It does not seem to be the case as per MySQL's documentation as it does not mention anything such.
- Is roll-back for DDL statement supported only when DDL statement itself fails, and the DB level transaction in which it ran is rolled back, and not the explicit transaction I used in application layer?