1 Commits
Author SHA1 Message Date
Thomas Vincent cb5ef7ba4a fix: commit transactions on MySQL as well as MariaDB (#7928)
* fix: commit transactions on MySQL as well as MariaDB

db_commit_transaction() gated the commit on SELECT @@in_transaction. That
variable is MariaDB only; MySQL answers 'Unknown system variable
in_transaction', so the guard was false on every MySQL install and the commit
never ran. The transaction was left open and the function reported failure.

Verified against both engines: MariaDB returns 0, MySQL 8 raises ERROR 1193.

Every caller was affected, including device removal, which reports 'Unable to
remove Device N because its database transaction could not be committed' and
leaves the device in place.

Use PDO::inTransaction(), which tracks the state itself and answers the same
question on both engines.

Signed-off-by: Thomas Vincent <thomasvincent@gmail.com>

* Update transaction regression assertion

Signed-off-by: Thomas Vincent <thomasvincent@gmail.com>

---------

Signed-off-by: Thomas Vincent <thomasvincent@gmail.com>
2026-09-02 16:54:17 -07:00