One can still complain about mysqls dumb defaults.
https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.ht...
"Hey, let's just not act transactional on a timeout by default"
https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.ht...
"Hey, let's just not act transactional on a timeout by default"
This setting applies to lock-wait timeouts. The default value allows applications to decide on the correct course of action: either re-try just the statement that timed out (without having to re-do the previous parts of the transaction), or rollback the transaction.
The application still receives an error on the timeout regardless of this setting. The database doesn't automatically commit the previous statements in the transaction regardless of this setting.